| career | career progression - David Brown
25 Essential Skills for Cloud Management
Businesses are moving to the cloud at a rapid pace. According to Forbes, "83% Of Enterprise Workloads Will Be In The Cloud By 2020". For IT professionals, that means that their job descriptions will be evolving. Let's look at some of the skills and strategies, as well as cloud cost considerations, that will be relevant for those new work responsibilities.
Cloud Management Skills
IT infrastructure continues to change. In the early days of computing, technicians operated computers that filled an entire room. Over time, specialized devices filled the racks of data centers in long rows over raised floors. With cloud computing, there is less interest in the underlying equipment and more attention giving to the overlaying software functionality. Cloud computing skills are in high demand these days, so it pays to know just what skills are required of a cloud engineer.
The cloud may be a collection of virtualized, software-defined IT functions that have been abstracted from the hardware, but it still needs an operating system. And for the most part, that operating system is Linux.
An article on ZDNet makes the situation clear in the title: "IT runs on the cloud, and the cloud runs on Linux. Any questions?" The author points out that even Microsoft, the maker of Windows, is relying on Linux for a third of its cloud business.
According to a 2017 study sponsored by Red Hat, 54% of applications on the cloud are running on Linux virtual machines (VMs). And for business-critical workloads, 78% of respondents prefer paid implementations of Linux to free ones. Versions include Red Hat, Ubuntu, Oracle, and SUSE. Any IT professional wanting to work in cloud computing should definitely know something about the provisioning and maintenance of Linux VMs.
There are different roles for IT professionals working in cloud computing. They may work in development, systems support, networking, security, or design. Developers in particular need excellent programming skills, but there are plenty of opportunities for cloud engineers of all stripes to write scripts and deal with code.
The cloud houses software applications that interact with a huge variety of system and network components. Application Programming Interfaces (APIs) are links used to integrate workloads into the cloud. Even administrators may need to code these APIs and perform other programming tasks in today's cloud environment. According to cloud integrations company Chakray, the top five cloud programming languages are:
They write that "it is necessary to choose data-oriented languages instead of general-purpose ones". It's part of the broad skill set required of anyone working in the cloud.
3. Database Management
Like so many other IT functional areas, databases are rapidly moving to the cloud. Whereas traditional databases are kept in data centers and managed in distinct geographical locations, cloud databases may be dispersed all across a cloud infrastructure. Database-as-a-Service (DBaaS) is a particular form of cloud database offered by cloud providers to house and manage customer data.
Working as a cloud engineer requires database skills that go beyond what might be needed in the data center. An article from NetApp describes the common database challenges in the cloud. These include size limitations, storage performance, database cloning, and multicloud operations. The standard database language for the cloud is SQL, but NoSQL is becoming popular as an alternative to the limitations of SQL's rigid schema.
4. Multi-Cloud Deployment
Deploying and managing a single cloud is challenging enough, but getting a handle on a multicloud environment can be even more difficult. The key is to find a way to bring all the disparate cloud resources into a unified management system. Ideally, a cloud engineer would want to have a single pane of glass for centralized control of all public or private clouds used by the organization.
IT managers may have a hard time finding engineers fully qualified to manage multicloud. While AWS, Azure, and Google clouds may share similarities, it takes someone with experience to maneuver through each environment and make the most of each provider. The complexities of cloud applications and the underlying infrastructure make multicloud deployment a big challenge for any IT professional.
5. Artificial Intelligence and Machine Learning
A good bit of the cloud is being built with applications that don't require human supervision. Chatbots and virtual assistants, for instance, respond to questions and requests after quickly analyzing and interpreting user input. Business intelligence and smart IoT machines are part of the complicated interweb of networks that cloud engineers must manage.
Any IT engineer wanting to work on the cloud will need to understand something about AI and related technologies. Machine learning algorithms enable cognitive computing to produce insights based on vast pools of data. While it doesn't require a data scientist to manage the cloud, it doesn't hurt to learn as much as you can about AI and machine learning.
The IT industry keeps churning out buzzwords whose meaning may remain vague for many years. One of those is cloud automation. Turbonomic writer Joe Burke tackled the subject a few years ago. He says that automation is all about control and decision-making. By letting one piece of software decide the next action in response to another one, we are automating a computer process.
Cloud orchestration is similar to cloud automation, but involves the automation of many tasks rather than just one. Orchestration coordinates how cloud components complete their tasks by synchronizing operations and making everything work together — like an orchestra. Automation is a major part of today's cloud infrastructures.
7. Serverless Architecture
Cloud services continue to multiply beyond the SaaS, IaaS, and PaaS that we learned long ago when first studying cloud computing. Backend-as-a-Service (BaaS) is a framework that allows developers to limit their work to the creation of user interfaces (the front end), without having to worry about all the rest. The backend includes hosting, databases, and storage — and may be handled by BaaS vendors.
BaaS is part of serverless architecture, which also includes Function-as-a-Service (FaaS). The idea is that server-side logic is handled by someone other than the developer. It's a way to build applications without having to configure infrastructure. Cloud engineers will need to be familiar with serverless architecture and the ways that developers can take advantage of it.
Here is another buzzword in search of a meaning. Luckily, some developers that blog under the name The Agile Admin offer us a helpful definition:
"DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support."
It's all about "agile operations", a kind of collaborative approach to computing. Whatever DevOps is deemed to be, cloud engineers need to know something about it. Gone are the days when developers and support personnel worked in their own silos.
The time to market for applications is extremely short now because IT infrastructures have made deployment so easy. This combination of development and operations adds another dimension to the work of cloud management.
9. Cloud Security
Obviously any IT systems connected to the internet require robust security. The cloud is particularly vulnerable to attack because the threat surface is so vast. Data center security could be maintained by closely guarding external connections with firewalls and intrusion detection systems. But in the modern distributed computing environment known as the cloud, maintaining security is much more difficult.
In his article "The Hidden Challenge of the Cloud Security Skills Gap", John Maddison raises a red flag: "The lack of skilled cybersecurity professionals, especially for cloud environments, may represent an existential crisis to our fledgling digital economy." He advised special security training for those IT professionals working in the cloud.
This is not a specialized skill unique to cloud engineers, of course. But it's probably the most important skill for any IT professional to have. One writer calls it "the ability of a person to change his actions, course or approach to doing things in order to suit a new situation". Without it, you may find yourself dead in the water at a critical point in your career.
It's important to learn about networking protocols, operating systems, web technologies, and cloud platforms. But none of those things that you have learned from books, videos, or classroom instruction will help you if you can't think on your feet. The technology keeps changing, and the engineer needs to keep changing with it and sometimes finding solutions on the fly. That's the only way to have a long career in IT.
Cloud Migration Strategies
The skills discussed above deal primarily with the maintenance of an existing cloud infrastructure. Cloud migration engineers should have these skills and then some. In addition to operational skills, IT professionals working in the cloud should know what it takes to move IT resources from the local data center. And a lot of it is about taking the right approach. Let's discuss what strategies are required in cloud migration.
11. Change Management
You may not think of this as a cloud migration skill, but it's just as important as any other. Change management involves the control of "moves and changes" within an IT infrastructure. It involves the creation of a robust and complete plan dealing with every aspect of a change to IT resources — whether it's a server, a network connection, or a database.
One of the biggest causes of internet service outages is the failure of a change of service. These are often scheduled for maintenance windows in the middle of the night. Every planned change should include some kind of written method of procedure (MOP), and there should be a rollback plan to return the service to its original state if problems arise. This approach to service improvements has been common in traditional IT environments, and should be used in cloud migrations as well.
12. Hybrid Cloud
Just because everyone is moving to the cloud doesn't mean that you have to. At least, that's not a good enough reason to disrupt all your live systems and put them somewhere else. First you need to question why you want to move a particular IT resource in the first place — and whether you really should. You may find that security and compliance for confidential databases mean that they are actually best left in the data center.
The cloud may be a good thing, but not for every part of your IT. That's why many organizations have adopted a hybrid cloud approach. Keeping certain elements in the private cloud while moving less sensitive applications to the public cloud may be the best answer for your organization. To prepare for a cloud migration, IT personnel need to understand how hybrid clouds work and whether it is the best decision for their infrastructure.
13. Cloud Provider Selection
As an IT professional, you may be asked for your recommendations on the choice of cloud provider for a particular application. Do you know enough about AWS, Microsoft Azure, Google Cloud, or other providers to offer an intelligent response? You should be able to discuss the advantages and disadvantages of each, and which might be best in this situation.
Using a multicloud strategy is also a good idea for cloud redundancy. You may actually find yourself involved in the design decisions that are required before any cloud migration takes place. The more you know, the more valuable you will be to the company.
14. Cloud Partners
The use cloud of computing might mean that an increasing number of IT functions are being outsourced. It's common for a company to work with contractors and subcontractors to take advantage of specialized skills. In general parlance, you might call them partners for certain projects.
IT professionals are used to these kinds of arrangements. They may sit for months in a team of engineers who actually are employed by other companies. Or an engineer may need to communicate by phone or email with a technical resource in a distant city who is working on their cloud infrastructure. These cloud partners bring expertise to a project that may not be available in-house. It's an effective strategy as cloud technologies continue to advance.
15. Application Migration
Stephan Orban, formerly Head of Enterprise Strategy for AWS, outlines six different strategies for moving applications to the cloud. He calls them "the 6 R's":
- Rehosting ("lift-and-shift")
- Replatforming ("lift-tinker-and-shift")
- Repurchasing (moving to a different product)
- Refactoring / Re-architecting (re-imagining the application)
- Retire (get rid of it)
- Retain (keep as is)
Obviously, moving a software application from the data center to the cloud is not simply a matter of copying files from one server to the other. Applications include code and files that execute commands and perform tasks. While it may be possible to do a "lift-and-shift" by straightforward rehosting from a data center server to a cloud server, there are other possibilities.
In your assessment prior to cloud migration, you will need to determine exactly how you will move an application to the cloud — if you decide to move it at all. The best choice may be to leave it or just get rid of it totally. Be prepared to work with IT and business process owners to find the right solution for each application.
16. Performance Testing
Moving to the cloud will only help you if everything works the way it should afterward. Testing cloud performance will tell you how well your cloud infrastructure is functioning, and highlight what you can do to improve it. Just as in the conventional data center, proper testing is an effective strategy for quality control and continuous improvement.
The software quality assurance company Cigniti offers some answers to the question "How to Build an Effective Cloud Performance Testing Strategy?" They recommend that you: 1) get statistics; 2) conduct stress tests; 3) monitor memory; and 4) check for elasticity and scalability. Every IT system can be evaluated by assigning Key Performance Indicators (KPIs) associated with particular parameters. Performance testing is how you come up with KPI values in cloud computing (and otherwise) to help make informed decisions.
17. Cloud First
Business reasons are not the only drivers for moving IT workloads to the cloud. An article in InfoWorld by David Liinthicum explores why many CIOs have adopted a cloud-first strategy. Here are his claims:
- Reason No. 1: Better holistic security
- Reason No. 2: The cloud is now politically correct
- Reason No. 3: The success of others
It appears that the cloud bandwagon is moving right along, and businesses had better get onboard if they don't want to miss it. The cloud is not only extremely popular, it will soon be the defacto standard for housing the greater part of a company's IT infrastructure. Whatever reasons individual IT managers may consider, cloud first is a strategy that will continue to present itself.
Cost Control Considerations
Information technology has been a fairly specialized field until now. The way to keep a traditional data center going was to ensure that you always had the right expertise in the right places.
System administrators supported servers and workstations, and demonstrated their distinct skills in Windows, UNIX, and Linux. Network engineers supported routers, switches, and other network devices, and specialized in Cisco, Nortel, or other vendors. Storage engineers developed their own expertise.
Today's IT professionals handle tasks all up and down the OSI model. And with cloud computing, they may even need to deal with the financials.
18. Understanding Cost Centers
For a cloud engineer to recommend a particular strategy, he needs to know more than just how to make it work. The cost of cloud computing is a major factor in deciding on a particular service. Looking through a financial lens, the technical professional must examine financial values as much as computational parameters.
What were once named with present participles (e.g., networking) are now referred to for some reason using shorter nouns: compute, network, storage. The language difference may be slight, but the change may be because these are now concepts that can be implemented in many different ways. In the cloud, we see them not only as functional areas, but as cost centers as well. Cloud cost estimations are often divided into these three areas.
19. Cost Factors
When calculating cloud computing costs, you'll need to consider many of the same requirements as those associated with traditional computing. If you want to create a private cloud using your own facilities, you will need to consider the costs of installing and maintaining the equipment, cooling and securing the facility, and so on. But if you are outsourcing everything to a public cloud provider, the calculations will be different.
Compute, network, and storage are each calculated differently. To determine how much you might spend on compute, for example, you will need to know which CPU and operating system you will use as well as the expected usage in percent.
Your costs will be based on how many GB of virtual RAM that you use. Network is measured in GB as well, but in this case it is about the amount of data transfer. The units here are usually terabytes (TB) or petabytes (PB). Storage is measured in GB of virtual disk.
20. Cloud Calculations
When estimating your potential cloud costs, you can do your own calculations on the back of a napkin or in a spreadsheet. But why do all that when the cloud providers have created all the calculators for you? For instance, AWS offers a cloud cost calculator that looks like this:
You can find similar tools with other providers, including Google, IBM, Azure, and VMWare. For a more complete list with links have a look at this article from TechTarget.
21. CAPEX vs. OPEX
Cloud computing alleviates the need for so much onsite equipment. All those capital expenditures for switches, routers, firewalls, and servers have been replaced by an operating budget that depends on usage. In essence, you're simply renting only the computing resources that you need for a particular time rather than buying every piece of equipment, software, and licenses outright.
In some cases, moving to cloud computing could obviate the need for any local IT personnel at all. Costs that once were associated with the IT department may be transferred to the sales department, or finance, or operations. Cloud computing now becomes a commodity, an operating expense — like electricity or phone services. Moving to the cloud can have a big effect on budgeting and cost issues.
22. Total Cost of Ownership (TCO)
A true calculation of cloud costs should consider the whole lifecycle of a project or service. It's more than just adding up the number of servers or the amount of data to be used. Total cost of ownership, according to Investopedia, is "the purchase price of an asset plus the costs of operation". It's about thinking long-term.
An article from a hosting provider outlines the considerations for TCO as it relates to the cloud. They say you should take into account:
- Existing infrastructure
- Existing skills sets
- Service level agreements (SLAs) and contract terms
- Application customization requirements
- Value of shifting from a CapEx to OpEx model
Whatever formulas you use, TCO means turning over rocks in search of all potential expenses related to a cloud project or implementation. You'll need to give a lot of thought to this one.
23. Cloud Workloads
Another way to measure cloud computing is in workloads. Techopedia calls a workload "the amount of work performed by an entity in a given period of time, or the average amount of work handled by an entity at a particular instant of time". Here's a "simple" formula for calculating the cost of cloud workloads:
Cloudops Cost Per Year = ((NW*CW)*COM)+((NW*CW)*SR)+((NW*CW)*MR)
Now, whether you consider that simple or not may depend on your own mathematical aptitude and experience. The point is that cloud project planners should be able to use their own formulas and brainpower to come up with an estimation of cloud costs over a given period of time based on a given set of variables. This will likely require a lot of thought as well.
24. Migration Costs
When calculating TCO, don't forget to include the costs of moving your infrastructure to the cloud. You may know what you will need to spend monthly for storage, but what about the price of getting all your data to the cloud in the first place?
Calculating cloud migration costs will depend on all the actions required for the migration. The change control and methods of procedure we discussed early all come with a cost. What will you have to pay for extra personnel or resources during the move? Just like when you buy a new house or get a new apartment, you need to budget for the moving costs.
25. Capping Your Expenses
A final consideration in the examination of potential cloud computing costs is the amount of money available from your company. You may have grand ideas for a new cloud-based network, but if you're not the one controlling the purse strings, you may have to think again. If your budgets are capped by executives and accountants in the central office, there's not a lot that you can do but comply.
The problem with pay-as-you-go, however, is that you may not know in advance exactly what the total usage will be for all your compute, network, and storage services on the cloud. It's probably best to budget high until you know how the expenses will go. You may be able to cap usage with your cloud provider to keep costs down. The last thing you want is a cloud computing bill that is 10 times what you anticipated. Whatever you have to do, make sure that doesn't happen.
There is no lack of learning resources to bring you or your team up to speed on cloud computing. Repetition is also helpful, and sometimes we are able to see things from a new angle. If you are preparing to work as a cloud engineer or manager, you'll need to know something about the skills and strategies required, and the costs involved. We hope this post has been of some help to you in your journey to further success as an IT professional.