99designs is an online marketplace that connects companies or individuals who have design needs with designers who can provide those services for projects like logos, brochures, clothing, and packaging. Designers compete for work by responding to customer design briefs posted on the website; winners are rewarded with cash payments for their work. The San Francisco-based company currently operates in 21 countries.
When the company first launched its service it grew quickly, gaining popularity with designers and the companies needing their services, creating rapid year-over-year growth. 99designs responded by continually adding to its service offerings. But the combination of fast growth and constant innovation strained its hosted IT systems.
“We faced a number of infrastructure issues in our existing hosting facility that could not be solved without a large cash outlay and long-term, lock-in contract,” says Chief Technology Officer Lachlan Donald. “Even if we could justify the cost of a dedicated server solution, we had little confidence that the hardware provisioned for us would meet our requirements in the near future."
99designs needed to find a better hosting solution that could keep up with high levels of growth while keeping capital costs as low as possible.
99designs migrated to Amazon Web Services (AWS) with an application architecture comprised entirely of self-managed databases, application hosts, and heavy use of Amazon Simple Storage Service (Amazon S3) for storing a high volume of design assets, 100 TB or more.
As 99designs grew, its site architecture evolved to accommodate business processes—and to take advantage of new AWS offerings like the Amazon Relational Database Service (Amazon RDS), Amazon ElastiCache in-memory caching service, Elastic Load Balancing (ELB), and Amazon Simple Queue Service (Amazon SQS).
“AWS helped 99designs reduce the amount of infrastructure we need to manage directly,” says Donald. “The reduction of this operational burden was instantly demonstrative on the bottom line.”
The growth in both traffic and headcount led 99designs away from its prior application architecture. Production systems were restructured to mirror internal business units. Previously, all business units had shared a common codebase and production environment, which obscured any understanding of cost efficiencies available to the different products. By varying the functionality and hosted environments by business unit, the company can make informed cost/benefit tradeoffs tailored to the various units. Now 99designs uses individual accounts for each unit linked under the AWS Consolidated Billing feature to keep systems logically distinct and provide clearer cost accounting.
The cloud architecture established with AWS has allowed 99designs to scale to more than 1.6 million registered users serving 650 million dynamic application requests across the product suite, while also supporting microservices (a marketing email system and payment handling, for example). With exponential growth across all markets, 99designs currently receives two new design submissions every second, with more than 55 TB of design assets stored in Amazon S3.
To learn more about how AWS can help with your database and data warehouse needs, visit our database solutions detail page: http://aws.amazon.com/running_databases/.