-
How to choose the right AWS tools for your startup
Have you ever been confused by which AWS tool to use for your startup? AWS currently has more than 100 services listed on its platform across 20 categories. As Amazon continues adding new services to its platform at an incredible rate, it is becoming impossible, especially for startups and engineers to know which AWS service they should be using.
In this article I’ll breakdown the evolution of a startup into three stages and talk about which AWS tools in particular are useful in each of these stages. This article should give you a good mental model for choosing between various AWS tools. The different stages we are going to talking about are:
-
AWS Fargate Deep Dive: What it is, when to use it and comparison with AWS Lambda and ECS
Introduction
AWS Fargate was launched in late 2017. It lets users build and deploy containerized applications without having to manage the underlying infrastructure themselves. Cluster management (tasks like managing EC2 instances, autoscaling policies amongst others) can be operationally challenging and adds a lot of friction for developers who want to be able to deploy their applications as quickly as possible without having to worry about the operational overhead.
-
AWS EC2 Instance Comparison: M5 vs R5 vs C5
AWS has a lot of different instance types and it can be difficult to decide which instance type would be the best for a particular use-case. In this article, we will compare three of the most popular instance types (M5, R5 and C5) AWS offers across various dimensions such as their specs, their performance as well the cost.
-
AWS EC2 Instance Comparison: C5d vs C5n
Amazon’s compute-intensive C5 instance family has multiple instance types which can make it difficult to choose the right instance type for your use-case.
In this post, we will look at the differences between the C5, C5d and C5n instance types.
-
Introduction to AWS Fargate: How to build and deploy a web application using Docker and Python
Introduction
AWS recently launched Fargate which lets users build and deploy containerized applications without having to manage the underlying servers themselves. Previously, if you wanted to deploy a container on AWS, you would have to first provision a cluster and then deploy your container onto that cluster. This can add a lot of friction as a lot of developers want to be able to deploy their applications as quickly as possible without worrying about the underlying infrastructure.
Fargate makes deploying your containerized applications pretty easy and straightforward.
In this tutorial, we will create a Python web application using Flask and deploy it using Fargate.
If you are interested in learning about how Fargate works internally and how it compares to other AWS services, check out our new blog post here.
Prerequisites
-
virtualenv: Virtualenv is a tool to create isolated python environments. We will be using it to create an isolated environment for our application. Instructions for installation are available here.
-
Docker: We will be using Docker to containerize our python application. More information about Docker is available here.
-
News API: Since we will be building a simple news aggregator application, we need an API from where we can get the data. News API has a free developer tier which you can sign up for and get an API key. You can sign up by visiting this link.
-