DEV Community

Cover image for Learning AWS on your own? 10 services you need to know
Sean Ziegler
Sean Ziegler

Posted on • Originally published at seanjziegler.com

Learning AWS on your own? 10 services you need to know

As of January 2020, there are approximately 190 AWS services. Even if you study full time, that's a lot if you're trying to learn AWS on your own. Fortunately, you can build full-featured applications after learning a small set of the core AWS services. These core services will form the foundation of the vast majority of applications built on AWS.

Can you learn AWS on your own?

Yes, absolutely, you don't need any formal training or even an online course to learn AWS. How hard will it be? Well, that depends on your past experience in the IT / software industry. If you consider yourself a pro, you might not struggle very much. For IT beginners, AWS might not be the best starting point. Ultimately, it is possible to learn AWS on your own and you have to decide for yourself (based on your goals and experience) what path is best for you.

Study the most important AWS services first

Before you get caught up in the AWS machine learning section, consider getting a solid grasp of the fundamental services. It will make you a better engineer in the long run, I promise. I consider these the ten most important AWS services. Obviously, this is just my opinion. This list will change depending on who you ask and what they do in the cloud.

Start with this list and once you have a basic understanding of AWS, branch out to the services specific to your needs.

I highly recommend reading the Getting Started guide and FAQ for each service. After, research the key topics to deepen your understanding. If you can do that, you're well on your way to a solid AWS foundation and maybe even an entry level certification.

Amazon EC2 - (Elastic Cloud Compute)

Amazon EC2

What is EC2? | FAQ

Amazon EC2 provides virtual servers, called instances, in the cloud. These are the cloud replacement for server racks in a data center. You can provision as many instances as you need and only pay for what you use. EC2 instances are available on-demand and can automatically scale up or down depending on your needs.

Key topics to understand

  • Instance types
  • Regions & Availability zones
  • User-data
  • Instance store volumes (EBS)
  • Autoscaling & Scaling policies
  • Security groups
  • SSH keypairs
  • Public / Private / Elastic IPs

AWS IAM - (Identity and Access Management)

AWS IAM

What is IAM? | FAQ

AWS IAM allows you to restrict access to your cloud resources. With IAM, you can specify exactly who (or what) can interact with each of your AWS resources. IAM enables you to give the right people access to the right areas of your AWS account and enforce security policies as you see fit.

Key topics to understand

  • Users and groups
  • Service roles
  • Trust relationships
  • Identity federation
  • Managed and inline policies
  • Security tokens (STS)

Amazon S3 - (Simple Storage Service)

AWS S3

What is S3? | FAQ

S3 is low-cost highly scalable data storage for the cloud. S3 enables you to store your data in folders called buckets that are cost efficient, high performing, and reliable. You can upload and retrieve objects via the AWS SDK, CLI, or management interface. S3 is one of AWS's oldest and most popular services because it is so versatile.

Key topics to understand

  • Storage classes and retrieval times
  • Lifecycle mangement
  • Multi-part uploads
  • Data consistency model
  • Cross region replication
  • CORS
  • Static website hosting
  • Pre-signed URLs

Amazon RDS - (Relational Database Service)

Amazon RDS

What is RDS? | FAQ

RDS provides databases in the cloud. RDS supports most of the major database engines and can scale up or down depending on the load. It automates many of the common tasks associated with database management such as software patching, backups, and recovery. RDS is a transactional database, in contrast DynamoDB is Amazon's serverless NoSQL offering.

Key topics to understand

  • Database engine options
  • Database instance types
  • Multi-AZ deployments
  • Read replicas
  • Auto-scaling
  • Encryption options
  • Backups and restores

Amazon Route53

Amazon Route 53

What is Route53? | FAQ

Route53 manages DNS within the AWS ecosystem. Route53 serves three major functions: registering domains, DNS routing, and health checking. It is highly available by default and can support high traffic out of the box. You can use any DNS registrar with AWS, but there are some advantages to staying within the AWS eco-system (health checks and alias records to name a few).

Key topics to understand

  • Domain concepts - domain name, registrars, TLDs
  • DNS record types
  • Health checks
  • Routing policies
  • DNS failover

Amazon ELB - (Elastic Load Balancer)

Amazon ELB

What is ELB? | FAQ

ELB provides load balancers which distribute incoming traffic across multiple resources inside of AWS, like EC2 servers or ECS nodes. If your traffic is too much for one server or you want to make your application highly available, you need a load balancer. ELB increases your applications reliability by handling SSL, health checks, and traffic routing so your application servers can focus on their primary task.

Key topics to understand

  • Health checks
  • Stickiness
  • CLB vs. NLB vs. ALB
  • Cross AZ load balancing
  • Connection draining
  • SSL Certificates

