Cloud computing is now a must-learn skill for any data engineering, data science, or software jobs.
Most companies don’t have the resources to run their software, models, websites, etc. full-time on their own servers and hardware so they resort to using cloud services such as AWS, Google Cloud, Microsoft Azure, and other platforms that will run code, host websites, and store data.
Four years ago I essentially knew nothing about cloud computing and cloud environments. Thankfully with the job that I’ve had, I’ve been able to learn it on the job and see the true value it has to offer.
In this article I’ll go over:
What is cloud computing
Things to focus on
Resources
Mistakes to avoid
1. What is cloud computing?
In a nutshell, cloud computing is a transformative technology that allows us to access computing resources over the internet.
This means that we can store and process data on remote servers that are managed by the computing companies, rather than on local machines or personal computers. If you’ve ever tried to run a lot of code or a big machine learning model on your computer with 2 GB of RAM then you already can understand why cloud computing is of such value.
This means you can access software, storage, and processing power as needed, without the burden of maintaining physical hardware. A lot of companies don’t have the tools to maintain both software and hardware, so cloud computing allows us to eliminate the hardware component almost completely.
Cloud computing is used for building three things:
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
With the cloud, people working on these things can save money, scale their code and software, and as well build applications that they can scale to millions of people.
There’s no need to mess with expensive and difficult hardware anymore since the cloud providers will handle that all for you.
2. Things to focus on
A lot of people hear “learn cloud computing” and think they just can jump into it without knowing some basics first.
So here’s a couple of basics you should probably have down or at least a basic understanding of:
Coding (Python & Linux)
Networking (the technology type not the social type)
Basic software and data engineering concepts
If you feel comfortable with those then I’d say you are ready to learn cloud computing! Otherwise, I’d learn those before jumping into cloud computing and your life will be 100 times easier.
Cloud computing has about a billion different topics, trends, technologies, and things you can learn and focus on.
I like to break it down into three different things that a beginner looking to get started should focus on.
Providers
First, learn about different providers and how their platforms work.
AWS
Google Cloud
Azure
These are the top used cloud providers so I would recommend learning about their platforms and how to use them. If you can learn how to get set up with these providers and how their systems work will save you a lot of headaches down the road.
While these different cloud platforms might all seem the same from the outside, they can actually differ in their use cases. So be sure to learn about the main three and then any sub-ones that you might be interested in learning more about.
Paths & Focus
Learning cloud computing can take you down different paths and different focuses. It’s such a comprehensive topic it can feel overwhelming.
You can focus on:
Networking
Networking encompasses the setup, management, and maintenance of network infrastructure within and between cloud environments.
This includes tasks such as
configuring virtual networks
managing IP addresses
setting up firewalls and load balancers
ensuring secure connectivity between different cloud services and the users
Effective cloud networking is crucial for the seamless transmission of data, high availability of services, and ensuring that different components of cloud applications can communicate efficiently and securely.
Security
Security in cloud computing is a critical aspect that involves protecting cloud-based systems, data, and infrastructure from various cyber threats.
You’ll often see someone in security focused on, identity and access management (IAM), data encryption, intrusion detection systems, and security compliance. I like to think of this as this is some things Elliot in Mr. Robot did if he wasn’t spending all of his time hacking and creating a global financial crisis.
Cloud security also deals with ensuring privacy and meeting regulatory compliance standards. Given the shared responsibility model in cloud computing, where security is a shared obligation between the cloud provider and the client, understanding and implementing appropriate security measures is essential for safeguarding sensitive data and maintaining trust in cloud services.Architecture
People who work in architecture design and organization of systems in the cloud.
It includes components like front-end platforms, back-end platforms a cloud-based delivery model, and a network. Effective cloud architecture should be scalable, reliable, and efficient to meet any business needs.
Each one of these are important concepts to learn but most people will just focus on becoming an expert usually in one with a general understanding of the others.
Design
Design is all about building cloud systems that can both scale efficiently and are secure.
There can be a lot of different moving pieces in the cloud so being able to design your systems properly allows you to create the best systems possible.
3. Resources
From YouTube tutorials, blogs, stackoverflow, and certifications there are a ton of different resources available to help you learn cloud computing.
As I’ve learned myself and tried to up my skills I’ve slowly started to put together a list of a couple of my favorites.
This by far is my favorite resource for learning different topics, especially about AWS. He does a great job explaining concepts very easily if you have never worked with cloud computing or AWS before.
AWS Training and Certifications
I prefer AWS to the other platforms so this is a great resource for learning AWS. Google Cloud and Azure both have similar programs as well.
Udemy is a great source with some really good tutorials and introductions to cloud computing. I would just make sure not ever to buy anything at full price cause Udemy does a sale like every other week haha.
These are a couple that I’ve worked with (mainly as most of my development practices have come from AWS) so any of these should help you supplement your cloud computing journey!
4. Mistakes to avoid
Cloud computing can be confusing so there can be a lot of mistakes to be made. I’ve made my fair share while learning so hopefully I can save some pain and help you learn faster.
Many people don’t realize this but cloud computing can end up costing a lot of money if you do something wrong. Just check out AWS cost horror stories on Reddit and you’ll quickly get a sense of how things can go south quickly.
So while it can be fun to spin up a huge Linux server, make sure you are paying attention to cost. Most cloud providers offer a free version so be sure to look at the limits and usage you’re allowed while you are just learning.
Another mistake you should avoid is only learning one cloud provider! It may seem daunting but each cloud provider can provide different value and services that another might not do as well with.
I have a preference towards AWS but just knowing how Google Cloud and Azure work helps me to better broaden my skill set and understanding.
Hopefully, this has been a good article to help you learn more about cloud computing and where to focus. It can seem like a lot to learn and like it’s a difficult thing to learn but with consistency and dedication you’ll be able to learn and start your journey!
I'm curious. What's the overlap between cloud computing and data engineering?