7 Essential Skills for an Associate Cloud Engineer
The cloud is here, and it is here to stay. The way we handle computing resources has vastly changed. Despite some who think the role of system administrator is going away, it’s probably more apt to think of the ways in which the job is changing. One way to look at it is that cloud engineers are the new sysadmin.
What Skills Does an Associate Cloud Engineer Need?
Whether you are a veteran systems administrator ready to evolve in your career, or a newbie hoping to land a job in IT, there are a few key skills that you should learn in order to prepare for a job as an associate cloud engineer. The following seven skills are ones that every associate cloud engineer will need on the job. Some of these may be familiar to you already. But if you need to brush up on your skills, we’ve got you covered with on-demand IT training you can do at your own pace. Check out all our training by IT career path and get learning — your first week is free.
Read on for more information about the top skills every associate cloud engineer should learn.
All associate cloud engineers need to understand Linux. The Linux knowledge domain is an area where those old-timey, ultra-geeky systems administrators most likely have an advantage. Here’s why.
The cloud is built on top of Linux. Internal data centers also run on Linux. Sure, Microsoft products are used for specific applications, but the web, and everything else, runs on Linux.
This is where the old-timers have an advantage. They’ve been using Linux for ages. They grew up with Linux.
Linux is what made the cloud possible. Cloud engineers may not work with the Linux OS directly depending on which cloud products they might use, but those products are still using Linux.
Understanding how to use Linux is essential for a cloud engineer. But, first, you need to understand how to use the Linux operating system. Full stop.
Cloud engineers do not need to manage different pieces of hardware, IP segments, or VLANs on these services. Most of the networking heavy lifting is already done.
That doesn’t mean that cloud engineers don’t need strong networking skills, though. For instance, what if you need to deploy multiple EC2 instances behind a CDN with port 8080 open? First, you need to understand what each of those words means independently. Then you need to know how each of those things will affect each other. Finally, you’ll have to make those configurations in each cloud product you are using.
The good news is networking is the backbone of everything IT-related, so unless you're a whiz, you likely already have networking chops if you are going to dabble in cloud tech.
Everything in the cloud is virtualized. We take that back. You can purchase dedicated equipment, but you’ll be selling all 20 of your kidneys for that. Otherwise, you will be using virtualized resources.
Cloud providers need to get as much out of their hardware as possible. Organizations have been doing this in internal data centers for over a decade. Anytime PC hardware isn’t working, TCO is left on the table. You paid for resources. You are going to use them. Amazon, Microsoft, Google, et al. will do the same.
On top of that, resources you subscribe to in the cloud will create nested virtual environments that you need to manage yourself. For instance, if you create an EC2 instance in AWS, you will need to understand how to manage an entire virtualized OS.
4. Identity Management
Identity management is one of the most useful features offered by cloud providers. Sure, we always had some sort of identity management in our data centers. However, the services that cloud providers offer are an order of magnitude better.
You can create groups for each IAM role, just like Active Directory. These groups give specific permissions for certain services. This is like setting a group policy in AD. You can also create individual users.
Each user or IAM role also includes programmatic access. For example, let’s say that you are creating a new social media app. You can create a single user IAM role for that app to access EC2 and DynamoDB services in AWS and nothing else.
Likewise, you can create authentication schemes for physical users too. Other services use these IAM roles to predefine their applications’ access rights, too.
Identity management is a big thing with cloud providers. You’ll need to understand how to configure groups, individual users, and rotating identities.
5. Development and API
Even if you aren’t a developer, cloud engineers still need to understand how to use APIs, because another cloud innovation is creating programmatic access and control over the infrastructure. Done well, cloud resources provisioned in AWS or Azure can scale automatically, both up and down, horizontally and vertically, as that demand is required. That’s powerful.
For instance, let’s say that you host your own Mongo databases. Mongo prefers to be scaled horizontally, and with cloud platforms, you can automatically do that based on certain thresholds. If you need more virtualized instances of MongoDB, your cloud partner will handle that automatically.
What if you are using a more CPU-intensive app, though? Creating more virtualized instances won’t help in this case. However, you can give a virtualized environment more processing cores. This can happen while that VM is running, too. Again, this scaling process is automatic.
Of course, that’s only one example. You can automate everything in the cloud. We mean everything.
6. Storage Concepts
Storage works differently in the cloud. Local data centers have hard drives and file systems built on SANs, NASs’, and internal server storage. Clouds have buckets and blobs.
The notion of fixed storage and file systems is non-existent in the cloud. Instead, each cloud provider has different methods for storing data. For example, Amazon’s S3 storage system uses the concept of a bucket. You can create as many buckets as you want. Each bucket is supposed to house data that corresponds somehow, but that data isn’t stored relationally like a database.
Azure has different storage mechanisms for different file types. For example, you can store relational data. You can also store blobs of binary and non-binary data.
You will need to understand the cloud provider’s storage scheme no matter which service you decide to use. Thankfully, most cloud providers use similar concepts. So, transferring knowledge from one cloud provider to another shouldn’t be difficult.
7. Billing Practices
If you are going to manage cloud resources, you need to understand how billing works. Billing isn’t as simple as subscribing to a new service and calling it a day. Cloud provider billing is far more complicated.
All of the cloud providers offer some way to manage billing. That includes itemizing costs, payment methods, and receipts – you know, the usual stuff. You can also set limits on how much each service can spend, how much each user can spend, or something in between.
On top of that, each service has different billing. For instance, AWS charges per hour for an EC2 instance. It also charges other fees for how much data goes into or out of your EC2 instance. On the other hand, AWS charges that same fee for data ingress and egress from your storage bucket, but it also sets different prices based on the amount of data stored and what kind of storage that data is in.
Here’s a real-world scenario for you. Let’s say that you are running a React app through an S3 bucket. That is something you can do. S3 lets you host a static website in it. Now let’s say that Facebook or Google is crawling your page and gets stuck. Their crawlers decide to make 50,000 calls to your website every minute for the next hour.
That means you could get charged thousands of dollars by AWS by accident. However, you can control those costs by setting limits. In this case, once S3 hit its billing limit, it would have cut off service, so you didn’t incur other charges.
That has and does happen all the time, and you need to understand how to manage those costs.
When you’re working toward a goal of becoming a cloud engineer, learning each of these skills is crucial. For instance, having a foundational knowledge of the Linux OS will give you a better understanding of what cloud services offer and the limitations of their products. In addition, each of the skills mentioned above is vital for cloud engineers to succeed in their careers.