Amazon CloudFront

Amazon CloudFront

What is CloudFront? | FAQ

CloudFront is Amazon's CDN offering. CloudFront serves static files like HTML, CSS, JS, and images through a worldwide network of edge locations. Using CloudFront edge locations serves your website's static assets from locations that are physically closer to the user. CloudFront adds speed and reliability while reducing costs and taking some work off more expensive compute resources.

Key topics to understand

  • Edge locations
  • Origins
  • Signed URLs
  • CORS
  • Origin Access Identities

Amazon VPC - (Virtual Private Cloud)

Amazon VPC

What is Amazon VPC? | FAQ

VPCs are a tricky topic. With a VPC, you can define the network that your resources use to communicate. Strictly, a VPC is not a service, but it's something that you need to understand because it forms the backbone of networking in AWS. VPCs form the backbone of AWS solutions and can even link-up on-premises and cloud resources.

Key topics to understand

  • Public vs. private IPs
  • Subnets
  • Route tables
  • Access control lists and security groups
  • Internet & NAT gateways
  • VPC Peering
  • VPC Endpoints

AWS Lambda

AWS Lambda

What is AWS Lambda? | FAQ

AWS Lambda is one of my favorite AWS services. Lambda functions are small functions that only run while they are being executed. Lambda functions are serverless and scale easily, which means you only pay for what you use and can handle heavy traffic out of the box. If no one is using your website or application, you don't pay.

Key topics to understand

  • Supported runtimes
  • Function execution limits
  • Triggers and integrations
  • Lambda@Edge

Amazon API Gateway

API Gateway

What is API Gateway? | FAQ

Amazon designed API Gateway for building APIs at scale. API Gateway enables you to build APIs that directly return responses or act as a proxy for other AWS services. API Gateway includes features for managing API caching, API keys and usage plans, request / response transformation and much more. Serverless applications commonly rely on an API gateway proxying requests to an array of Lambda functions.

Key topics to understand

  • REST vs. HTTP APIs
  • Resources and methods
  • Triggers and integrations
  • Stages, versioning, and deployments
  • API keys and usage plans
  • Lambda custom authentication

Bonus: AWS CLI and SDK

Usually, people start learning AWS using the console, but you'll quickly realize you also need a method of interacting with the services through code and the command line. Many amateurs who learn AWS on their own work solely with the web interface, but most professionals primarily use the CLI. I encourage you to research the AWS CLI and the AWS SDK that corresponds to the language you're most comfortable with.

AWS CLI

What is the AWS CLI? | CLI Reference

The AWS CLI (Command Line Interface) is exactly what it sounds like. Instead of clicking buttons on a GUI in a web browser, you can install the AWS CLI and manage all your AWS resources from a terminal. Many professionals prefer the AWS CLI because it is more powerful, and personally, I agree with them.

AWS SDK

The AWS SDKs (Software Development Kits) are Amazon's solution for interacting with AWS resources inside of code. If you want to store images in S3 with a Python script, you'll need the Python SDK. Similarly, if you want to store records in an RDS database with PHP, you'd need the PHP SDK. I suggest getting familiar with at least one of these, you'll probably be needing it.

  • C++
  • Go
  • Java
  • JavaScript
  • .NET
  • Node.js
  • PHP
  • Python
  • Ruby

Where to go next

After you've learned the first 10 services, where do you go next? You should decide what you want to build and focus on the services that will enable you to do that. Learning an AWS specialty on your own can take your career to an even higher level.

Serverless

  • Lambda
  • Step Functions
  • SQS
  • SNS

DevOps

  • CloudPipeline
  • CloudFormation
  • ECS
  • EKS

Monitoring and administration

  • CloudWatch
  • CloudTrail
  • Systems Manager

Data workloads

  • Athena
  • EMR
  • Kinesis
  • Elastic search

Machine learning

  • Sagemaker
  • Lex
  • Polly
  • Textract
  • Transcribe

Hopefully, this article helped you decide where to start learning AWS. Learning AWS on your own can be a very challenging task, but I promise it's well worth it!

Top comments (4)

Collapse
 
cloudyali profile image
CloudYali - Single source of truth for AWS cloud!

Good article.
The most essential service to deeply learn is IAM. It is an essential fabric for the cloud. You may read more at: cloudyali.io/blogs/the-absolute-mi...

Collapse
 
stevezieglerva profile image
Steve Ziegler

Good article. Even better first initial and last name. 😀

Collapse
 
alcabeza profile image
Arnaud A.

Hello. Good article. A note, AWS Lambda is named twice.

Collapse
 
tekdvc profile image
TEK • Edited

That great!, It gives me an overview of these AWS services.