The Best AWS Stack To Use In 2020
There’s never been a better time to build on cloud infrastructure. However, there’s limitless ways to build an AWS stack, and you need to be aware of the newest services available.
The services, tools, and pricing available makes it easy for companies to create and migrate existing infrastructure to the cloud, but, A LOT of people misunderstand HOW to use AWS to get the best results for their application. Traditionally, the cloud has been a means to “rent servers” from a web dashboard.
Now, it’s SO MUCH MORE. Entire applications are built using cloud services that take the nuts and bolts out of building software and allow you to build using best practices with ease.
Our favorite platform to build on is Amazon Web Services (AWS). AWS is the leading cloud platform for a reason. It’s truly the most effective platform to build services on today, and FUTURE of AWS is serverless.
What is serverless?
Serverless is a compute model where the cloud provider is responsible for allocating resources and essentially runs functions in the cloud. This means that infrastructure management becomes MUCH simpler. It also makes it possible to scale to hundreds of thousands of users overnight.
Why go serverless?
- New AWS services are all pushing a serverless infrastructure. This allows you to use the latest technologies provided by AWS.
- It’s easier to mix multiple services together.
- Serverless is scalable – and usually more cost effective.
Typically, when we meet with new clients, they fall into one of two camps:
- They KNOW that AWS is a powerful platform, but they feel like it’s hurting their team more than helping.
- They are creating a new application, and want to know HOW to make the right infrastructure from day one.
If you fall into one of these two camps, you need to speak with an expert that can help you make the right decisions.
Ready to go serverless?
What architecture do we recommend?
We recommend an AWS stack that leverages server technologies and uses the tools that Amazon is investing in most right now. Amazon even uses many of these technologies to power their own platforms.
Cognito is a plug and play method of incorporating sign up and sign in to your application. It’s the best, most secure way to create an authentication mechanism and communicate with other AWS services right out of the box.
Lambda is Amazon’s serverless compute technology. It allows you to run functions in the cloud without having to worry about server management. It’s the easiest way to get a piece of code up and running, period.
API gateway allows you to mesh all of your tools together. It’s truly the glue of your AWS stack. Using API gateway, you can provide an interface to trigger lambda functions, or even make calls to your existing infrastructure. You can use API Gateway and cognito to create authorization on certain endpoints and properly secure your data.
DynamoDB is the fastest growing database technology. Dynamo is a highly scalable NoSQL database, and it requires little to no maintenance. Since it is a serverless technology, DynamoDB scales to meet the demand that your application places on it. DynamoDB is the preferred database in a modern AWS stack because of it’s scalability and simplicity.
Identity and Access Management (IAM)
IAM is Amazon’s service for granting privileges to users and securely maintain your applications. Proper usage of IAM is critical for preventing a breach. Learn more in our IAM best practices article.
CloudWatch allows you to monitor your infrastructure for issues that may arise. It’s very easy to customize CloudWatch and set up alerts when certain pieces of your infrastructure fail. You can also set up CloudWatch to trigger lambda functions when certain events occur. This allows you to trigger a powerful series of functions and makes code more manageable.
CodeDeploy allows you to properly configure code deployment to various environments automatically. With many pieces in an AWS stack, it’s important to be able to automatically deploy updates and keep your development team in sync. CodeDeploy is a critical piece of devops on AWS.
What does an AWS stack LOOK like?
When we work with a new client, we work to map out the specific architecture before we do any development, and we create an architecture diagram like you see below.
Ultimately, we can recommend this as a general stack, but you need to speak with an expert to make sure you’re making the right decisions based on your business.
Looking to leverage the power of