About Speed 3D
Speed 3D’s mission is to help consumers harness the power of 3D modeling using simple applications that leverage mobile and cloud technologies. The company was founded in Taipei in 2014 and its first venture is a mobile application called Insta3D that allows users to convert self-portraits into detailed 3D avatars. Insta3D includes hundreds of pre-modeled clothing and accessory items that customers can then purchase within the app and add to their avatars. Thanks to a partnership with Japanese 3D printing company iJet and consumer 3D printing marketplace Shapeways, Speed 3D users can also have their virtual avatars printed into physical statues. Speed 3D currently employs 10 people at its Taiwan office and supports more than 1 million mobile users worldwide.
When Speed 3D was established in early 2014, cofounder and CEO Marvin Chiu decided that the company’s first few months would be dedicated to brainstorming and development. “3D modelling is very versatile and we wanted a product that would demonstrate its potential without overwhelming users,” Chiu says. “More importantly, we wanted a mobile app that would be fun–that’s what it’s really all about.” The mobile startup market is characterized by rapid development, fierce competition, and, often, very tight budgets. To distinguish itself from the others, Speed 3D needed to produce its app quickly and focus on providing a smooth and engaging customer experience, all while minimizing expenditure. Initially, it relied on a third-party platform to support its development and production platforms. However, when it launched Insta3D in June 2014, access to the system was frequently interrupted by service outages and latency issues. “We had customers from all corners of the world trying to access our servers and the delays that resulted were frustrating for them and for us,” says Chiu. “We needed to reduce processing times considerably to meet our performance goals.”
Developers within the company were also frustrated by problems arising from their Linux-platform being incompatible with the existing third-party environment. “In the long term, we wanted to develop new apps using platforms like Docker,” says Chiu. “Simply put, we weren’t confident that our existing architecture would provide the scalability and flexibility that we needed to succeed.”
Why Amazon Web Services
Having used AWS for one of his previous startups, Chief Technology Officer James Sa was confident that AWS and Amazon Elastic Compute Cloud (EC2) could also help Speed 3D. “For us, the main attraction of Amazon Web Services (AWS) was its scalability,” he says. “Our mobile app needed to be accessible across multiple regions without compromising our processing speed. We found that the performance capacity and availability of EC2 aligned well with our needs and gave us confidence in moving forward with using AWS.”
To minimize service interruptions, Speed 3D migrated to AWS in two stages. First, developers spent one week transitioning the company’s Linux-based server to the AWS Cloud. In its second stage, it migrated the algorithms that supports its mobile application, a process that took about a month. “The migration was very straightforward, which saved us a lot of time,” says Sa. “Thanks to the AWS integration with Ansible, a Python-based deployment program, we were eventually able to deploy new servers in less than one minute.”
Speed 3D leverages several AWS services to store and render its users’ pictures into 3D avatars. First, a user’s self-portrait, typically generated from a mobile phone, is transferred into Elastic Load Balancing (ELB) as a temporary file. ELB then determines the best Amazon EC2 instance type required to process the images depending on its size and current workload. Each Amazon EC2 instance hosts 10 clustering algorithms used to convert a 2D photo into a dynamic 3D avatar. When an avatar has been generated, it is transferred to an Amazon Simple Storage Service (S3) bucket and pushed back to the user’s mobile phone by using Amazon Route 53. A second S3 bucket contains 1 GB of 3D-modeled clothing and accessory files. Speed 3D also uses AWS Elastic Beanstalk to manage and deploy its applications built on AWS, Amazon Relational Database Service (Amazon RDS) for MySQL to manage databases of proprietary and consumer information, and Amazon Simple Email Service (Amazon SES) to notify its users when their avatars have been ordered and rendered.
“The comprehensive AWS service offering gives it a competitive edge over other cloud providers,” says Sa. “We knew that by choosing AWS, we would have all the performance and scalability features we needed to rapidly develop and deploy our applications.”
Figure 1. Speed3D Insta3D mobile application architecture on AWS.
According to Chiu, using AWS provided immediate benefits by freeing him and his team from any concerns about performance issues. Chiu is clear that performance was more important to him than cost-effectiveness when selecting a cloud provider. Nevertheless, he considers the pricing consistency of AWS to be one of its most attractive features. “Given AWS’s transparent pricing structure, we know we’re always getting a great value for our money,” he says. “Since launching our app with AWS, we haven’t had to spend any money on server upgrades or maintenance.” More importantly, using AWS has helped the company’s developers achieve their goal of overcoming latency issues. “Since moving to AWS, we’ve had near 100% uptime,” says Sa. “We can now develop upgrades in the cloud and push them to mobile phones without impacting customers at all.” The key to this process is Speed 3D’s adoption of AWS Elastic Beanstalk. The service provisions, operates, and scales its IT infrastructure which allows Speed 3D engineers to focus on writing code for its application instead of managing servers and databases. The company is also using AWS Elastic Beanstalk to run Docker, an open-source container virtualization platform that enables Speed 3D developers to seamlessly deploy applications from development into production.
Chiu reports that Speed 3D’s operating speed has increased significantly since it embraced its AWS solution. Previously, it took approximately 10 seconds for a 20 MB 2D image to be converted to a 300 MB 3D model in the cloud. “With AWS, we’re able to turn our customers’ photos into 3D models in less than five seconds,” says Chiu. At the same time, the number of Insta3D users has grown from a few hundred to more than a million. By using AWS and as a result of this rapid expansion, Speed 3D has been able to support and render more than one million digital assets, equivalent to 5 TB of data, without finding it necessary to access support from AWS or a third-party provider.
In 2014, Speed 3D announced a new partnership with iJet, a Japanese firm that offers Insta3D customers the opportunity to have their 3D avatars printed as physical statues. “It’s an exciting new venture,” says Chiu. “And, of course, it was easy to write the codes that send the 3D models to Japan for printing by using AWS.”
“We’ve been completely freed from worries about development and deployment times,” Chiu says. “With AWS, it’s now possible for us to create new products and attract new users without having to think twice about the consequences for our IT infrastructure. I can’t imagine where we’d be without AWS.”