Why Your Minimum Viable Product Must Scale

AWS Startups
Jan 26, 2016 · 6 min read

As a startup, you have limited time to visualize concepts, test assumptions, gauge demand, and validate business models. A minimum viable product (MVP) is powerful because it helps you focus on fast iteration to discover the right combination of form and function required to achieve desired outcomes. The MVP is a first release to attract attention, build your brand, cultivate more frequent consumption, drive long-term demand, and enhance and deepen end-user engagement. In this post, we’ll discuss how scalable cloud services enable you to quickly iterate on your MVP to discover your formula for success, and then scale up for mainstream adoption as you continue adding features.

Experimentation and Iteration

As you review this feedback, you continually cull functionality that customers don’t want and improve popular features. As early adopter enthusiasm rises, it’s important to keep up the positive momentum by rounding out features your fans love and growing your fan base by expanding your offering to new users. Growth becomes a balancing act of keeping existing users happy and loyal with a steady stream of improvements while scaling the business model with additional audiences. This increases the load on your infrastructure. Once you’ve discovered the successful formula, there’s no time to go back and design a “production” version of the product to handle usage at scale. This is where cloud services can help.

Leveraging the Cloud

Consider Mapbox, a mapping platform for developers that makes it easy to add maps, search, directions, and custom, geo-coded data to web and mobile apps. Mapbox stores user-specific map metadata such as the default zoom level, map center point, layers, map tile locations, and other details in a NoSQL database. As the mapping startup grew in popularity, Mapbox managed three CouchDB clusters, each consisting of three to six nodes for redundancy and to reduce latency for global map requests. As the team took a step back to consider how to iterate more quickly and deliver new features, they realized that building and maintaining their own NoSQL service wasn’t delivering the additional value they wanted for their customers. They faced a choice: Should they continue managing their own NoSQL service or use that time to add new mapping functionality for their customers? The team ultimately decided to migrate its primary database to a managed NoSQL service so they could focus on the software that powers Mapbox. This past summer, Mapbox migrated to Amazon DynamoDB. Mapbox now serves over 200M global users.

The following illustration shows how the Mapbox API service uses AWS to minimize latency for map requests. Client requests are directed through Amazon Route 53 DNS to the nearest cache in Amazon CloudFront’s global network of edge locations. Latency-based routing is then used to direct requests to the closest AWS region where Elastic Load Balancing automatically distributes load across the application servers. Map and user information, zoom level, and additional details, such as where the map is centered, are retrieved from DynamoDB. The map is generated by applying visual overlays to Amazon S3 objects, then returned to the client. Amazon ElastiCache replicates data for even lower latency.

Image for post
Image for post
Figure 1 Mapbox API service architecture

The Importance of Responsive Design

In certain use cases, such as real-time bidding scenarios common in ad tech, gaming, and IoT, your backend code might need to deliver even faster responses, supported by a NoSQL database for latency in the single-digit millisecond range, even at scale. NoSQL services such as DynamoDB make it easy to scale up your app or service to meet demand. You simply modify the read and write capacity units that are needed.

“DynamoDB is simple to start using without much overhead. By the time you do need to start scaling out, you’re already familiar with many operational details around using DynamoDB. Instead of dealing with problems around how to manage data partitions across the underlying infrastructure, monitoring, and all associated potential headaches, you can focus on your database design, and ensure your application is actually achieving product and business goals.” — Ian Ward, Software Engineer, Mapbox

Develop Locally, then Launch Globally

Improving Time to Market

For example, imagine that your MVP displays a map of nearby landmarks, and you quickly discover that your users also want to see a map of recently viewed landmarks. Because API Gateway lets you simultaneously run multiple versions of the same API, you can easily publish an updated API, backed by new Lambda functions.

Continuing the mapping example, you’ll also need to store the previous landmarks, along with additional attributes such as the date/timestamp. NoSQL database services like DynamoDB let you store JSON documents, so you can adjust the set of attributes you store without altering your table structure. This dramatically accelerates your time to market. DynamoDB Streams unlock even more capabilities such as full-text search and just-in-time processing with DynamoDB Triggers, which are custom AWS Lambda functions executed in response to specific data changes in your DynamoDB tables.

What Will You Build and Scale?

AWS Startup Collection

For startups building on AWS.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store