Table of contents
- What is cloud computing anyway?
- Why should I use cloud computing?
- Why use AWS specifically?
- What services should I learn?
- Compute
- Storage
- Database
- Data Analytics
- Developer Essentials
- Compute Services in AWS
- Storage Services in AWS
- Database Services in AWS
- Networking and Content Delivery in AWS
- Identity and Access Management (IAM)
- Security in AWS
- Monitoring and Logging in AWS
- Deployment and Management in AWS
- DevOps in AWS
- Serverless Computing on AWS
- Big Data and Analytics on AWS
- Conclusion
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!