As companies worldwide have shifted away from using onsite data centers and server rooms, cloud computing platforms have been in high demand. According to the technology news site TechRepublic, about two-thirds of large companies are moving business applications and data storage to cloud services. For more than half of those companies, the transition to cloud services is the top strategic priority for their IT departments.
Companies need highly skilled engineers to manage their use of the cloud, including application development, resource allocation and maintenance, and effective use of the features offered by the industry’s primary cloud services—Amazon Web Services (AWS), Google Cloud, and Microsoft Azure.
And because professionals with these specialized skills are highly valued, they are often well-paid. A cloud engineer’s average annual salary is more than $120,000, plus an additional $10,000 per year in potential bonuses. A key reason for the high salaries is a scarcity of talent. Roughly 90 percent of companies find it difficult to find job candidates with both the technology and business skills required to manage cloud services and other digital transformation initiatives.
However, what a cloud engineer does can vary significantly from one role or one company to another, says Tony Mullen, associate professor in the Khoury College of Computer Sciences. Here’s a look at the different day-to-day duties and responsibilities that a cloud engineer may have, along with some insight into how to become a cloud engineer with the right skills, experience, and education.
Prepare for a Successful Career in Cloud Computing
Learn how Northeastern’s Graduate Certificate in Cloud Computing can accelerate your career.
Top Responsibilities of a Cloud Engineer
Cloud engineer is less a specific job title and more of an umbrella term used to describe a number of cloud computing roles that focus on engineering, architecture, development, and administration, Mullen says. Here are some of the typical responsibilities of professionals in the most in-demand cloud computing roles.
Those in cloud engineering roles assess an organization’s technology infrastructure and explore options for moving to the cloud. If the organization elects to move to the cloud, a cloud engineer is responsible for overseeing the process, referred to as migration, and maintaining the new system.
Along with these technical skills, cloud engineering requires managerial skills. Engineers are often called upon to negotiate with vendors, coordinate with other IT team members, and communicate with senior leadership about the progress of a cloud migration project.
These roles focus primarily on assembling the cloud infrastructure, Mullen says. Within a cloud environment, there are numerous computing, networking, and security services that all need to be configured properly. Configuration serves two key roles: To ensure that the right users have access to the right services (depending on their role within the organization) and that the company doesn’t incur unexpected or unnecessary charges.
Contracts to use cloud services can be as concrete as charging to rent hardware to store data, or as abstract as charging to execute a function within a line of code, Mullen notes. This variability means architects need to pay close attention to the fine print of cloud contracts and compare that to how their organization intends to use a cloud-based service.
These roles are responsible for creating the functions, applications, or databases that run on the cloud. Many of the best practices—fast load times, support for multiple Internet browsers, using as little memory as necessary—are analogous to more traditional software and database development, Mullen says.
“But now, [these individuals] also need to understand the cloud environment, the tools, and how that’s different than working on a single machine or a private data center,” he adds. For example, these developers must understand how an application will respond when accessing databases in different locations or how to run functions or queries efficiently when renting hardware.
These roles are similar to the traditional system administrator function that manages an organization’s on-premise hardware and software, but with an emphasis on cloud-based services. Primary responsibilities include developing and implementing policies for the use of cloud services, managing requests for new technology, establishing a secure cloud environment, and ensuring appropriate availability of services, also known as uptime.
Security and availability require careful attention, Mullen emphasizes. The cloud platforms use a “shared model” where they guarantee for some but not all security measures. For example, an individual organization is responsible for building a firewall around the network that’s used to access cloud services with sensitive data and business applications.
The Value of Education in Cloud Engineering
Cloud engineers must refine specific cloud computing skills in order to be successful in their roles. These skills range from software development and database administration to change management and data security, Mullen says. Paying attention to details and working as part of a team is also important.
These skills are similar to what a student in a typical computer science course may learn, or what a professional in a traditional on-premise computing environment may need. Many other computer science principles are also applicable to cloud computing, including computation, data structure, and system architecture.
While there is often overlap between computer science and cloud computing coursework, there is value in education and training that is specifically tailored to a career in cloud engineering, Mullen asserts. Cloud engineers can especially benefit from specialized training in two key areas: gaining hands-on experience with cloud platforms and understanding how cloud resources are allocated and paid for.
Hands-on Cloud Engineering Experience
Knowing how to use the major cloud platforms may seem like a no-brainer for applicants for cloud engineering jobs. However, Mullen says it can be difficult for students or independent workers to get experience setting up services such as Amazon Elastic Compute Cloud or a Microsoft Azure database.
“That’s tough to come by outside of a professional environment. Those resources can be expensive,” Mullen says. The cloud platforms do offer a free tier, but there are limitations. For example, access to free storage may only last 12 months, so users may get a bill if they use certain cloud services to store photos for more than one year.
Programs such as the Northeastern University Graduate Certificate in Cloud Development offer the advantage of hands-on work with cloud platforms. The curriculum incorporates courses from the AWS Academy, providing free access to the AWS dashboard and lab sessions.
Mullen notes that students in the program learn more than just the basics of using cloud resources. “[Students] learn how to set up identities and permissions. By the middle of the course, you have a pretty good idea of roles and policies within an architecture and how to associate them with the right security groups,” Mullen says, adding that the principles of the course apply to all major cloud computing platforms, even though they focus on AWS.
The program also covers advanced cloud development concepts such as coding specifically within a cloud architecture and continuous integration and deployment, which means that code is automatically rolled out once tested for functionality and security. This exposure helps students understand what makes working in a cloud environment unique, Mullen says.
Understanding Cloud Resource Management
It’s also critical for a cloud engineer to understand how resources are used differently than in traditional computing environments.
When an organization uses on-premise servers to run applications and store data, the costs are largely fixed. Before anything can happen, hardware must be purchased, network connections must be set up, and users’ accounts must be created. If more resources are needed, the organization’s leaders need to come together to decide what to buy.
Cloud platforms offer much more flexibility. An organization can start with the resources it needs at that particular time and add services as those needs evolve. This flexibility is possible because another entity—in this case, a multinational tech giant like Amazon, Google, or Microsoft—has invested in the resources and opted to allocate them to thousands of customers on a pay-per-use basis.
This flexibility also brings complexity because of the way cloud platforms charge for their resources. For example, for some services, an organization needs to consider whether it makes sense to pay an hourly rate (for on-demand usage) or an annual rate (for more continuous usage). Users should also be prepared to pay higher rates if they need more data storage or intend to run applications with complex calculations. Finally, each platform also offers a variety of discount options that require consideration.
“You need to discuss pricing [when you address cloud computing],” Mullen says, and that may not be part of a computer science curriculum. “You’re taking what was once done on a single machine or network and spreading it on someone else’s resources, so there’s a particular economy to it. That has to be part of the conversation, because if you don’t understand the pricing motivation, then the value is less clear.”
Accelerating Your Cloud Engineering Career
Northeastern University’s Cloud Software Development Graduate Certificate prepares students with diverse backgrounds with foundational skills for a career in cloud computing. Learn more about how the program can prepare you to do the work of a cloud engineer or continue on to a Master’s degree.
Why This Alum Decided to Earn His Master’s Degree in Computer Science
The Top 10 Highest-Paying Big Data Careers
Data Scientist vs. Data Analyst: What’s the Difference?