
Cloud Engineer: What They Do and How to Get Started
Table of contents
Quick Access

Many of the applications we use every day run thanks to cloud services. They can store information, execute processes, connect to databases, and serve users located in different countries.
However, these services do not configure or maintain themselves.
Cloud Engineers are among the professionals responsible for designing, implementing, automating, and monitoring these environments. Their work combines knowledge of systems, networking, security, programming, and operations.
If you are interested in building a career in Cloud Engineering, you do not need to learn every platform or tool from day one. The most important thing is to build strong foundations, understand how different infrastructure components connect, and progress through small practical projects.
What Is Cloud Computing?
Cloud computing is the delivery of technology resources over the internet. These resources can include:
- Servers.
- Storage.
- Databases.
- Networks.
- Analytics tools.
- Security services.
- Computing resources.
According to Amazon Web Services (AWS), cloud computing provides on-demand access to technology resources over the internet, generally using a pay-as-you-go model.
Instead of purchasing and maintaining all of its own physical servers, a company can use resources from providers such as Amazon Web Services, Microsoft Azure, or Google Cloud.
The cloud also does not mean that physical servers have disappeared. They still exist inside data centers. The difference is that organizations can manage them through platforms, dashboards, APIs, and automation tools without directly managing all of the underlying physical infrastructure.
What Does a Cloud Engineer Do?
The responsibilities of a Cloud Engineer can vary depending on the company and the team they work with.
In some organizations, the role may have similarities to a system administrator. In others, it may be closely connected to areas such as DevOps, security, architecture, or software development.
In general, these are some of their main responsibilities.
Design Infrastructure
Before deploying an application, it is necessary to determine which resources it needs to operate properly.
A Cloud Engineer may participate in planning elements such as:
- Virtual machines.
- Networks and subnets.
- Storage.
- Databases.
- Load balancers.
- Identity and access services.
- Monitoring systems.
In addition to selecting resources, they must consider factors such as availability, performance, security, and future growth.
An architecture that works for one hundred users may require major changes when it needs to serve thousands or millions of requests.
Create and Configure Resources
Cloud infrastructure resources can be configured directly through the provider’s console. However, as environments begin to grow, making every change manually can become difficult to maintain.
This is where the concept of Infrastructure as Code (IaC) becomes important.
According to HashiCorp, Terraform allows teams to build, modify, and version infrastructure using readable configuration files that can be maintained under version control.
This makes infrastructure easier to review, share, and reproduce in a more organized way.
Deploy Applications
Another common responsibility of a Cloud Engineer is preparing the environment where an application will run.
For example, they may participate in configuring:
- Servers.
- Containers.
- Environment variables.
- Certificates.
- Domains.
- Databases.
- Networks.
- Deployment processes.
Google Cloud describes an Associate Cloud Engineer as a professional who can deploy applications, monitor operations, and manage enterprise solutions within cloud infrastructure.
For this reason, Cloud Engineering is not only about creating servers. It also involves understanding how an application moves from code to an environment that is available to users.
Automate Processes
An important part of the job is reducing repetitive manual tasks.
A Cloud Engineer may automate processes such as:
- Infrastructure creation.
- Test execution.
- Backups.
- Updates.
- Deployments.
- Environment configuration.
For example, GitHub Actions allows teams to create workflows that automate processes related to continuous integration and deployment.
According to GitHub’s official documentation, workflows can be used to automate tasks throughout the software development lifecycle and are defined using YAML files.
This means that a change pushed to a repository can automatically trigger tests, builds, and eventually a new deployment.
Monitor Systems
The work does not end after deploying an application.
Infrastructure also requires continuous monitoring to identify potential problems and understand how resources are being used.
Some elements that may be monitored include:
- CPU and memory usage.
- Service availability.
- Traffic.
- Logs.
- Errors.
- Latency.
- Storage consumption.
- Alerts.
The goal is to detect anomalies before they affect a large number of users and to have enough information available to investigate an incident when something goes wrong.
Protect Resources
Security is also part of cloud infrastructure.
AWS uses a shared responsibility model, in which the provider protects certain components of the cloud infrastructure while the customer remains responsible for other elements related to their systems and configurations.
For this reason, a Cloud Engineer needs to understand concepts related to:
- Identities.
- Roles.
- Permissions.
- Secrets.
- Encryption.
- Network rules.
- Firewalls.
- Access policies.
A poor permissions configuration can create a security risk even when the infrastructure is hosted by a well-known cloud provider.
Manage Usage and Costs
Creating new cloud resources can take only a few minutes. This also makes it possible for organizations to accumulate servers, disks, databases, or other services they no longer need.
Because of this, another part of the role involves monitoring consumption.
This may include:
- Reviewing active resources.
- Configuring budgets.
- Creating usage alerts.
- Removing infrastructure that is no longer needed.
- Identifying optimization opportunities.
A cloud solution should not only work. It should also use resources responsibly.
What Do You Need to Learn to Become a Cloud Engineer?
There is no single path into Cloud Engineering. However, several areas of knowledge consistently appear in these roles.
1. Operating Systems and Linux
Many cloud applications and services run on Linux.
You do not need to immediately become a system administrator, but you should learn how to:
- Navigate through the terminal.
- Create and modify files.
- Manage permissions.
- Install packages.
- Review processes.
- Check logs.
- Connect remotely.
Some basic commands you can start with include: `pwd`, `cd`, `ls`, `mkdir`, `cp`, `mv`, `grep`, `chmod`, `ps`, `top`, `curl`, and `ssh`.
The goal is not to memorize hundreds of commands. What matters is becoming comfortable working from a terminal and understanding what is happening inside a server.
2. Networking Fundamentals
Cloud Engineering depends heavily on networking.
That is why it is important to understand concepts such as:
- IP addresses.
- Ports.
- DNS.
- HTTP and HTTPS.
- Subnets.
- Firewalls.
- Routes.
- Load balancers.
Instead of simply memorizing definitions, try to understand the complete journey of a request: from the moment a user enters an address in their browser until the application processes the request and sends back a response.
3. Git and Version Control
Scripts, configuration files, and infrastructure definitions should also be maintained under version control.
Learning Git will allow you to:
- Save a history of changes.
- Work with branches.
- Review modifications.
- Recover previous versions.
- Collaborate with other professionals.
When you begin working with Infrastructure as Code tools, Git will become an important part of your workflow.
4. Programming and Scripting
A Cloud Engineer does not necessarily build complete applications every day, but they do need to automate tasks.
Bash can be especially useful when working with Linux systems, while Python is a widely used option for creating scripts, consuming APIs, and processing information.
As a starting point, you can study:
- Variables.
- Functions.
- Conditions.
- Loops.
- Error handling.
- Reading and writing files.
The important thing is learning how to use code to solve repetitive tasks.
5. Cloud Fundamentals
Before learning dozens of specific AWS, Azure, or Google Cloud services, it is better to understand the concepts these platforms have in common.
These include:
- Infrastructure as a Service (IaaS).
- Platform as a Service (PaaS).
- Software as a Service (SaaS).
- Regions.
- Availability zones.
- Scalability.
- Elasticity.
- High availability.
- Public cloud.
- Private cloud.
- Hybrid cloud.
- Shared responsibility.
Microsoft Learn offers an introductory learning path focused specifically on cloud fundamentals, deployment models, and shared responsibility.
Understanding these concepts first will make it much easier to learn specific services later.
6. Choose One Cloud Provider
One of the most common mistakes when getting started is trying to learn AWS, Azure, and Google Cloud at the same time.
You do not need to.
Choose one platform and learn its core services first:
- Compute: where applications run.
- Storage: where files are stored.
- Networking: how resources connect.
- Databases: how structured information is stored.
- Identity: who can access each resource.
- Monitoring: how system behavior is observed.
- Costs: how usage is controlled.
Once you understand these concepts within one provider, it becomes much easier to recognize equivalent services on other platforms.
7. Containers with Docker
Containers allow you to package an application together with the elements it needs to run consistently across different environments.
According to the official Docker documentation, the platform allows developers to build, distribute, and run applications using containers.
Before moving on to more advanced tools, practice how to:
- Create a `Dockerfile`.
- Build an image.
- Run a container.
- Expose ports.
- Configure environment variables.
- Review logs.
- Stop and remove containers.
Having strong Docker fundamentals will help you when you start working with orchestration systems.
8. Infrastructure as Code with Terraform
Once you are able to create some resources manually within a cloud platform, you can begin automating that process.
Terraform is one of the tools you can use to do this.
According to HashiCorp, Terraform uses configuration files to define infrastructure resources and manage their lifecycle.
Start by learning how to:
- Define a provider.
- Create resources.
- Use variables.
- Read outputs.
- Understand the state file.
Later, you can move on to modules, remote state storage, and more complex structures.
The goal should not be to memorize Terraform syntax. Instead, you should understand how to represent infrastructure in a repeatable and controlled way.
9. Continuous Integration and Continuous Deployment
Next, you can begin creating simple CI/CD pipelines.
For example, you could configure a workflow so that every time you push changes to GitHub, it:
1. Installs dependencies.
2. Runs tests.
3. Builds an image.
4. Publishes the image.
5. Deploys a new version of the application.
According to the GitHub Actions documentation, workflows are configured through YAML files and can contain one or more jobs.
This type of automation is much closer to the processes you will find in real-world projects.
10. Kubernetes, After Mastering the Fundamentals
Kubernetes appears constantly in conversations about cloud infrastructure and DevOps, so it is normal to think it should be one of the first tools you learn.
Not necessarily.
According to the official Kubernetes documentation, Kubernetes is an open-source platform designed to manage containerized workloads and services, helping automate configuration and management processes.
Before you begin learning Kubernetes, it is recommended that you have basic knowledge of:
- Linux.
- Networking.
- Docker.
- Containers.
- YAML.
- Cloud services.
Kubernetes is an important tool, but understanding the problem it is designed to solve first will make the learning process much easier.
A 12-Week Cloud Engineering Learning Roadmap
If you are not sure where to begin, you can divide your first few months of learning into three stages.
Weeks 1–4: Fundamentals
During the first month, focus on:
- Linux and terminal.
- Git.
- Networking fundamentals.
- Basic scripting.
As a project, create a local or cloud virtual machine, connect to it through SSH, and install a web server.
Weeks 5–8: Cloud Services
Choose AWS, Azure, or Google Cloud and learn the main services related to:
- Compute.
- Storage.
- Networking.
- Identity.
- Monitoring.
- Databases.
During these weeks, you can build two simple projects:
- Publish a static website.
- Deploy a small API.
You do not need to build a huge application. The goal is to understand how the different services interact.
Weeks 9–12: Automation
During the final stage, you can start combining several of the tools you have learned.
For example:
- Package your application using Docker.
- Create part of the infrastructure with Terraform.
- Configure a pipeline using GitHub Actions.
- Add basic monitoring.
- Document the entire solution.
You should also include documentation in the repository explaining the architecture, deployment steps, security decisions, and how to remove the resources you created.
Projects You Can Add to Your Portfolio
Your portfolio should show that you can build and explain a solution, not simply that you completed a course.
Some projects you can develop include:
- Static website in the cloud: host a website using cloud services, configure a domain, and enable HTTPS.
- Containerized API: deploy an API connected to a managed database.
- Infrastructure as Code: use Terraform to create a network, server, storage, and permissions.
- Automated pipeline: configure automated testing and deployment every time you push changes to the repository.
- Monitoring system: add metrics, logs, alerts, and a basic cost-control mechanism.
Each project should include:
- A `README` file.
- A simple architecture diagram.
- Installation instructions.
- Deployment steps.
- Technologies used.
- An explanation of the security measures implemented.
A recruiter or interviewer should be able to open your repository and understand what you built, why you made certain decisions, and how the solution works.
Do You Need a Certification to Work as a Cloud Engineer?
A certification can help you organize your studies and demonstrate foundational knowledge. However, it does not replace hands-on experience.
For example, Microsoft classifies Azure Fundamentals as a beginner-level certification, designed to validate basic knowledge of cloud concepts and services.
Google Cloud also offers training paths specifically related to cloud infrastructure and architecture.
Some options you can explore include:
- Microsoft Azure Fundamentals.
- Introductory AWS learning programs.
- Google Cloud training paths.
Before investing in an exam, try to complete at least two hands-on projects.
Having both a certification and examples of how you applied those concepts can give you a much stronger story to tell during an interview.
Mistakes to Avoid When Getting Started
It is normal to want to learn as many tools as possible, but trying to cover too much at once can actually slow down your progress.
Some mistakes you should avoid include:
- Trying to learn every service from every cloud provider.
- Starting with Kubernetes before understanding containers and networking.
- Storing passwords, tokens, keys, or secrets inside a repository.
- Leaving cloud resources running after finishing a practice project.
- Creating projects without documentation.
- Focusing only on passing a certification.
- Copying complex architectures without understanding why each component exists.
It is better to build a small solution that you can fully explain than to copy a large architecture whose behavior you do not understand.
Is Cloud Engineering Right for You?
Cloud Engineering can be a good career option if you enjoy solving problems, automating processes, and understanding how different parts of a system connect.
It also requires patience.
Some infrastructure problems do not immediately show an obvious cause. You may need to review configurations, permissions, metrics, networking, and logs until you identify the source of an issue.
You do not need to know everything before getting started.
You can begin by learning Linux, networking, and Git. Then, choose a cloud platform and build a small project. Once it works, try improving it by adding security, automation, monitoring, and documentation.
Cloud Engineering is a broad field. Moving forward step by step will help you build knowledge that you can apply to real projects and explain more confidently during an interview.
Keep Building Your Career in Tech
Learning Cloud Engineering is an ongoing process. Every project, tool, and new concept you master can bring you closer to new opportunities in the technology industry.
At Rootstack, we work with professionals across different areas of technology and regularly share resources, career advice, industry trends, and opportunities for those looking to continue growing professionally.
Are you looking for your next challenge?
- Explore our Open Positions and discover the technology opportunities currently available.
- Follow us on social media to stay updated on new job openings, career tips, technology content, and get a closer look at what it’s like to work at Rootstack.
- Stay tuned for our upcoming articles to keep learning about roles, tools, and skills that can help you grow your career in tech.
- Your next step could begin with a new skill, a new project, or a new opportunity.