Founded in 1997, HTC Corporation (HTC) is the creator of many award-winning mobile devices and industry firsts. By putting people at the center of everything it does, HTC pushes the boundaries of design and technology to create innovative and personal experiences for consumers around the globe. HTC's portfolio includes smartphones and tablets powered by the HTC Sense® user experience. HTC is listed on the Taiwan Stock Exchange (TWSE: 2498). HTC is focused on delivering innovative services through its Connected Services Division, which builds and manages services for its phones. HTC’s Connected Services Division is based in Seattle, WA and Taipei, Taiwan.
The Connected Services Division (CS) creates services that enhance the value of HTC phones via the connected experience to the cloud. Some of the services created by CS include BlinkFeed, a news aggregation service; HTC Share, a photo-sharing application; HTC Get Started, a personalize phone setup experience; and HTC Backup, a phone backup service.
In order to get services onto the new HTC phones, CS must be agile enough to go from planning a service to developing and deploying it within a relatively short time frame, including procuring and deploying whatever hardware is required to host the service. The division also needed to be prepared for demand to surge without notice, depending on a service’s popularity. “We don’t always know how popular each new service will be with our customers,” says James Pratt, Senior Director and Head of Connected Services. “Different services grow at different rates.”
With a rapid release cycle and unpredictable consumer response, CS needed a way to quickly provision additional capacity. “We run a pretty lean operation, and we were handling this ourselves,” Pratt says. “But there comes a time when you have to decide whether someone else could do it better and more efficiently.” The division decided to look to external solutions. “We needed a provider who would understand what it takes to run a worldwide, customer-facing enterprise in the cloud,” Pratt says. “We needed the flexibility to grow and shrink our services business quickly, and we needed technical experts who could handle anything we could throw at them.”
CS decided that Amazon Web Services (AWS) offered the breadth and depth of services required, and came with the support services the division needed in order to be successful. “We couldn’t beat AWS for efficiency and scale,” Pratt says. “AWS frees us from having to do infrastructure planning on shifting sands every six months. We’re a worldwide company, and AWS is a good fit for handling world-wide deployments. And AWS understands what it’s like to handle big business on the cloud.”
CS began using AWS internally, using it for a data collection and analysis service to measure the adoption of CS services. The program was initially deployed on the existing hardware-based CS infrastructure, but once the division experienced the elasticity of AWS, CS moved its infrastructure to the AWS Cloud.
Now, CS uses AWS in a number of different ways: hosting its services in regions around the world, running its user authentication service, and managing configuration for more than 30 million HTC devices worldwide. CS also uses AWS to enable some of its mobile services, as follows.
- HTC Share, HTC’s image and video mash-up and sharing service. CS uses Amazon DynamoDB to manage user data, and Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2) to store and move terabytes of customer data every day, wherever the customer is located. It also uses Amazon CloudFront to improve the customer content viewing experience.
- HTC Backup, a phone backup service. CS uses Amazon EC2 and Amazon S3 to manage the customer backups.
- HTC Get Started, a personalized phone setup service. CS uses Amazon EC2 to host the personalized phone setup web portal.
- BlinkFeed, a news aggregation service. CS uses Amazon EC2 to deliver the news content to millions of HTC devices every day.
CS also uses Amazon Virtual Private Cloud (Amazon VPC), Elastic Block Store (EBS), Amazon Simple Notification Service (Amazon SNS), Amazon Simple Email Service (Amazon SES), Amazon Route 53 DNS Service, Elastic Load Balancing, Amazon CloudWatch Service for monitoring, and AWS CloudTrail for audit purposes. The division uses multiple Availability Zones as well, in North America, Europe, and Asia. The HTC architecture is illustrated below.
For those who are just starting out with AWS, Pratt recommends thoughtful use of capacity. “It’s very easy to treat AWS like you’d treat a physical data center, and say you’re going to deploy your service in AWS for n million users,” Pratt says. “But if you do that, you’re going to have capacity that is underutilized. The beauty of AWS is that as your business scales up, your capacity can scale up. So think carefully about how you deploy with the AWS Cloud in mind. Make small, redundant deployments and plan to scale up as your customer base grows over time.”
Using AWS has enabled CS to be more flexible and agile, even with tight release cycles. “We have several windows a year where it made good business sense to ship new services on HTC devices,” Pratt says. “If we missed those windows, that’s bad for our business. That’s where AWS comes in. AWS is so elastic that we can wait until a month before we ship a service to make capacity choices. That way, we have more time to innovate.”
Time to market has improved at CS, as well. “We couldn’t have shipped HTC Share Service nearly as quickly as we did without using AWS,” Pratt says. “Using AWS helps our developers to be more creative and to spend less time on infrastructure—it gives them a solid, predictable base layer that they don’t have to worry about.”
Auto Scaling and AWS CloudFormation also help the CS team with capacity management. To react quickly to the rapid user growth in HTC Share Service, CS set up the Auto Scaling mechanism so that Amazon EC2 has the capacity to process photos/videos can be scale up and down automatically while still providing high quality service to end users.
CS also leverages AWS Enterprise Support to make sure its multiple AWS deployments go well. “AWS Enterprise Support understands our business and our goals—the Technical Account Manager (TAM) and AWS Support team do a great job of keeping us abreast of what changes to expect,” Pratt says. “They’ve helped us with everything from designing an AWS-friendly architecture support for our backup service to troubleshooting why an instance doesn’t operate the way we expect it to.”
Being able to deploy in Availability Zones across the world has also helped HTC provide a good customer experience, reducing latency for customers and improving availability. “HTC is a global company, and we have relationships with more than 100 enterprises worldwide,” Pratt says. “We can put deployments close to many of our customers, which reduces latency and gives them a good experience.”
“As a worldwide company, we need to be able to deliver excellent, always-on service to users everywhere,” Pratt concludes. “AWS helps us do that.”
To learn more about how AWS can help you deliver mobile apps, visit our Mobile Applications details page: http://aws.amazon.com/mobile-apps/.