Millions of people worldwide use FitNow's Lose It! app to track calorie intake and exercise output. Inspired by the in-person meeting concept behind Weight Watchers, Teague decided to create a social website where users of the iPhone app could share stories and support one another online. "Many scientific studies show that weight loss starts by keeping track of what you're eating and when you're exercising, and step two is finding a social peer support mechanism,” said Teague, co-founder and CEO of Boston-based FitNow.
The PaaS cloud players
"It came down to how we could get as much mileage out of me as possible," he said. "Putting our infrastructure on PaaS, right away it gave us a lot of leverage. The last thing I wanted to try to do was set up servers and go to a colocation space to mess around with my [server] rack."
The company had some initial seed funding from Cambridge, Mass.-based investment firm General Catalyst Partners, but it wasn't enough to set up an entire infrastructure. Amazon Elastic Cloud Computing -- or EC2 -- allowed Teague to buy servers on-demand.
"This website could be wildly successful, or not. We had no idea if we would need three servers or 50 on the day it launched."
Weight loss is a seasonal business that tends to wane around the holidays and pick up in the New Year. That fluctuation was also covered by Amazon's on-demand PaaS model.
The Amazon cloud computing platform does the heavy lifting in terms of the site's infrastructure. The environment processes 15,000 to 20,000 requests per minute for Web page loads and 3,000 to 5,000 write requests per minute. Amazon Simple Queue Service handles workflows, while Amazon Simple Storage Service takes care of file storage.
PaaS partners in success
CloudBees Inc. is the first and last line of defense when something goes wrong with Amazon, or in general with the Lose It! Web service. "They are the ones who wear the beepers so I don't have to," Teague said. When Amazon had its Elastic Block Store outage, CloudBees noticed that "something was off" and alerted Teague. "They did the grimy work so that we failed over to other block stores to get us back up in three hours. It is a good example of the hidden leverage of working with a PaaS provider that sits between you and Amazon," he said.
This website could be wildly successful, or not. We had no idea if we would need three servers or 50 on the day it launched.
Charles Teague, CEO, FitNow Inc.
CloudBees' application runtime and development service is running on top of the website's Amazon infrastructure, giving Teague the ability to deploy Java apps. CloudBees builds, tests and verifies application or feature builds, and then pushes those builds live to production on Amazon.
"If I had rolled this stuff myself in my spare time, I probably would have had to make tradeoffs," he said. "For example, I probably wouldn't have had block stores in different isolation zones like CloudBees did for us, thinking that there would never be a block store problem."
Teague also relies on other front-line cloud computing players such as New Relic Inc. to keep track of server performance -- including deep dives into how long it takes to process a request from a user and why that request is slow. Then Pingdom pings servers around the world and tells Teague whether or not the Lose It! URL is up or down, if user requests are getting through and pinpoints areas where requests are failing.
While Teague hasn't crunched the numbers, he has avoided hiring a full-time systems admin to support what would be equivalent to 25 in-house servers.
With the infrastructure load off his shoulders, other burdens take their place. "A simple view of the cloud is a dangerous one," Teague said. "It shouldn't be viewed as a simple service that has a switch that you can flip to scale up and down. Be aware that these black box machines in the cloud, serving your users, are low-performance machines, and you have to architect your database and application servers and your application to account for that."
Let us know what you think about the story; email Christina Torode, News Director.