Introducing Akka Cloud to Edge Continuum. Build once for the Cloud. Seamlessly deploy to the Edge - Read Blog
Support

Weight Watchers Accelerates Digital Transformation With Lightbend

How The Weight Loss Industry Leader’s New Class of Customer Services Are Being Driven by Microservices and Fast Data

 

In the early 1960's, Weight Watchers founder Jean Nidetch began inviting friends into her Queens home once a week, to discuss how best to lose weight. More than 50 years later, that group of friends has grown to millions of women and men around the world who rely on the Weight Watchers program to lose unwanted pounds and live a healthier lifestyle.

When people think of Weight Watchers today, the brand’s partnership with Oprah Winfrey is probably what first comes to mind, since the talkshow megastar purchased a stake in the company in 2015, becoming a board member, advisor and a member, and routinely promotes her experience following the Weight Watchers program. But what you might not know, if you aren’t already a Weight Watchers member, is that company has been on a major course of digital transformation over the last two years, re-inventing its more than 50-year-old business with technology and data-driven services that keep pushing the boundaries of how consumers use software to manage weight loss.

Competitive Dynamics

Weight Watchers is a prime example of how as “software eats the world” traditional businesses are forced to modernize with technology. Over the last decade, with the spawn of wearable devices and smartphones, countless thousands of consumer apps have been launched that tackle everything from weight loss to fitness data to food tracking. Consumers have become very savvy in the ways they use their phones to track diet and exercise, and analytics to measure their progress.

To remain a leader in the weight loss industry, Weight Watchers knew that it needed to not only deliver its proven weight loss program, but that it needed to be the leader in delivering apps and digital experiences. For more than 20 years the company had been slowly building out digital services to support its users, but competitive demands were accelerating the pace.

Weight Watchers had become a software company, where its competitive edge was staked on its ability to continuously ship new apps and functionality to attract new users and maintain its dedicated following.

But the Old .NET Monolith Was Dead Weight

As competitive pressures mounted, Weight Watchers had some extra weight of its own that it needed to address: its legacy .NET monolith. Through the years of software accumulation, the .NET monolith was becoming increasingly difficult to scale. And more concerning, the monolith was hamstringing the company’s ability to rapidly deploy new features to match the pace of its developers release cycles.

“We realized that the old way of doing business for us wasn’t going to work in the modern world,” said Michael Lysaght, CTO at Weight Watchers. “We made a commitment to modernize our stack to introduce new features faster, respond to customer feedback more quickly, and provide beta programs and testing with our members.”

Microservices and Lightbend Bring Developer Agility to Weight Watchers

In 2015, Weight Watchers embarked on a mission to modernize its software stack, to support the new realities of continuous development.

At the heart of its efforts were a new website and a new mobile app that allowed customers to track the food they eat, input weight and lifestyle information, and give Weight Watchers real-time data to crunch and re-calculate customized weight loss programs for each individual member. From user conveniences, like the ability to barcode scan food at the supermarket and track meals, to more holistic considerations around how Weight Watchers would ingest data from other user devices -- the replatforming vision was a core set of microservices that would simplify developer creation of new services without the drag of monolith dependency and scale concerns.

Weight Watchers today has created 12 different microservices -- all written in Scala using the Play Framework, and also making use of Akka, and built on top of the Cassandra database. Each microservice provides its own REST API to power aspects of client applications that allow customers to track food, enter data, and follow a calculated, customized weight loss program.

The Weight Watchers team favors Play Framework for its simplicity and performance - it doesn’t require a lot of detailed knowledge to understand how to use it, and as a mature framework it’s very easy to get up and running. This made it ideal for building out Weight Watchers REST APIs as a set of highly available microservices.

The Actor abstraction provided by Akka offered a simple way for Weight Watchers to handle slow operations like external HTTP calls or writes to the database in a non-blocking, concurrent manner. Actors make it very easy to perform concurrent operations in a way that avoids race-conditions, unnecessary thread-blocking and other common concurrency issues. Weight Watchers found Actors particularly useful for reading from/writing to Kinesis event streams.

What Weight Watchers Likes About ...

Scala

  • High Productivity - Simple concise syntax, rapid development, strong type system
  • Great with concurrency -because of immutability, Futures and Actors.
  • Java interoperability - allows re-use of Java libraries, JVM tooling, etc.

Play

  • Simple to use
  • Great for creating REST APIs
  • Highly performant in microservices and streaming data architectures

Akka

  • Powerful multi-threading capabilities
  • Concurrency abstractions well-suited for event streams
  • Capabilities to bulkhead code and scale without re-writes

Monitoring

  • Easy/fast to implement monitoring
  • Very useful for performance tuning of applications, identifying bottlenecks, etc.
  • Integrates well with visualization tools

Lightbend Support

  • Very responsive
  • Very helpful with deep knowledge of all aspects of the Lightbend stack
  • Great for general Scala advice

Results:  Weight Watchers’ Modernized Stack

 

Before

After

Time to release updates

Typically 3-4 hours, often requiring application downtime. < 20 minutes to release a service update with no downtime

Ability to scale

Scaling up is a very slow labour-intensive manual process, requiring cloning and customization of hardware, code deployments and testing. This typically takes days to implement. Can horizontally scale a service up or down in minutes as a fully automated process. Soon will be able to automatically scale up or down in response to demand.

Weight Watchers Today: A Hotbed for Developer Innovation, and a Great Culture for Scala Developers

Today with its microservices architecture, Weight Watchers has become a nimble development organization focused on expanding customer services based on real-time data and integration with various other devices. The company’s #1 engineering focus is its member experience, and building best-in-class applications with emerging frameworks. As of Q4 2016, Weight Watchers saw five consecutive quarters of recruitment growth, with 2.6 million end of period subscribers.

“We want to continue to use Fast Data to be very responsive to our customers,” said Nick Smith, Senior Engineering Manager at Weight Watchers. “We’re interested in all aspects of Fast Data - event streaming, data analytics, and real-time ingest. Lightbend Reactive Platform and our microservices architecture enable us to pursue these new opportunities to bring value to our members.”

Talk to an Expert

Tell us what you’re building, and we’ll
tell you how we can help.

Contact Us