Intro to AWS & Cloud Computing

Photo by C Dustin on Unsplash

Intro to AWS & Cloud Computing

For the next couple of months I’ve decided to focus on AWS and cloud computing. Seeing as AWS is the backbone of many DevOps tasks, getting a good grasp on the fundamentals will give me the tools I need to succeed in my position. As any engineer these days would, I turned to ChatGPT to build a curriculum for learning AWS and Cloud Computing. My prompt was essentially such that I positioned ChatGPT as a DevOps senior engineer helping me, a beginning DevOps engineer, learn about what AWS services are most crucial to the fundamentals of DevOps. I gave it a time constraint of learning all of the DevOps necessary AWS fundamentals within 30 days. Of course, this is really ambitious since AWS is so vast, so I’m going to be taking much more time than that.

But the first stop on this ChatGPT-guided mission is to learn the basics of cloud computing and the services that AWS offers. With these two components, I’ll be more capable of picking the correct tool for the job. I first dove into cloud computing to answer the following questions.

What is cloud computing anyway?

I have never stopped myself to ask that question. I knew generally what it meant and what it could do, but having asked this question I now have a much better understanding of what it truly is. I took a lot of my lessons from AWS directly since they do have some good documentation. In the case of learning what cloud computing is, I watched an AWS video about it. You can watch it here. AWS's definition of cloud computing is essentially that it is on demand computing services offered via the internet.

Why should I use cloud computing?

Cloud computing has taken the tech world by storm because it means companies no longer have to house and provision their own hardware. That’s now all outsourced to AWS and their cloud computing services so you can have all computing on demand via the internet. Because everything is via the internet, and since AWS has invested so much in cloud computing, scaling your application is much easier , it’s time saving since there are no manual steps with in person hardware, it’s more cost effective, and it makes testing much easier.

Why use AWS specifically?

To my knowledge, there are 3 companies that have a hold on the cloud computing space. They are AWS, Microsoft Azure, and Google Cloud Platform. AWS says they offer more cloud services than the competition, so I went with them. They also say they are the most broadly adopted cloud platform, which means the skills that I learn with AWS will transfer with me throughout my career since other companies are likely built on AWS. Again, AWS made a great video explaining what AWS is and why you should use it. You can watch it here.

What services should I learn?

When I asked ChatGPT to make me a curriculum, it highlighted the services that are most commonly used by a DevOps engineer. But before I dove into learning any of those, I wanted to get a better idea of most of the services offered by AWS. Fireship.io did a great breakdown of 50+ of the most commonly used AWS services. Watch the video here. I enjoyed how he broke down the various overarching tech that AWS covers such as computing, storage, databases, and data analytics. That video was very informative because it highlights use cases for what each service can provide to the engineer using them. The services that stood out to me the most as a DevOps engineer can be found below. I’ve broken them up by what component of cloud computing they are aiding with.

Compute

  • EC2

  • CloudWatch

  • Lambda

  • Container Registry

  • Container Service

  • Fargate

Storage

  • S3

  • Glacier

  • Block storage

  • Elastic File System

Database

  • Simple DB

  • Dynamo DB

  • Document DB

  • RDS

  • Aurora

  • ElastiCache

Data Analytics

  • Kinesis

  • Glue

Developer Essentials

  • IAM

  • Cognito

  • Simple Notification Service

  • Simple Email Service

  • Cloud Formation

I highly encourage you to watch the Fireship.io video regardless since he does such a great job highlighting concrete use cases for each of the services he talks about.

Out of that list, many of them did pop up in the curriculum that ChatGPT spit out for a DevOps engineer. I’ve highlighted the services that were recommended by ChatGPT that I know for sure a DevOps engineer would use. They are:

Compute Services in AWS

  • EC2 (Elastic Compute Cloud)

  • Auto Scaling

  • Elastic Load Balancer

Storage Services in AWS

  • S3 (Simple Storage Service)

  • EBS (Elastic Block Store)

  • Glacier

Database Services in AWS

  • RDS (Relational Database Service)

  • DynamoDB

  • Redshift

Networking and Content Delivery in AWS

  • VPC (Virtual Private Cloud)

  • Route 53

  • CloudFront

Identity and Access Management (IAM)

  • Creating IAM users, groups, and roles

  • Permissions and Policies

  • IAM Best Practices

Security in AWS

  • Shared Responsibility Model

  • Encryption

  • Security Best Practices

Monitoring and Logging in AWS

  • CloudWatch

  • CloudTrail

  • Config

Deployment and Management in AWS

  • AWS CloudFormation

  • AWS Elastic Beanstalk

  • AWS OpsWorks

DevOps in AWS

  • CodeCommit

  • CodePipeline

  • CodeDeploy

Serverless Computing on AWS

  • AWS Lambda

  • Amazon API Gateway

  • AWS Step Functions

Big Data and Analytics on AWS

  • Amazon EMR

  • Amazon Kinesis

  • Amazon Athena

ChatGPT also did recommend looking into the AWS certifications offered like the AWS Certified Solutions Architect - Associate, AWS Certified Developer - Associate, and AWS Certified SysOps Administrator - Associate. I still haven’t decided if pursuing those certificates is worthwhile, though. I’ll have to revisit that after I expand my AWS knowledge based on the above topics and services.

Conclusion

With ChatGPT, AWS videos, and other YouTube channels, I’m confident I will be able to learn a lot of fundamental services that AWS offers to enhance my DevOps engineering. There are so many tools that could be used that AWS offers and learning about them will ultimately make me a better developer since I’ll have more tools in my belt. This will be a long road of learning for sure and I will be writing about my experience along the way. Hopefully, some of what I write will be useful for you in your pursuit of tech knowledge.

Check back soon for more content about my adventures in AWS!