A Startup’s Guide to AWS Services Series 6: Choosing an Architecture
As a founder building to MVP on AWS, knowing where to begin can feel overwhelming. What services do you need? How do you start building with best practices in mind? This series is your guide to getting started on AWS, from account setup and security best practices, to choosing an operational model and database selection. Come explore the AWS cloud environment with us.
Choosing the Right Architecture
Compute options: The first decision made by startup founders and developers radiates out to affect all aspects of the business. Rather than imposing limits on what can be designed, built, or deployed, Principal Startup Solutions Architect Igor Geyfman explains that a single system can incorporate different compute options. On this model, each aspect of the system is designed with a view toward “performance and scalability, the level of maintenance required, and the cost.”
Choosing the Right Architecture, the sixth installment of The Startup Guide to AWS Services video series, covers AWS compute models and the advantages of serverless architecture. While outlining the various operational models, Geyfman identifies which tasks AWS manages and which are up to the startup. Serverless architecture is mainstream now, Geyfman points out. The AWS models are arranged on a scale from those requiring the least user involvement to those requiring the most, providing more flexibility. As your startup grows, its needs might change. “We always suggest you start with AWS Lambda, because you’ll manage as little as possible,” says Geyfman.
AWS Lambda offers serverless functions, data source integration, physical hardware, software, networking, and more. Here, the startup writes the application code, and AWS manages the rest, potentially speeding up the time to market and supporting innovation.
If the Lambda service seems too limited, the next level would be AWS Fargate, a serverless container service. While AWS orchestrates the containers, among other tasks, the startup’s responsibilities include data source integration, security, and management.
As your startup progresses, you may want to assume more control, taking on additional responsibilities and direct costs. If so, Geyfman suggests using Amazon Elastic Container Service or Amazon Elastic Kubernetes Service, which are instances of container management as a service.
For even more control, startups can run an application directly on Amazon Elastic Cloud Computer (Amazon EC2), which offers infrastructure as a service, with the highest level of management by the startup. Here, a startup would deploy and run an application directly on EC2 compute instances. AWS is responsible for physical hardware, software, networking, and facilities, while the startup is in charge of everything else: from writing the application code to scaling and management tasks.
Along with the range of operational models, Geyfman explains that “there are serverless services at all layers of the stack.” Starting with the serverless compute layer, he moves on to discuss serverless data stores, such as Amazon Simple Storage Service, and serverless integration services, from Amazon EventBridge to AWS AppSync. These, he explains, allow you to “connect your microservices and applications, as well as integrate with external systems.”
The ideal architecture for your startup may change substantially over time. AWS helps you to hit the ground running, then adapt as needed, taking on more hands-on management as you progress through the range of serverless architecture options.