Intro to AWS & Cloud Computing

Search for a command to run...

No comments yet. Be the first to comment.
EC2, or Elastic Compute Cloud, is AWS’s way of renting someone virtual servers in the cloud. What used to be in-house server stacks are now available in the cloud as EC2 instances. Just like normal servers, EC2 instances can be pre-configured to have...

There are many reasons to become more proficient with bash scripting including becoming a more efficient cloud developer, typing faster than you can click on a GUI, and debugging more easily - just to name just a few. Part of navigating bash scriptin...

A Beginner's Guide to Chef

Working from home has its perks. One of them is blasting music as loudly as you want without worrying about bothering your coworkers. For me, music helps me stay focused while also bringing a little excitement throughout my day. When you fix that bug...

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.
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.
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.
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.
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.
EC2
CloudWatch
Lambda
Container Registry
Container Service
Fargate
S3
Glacier
Block storage
Elastic File System
Simple DB
Dynamo DB
Document DB
RDS
Aurora
ElastiCache
Kinesis
Glue
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:
EC2 (Elastic Compute Cloud)
Auto Scaling
Elastic Load Balancer
S3 (Simple Storage Service)
EBS (Elastic Block Store)
Glacier
RDS (Relational Database Service)
DynamoDB
Redshift
VPC (Virtual Private Cloud)
Route 53
CloudFront
Creating IAM users, groups, and roles
Permissions and Policies
IAM Best Practices
Shared Responsibility Model
Encryption
Security Best Practices
CloudWatch
CloudTrail
Config
AWS CloudFormation
AWS Elastic Beanstalk
AWS OpsWorks
CodeCommit
CodePipeline
CodeDeploy
AWS Lambda
Amazon API Gateway
AWS Step Functions
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.
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!