AWS BASICS: 8 SERVICES EVERYONE WORKING WITH AWS SHOULD LEARN
Petar Nikov
Entrepreneur, Founder & CEO at Cloud Solutions ?? Your Trusted ?????? ?????????? & ???????????? Partner ?? Consulting & Managed Services ??
This is the first installment in our AWS Basics series.
In it, I’ll cover fundamental AWS concepts and services.
Today, we’re starting at the very beginning.
Pretty much all AWS customers use the 8 services I’ve listed below. You can’t go wrong with learning each one in detail.
Let’s get started.
ELASTIC COMPUTE CLOUD (EC2)
This is AWS’s bread and butter.
It’s the service that everyone uses and that generates the most money for the cloud giant.
EC2 allows you to spin up virtual machines (VMs) in the cloud. These VMs are called instances and can run all types of software.
If you’re just dipping your toes into the ocean of services that is AWS, this is the place to start.
Now, there are tons of instances to choose from. They fall into 5 categories:
- General Purpose
- Compute Optimized
- Storage Optimized
- Memory Optimized
- Accelerated Computing Instances
There’s no better or worse category. Each has its strengths and weaknesses.
Regardless of your case, EC2 is the service you want to be most familiar with.
Pricing Model: Pay-as-you-go or prepay to get a discount
Learn more: A great intro tutorial on how to launch an EC2 instance
SIMPLE STORAGE SERVICE (S3)
This is another extremely popular service.
S3 is used to store objects. That’s pretty much the simplest explanation.
Of course, there are also tons of features for managing the resources you store.
But most importantly, S3 offers different tiers you can put resources in.
For example, the Standard tier is great for storing frequently accessed data. On the flipside, Glacier is a very cheap solution for archiving data.
If you aren’t sure how often you’ll access the resources, there’s also the Intelligent-Tiering option. It automatically moves data between two tiers – one for frequent and one for infrequent access. It’s designed to optimize storage costs.
Pricing Model: Pay-as-you-go, based on objects stored in S3, number of requests and data transfer
Learn more: The S3 storage classes in detail
RELATIONAL DATABASE SERVICE (RDS)
This service allows you to set up and use a relational database in the cloud.
RDS takes care of A LOT of manual tasks like backups, recovery and patching. These take up tons of time and can be very annoying. Avoiding them is a huge plus, especially for developers.
RDS is also available on different instance types. You can choose between General Purpose and Memory Optimized instances.
As far as DB engines go, you have six options:
- Amazon Aurora
- PostgreSQL
- MySQL
- MariaDB
- Oracle Database
- SQL Server
Finally, you can control the access to these DBs with AWS Identity & Access Management (IAM). But IAM is a topic for another article.
Pricing Model: Pay-as-you-go
Learn more: Create and connect to a MySQL DB with RDS
VIRTUAL PRIVATE CLOUD (VPC)
VPC is one of the most important concepts in cloud computing
You can think of it as your own network in AWS. In that network, you can launch resources like EC2 instances.
You also define the network and set the rules.
For example, you can set up public subnets for applications that need access to the internet and private subnets for databases, application servers, etc.
Again, this is a crucial concept. Learn it as soon as you start using the cloud.
Pricing Model: Pay-as-you-go
Learn more: A beginner-friendly tutorial on VPCs and Subnets
LAMBDA
Lambda is one of the most popular cloud services right now.
It’s a part of the serverless trend that’s taken over the dev world in the last few years.
Here’s what it does:
You provide some code and Lambda executes it when certain conditions are met. For example, when a user clicks on a button or at a specific point in the day.
The main benefit of this approach is that you run code without worrying about servers. Lambda takes care of everything under the hood.
You can use it to bridge together multiple AWS services, such as S3, API Gateway and SNS.
Being so versatile, Lambda opens a world of possibilities.
But be warned:
You shouldn’t use the serverless model for everything. Just because something is hot right now doesn’t mean it’s right for every workload.
Pricing Model: Pay-as-you-go, based on the number of requests and the time it takes for your code to execute
Learn more: AWS Lambda Monitoring 101
CLOUDFRONT
CloudFront is AWS’s content delivery network (CDN) service.
It’s integrated with tons of other services as well as the global AWS infrastructure.
You can use it to deliver data all across the world. It has over 220 points of presence, making it one of the largest CDNs in the world.
Pricing Model: Pay-as-you-go
Learn more: Amazon S3 + Amazon CloudFront: A Match Made in the Cloud
CLOUDFORMATION
CloudFormation is AWS’s Infrastructure as code (IaC) solution.
It simplifies the process of creating and managing your AWS resources (infra). With CloudFormation, you skip the time-consuming task of spinning up resources one by one.
Here’s how:
You create a template or choose from a list of premade templates. These are just JSON or YAML files that contain a blueprint for all the resources you want in the infra. This collection of resources is called a stack.
After that, you give the template to CloudFormation and it does the rest.
You can also check your templates into version control, which is another huge time saver.
Pricing Model: There’s no additional charge for using this service to spin up AWS resources. You only pay for the resources in the provisioned stack.
Learn more: The Complete CloudFormation Guide
ELASTIC BEANSTALK
Elastic Beanstalk is a service that deploys, manages and scales web apps for you.
It allows you to focus on coding your application without managing servers and all the other accidental sysadmin tasks that devs end up doing.
In that regard, it’s pretty similar to Lambda.
However, with Elastic Beanstalk, you can manage resources (like EC2 instances) and have full control over their environment. This allows you to create multiple environments for your app that run on separate servers.
In that sense, Elastic Beanstalk is more complex than Lambda. At the same time, it offers more opportunities for different use cases.
Pricing Model: There’s no additional charge for using this service. You only pay for the resources used to store and run the application.
Learn more: Deploying a Laravel App via Elastic Beanstalk
FINAL THOUGHTS
Now, there are also lots of other important AWS services. For example:
I’ll talk about those in the coming weeks. If you want to dive in right now, I suggest looking at IAM and Route 53.
In our next AWS Basics article, I’ll cover the most essential security services. Stay tuned and follow our blog!