If there’s one thing that I know for sure, it’s that change, especially in IT, is the only constant.
Photo by Dylan Lee (https://www.flickr.com/photos/canon_dlee/40565384360/)
Eleven years ago, I was working in the web hosting industry. At the time, I was invited to visit a customer who owned some of the best and biggest Tier 4 data centers in Germany. These facilities were mostly operated by banks and large brands like Equinix, Global Crossing, and others, and they had thousands of racks, servers, and cables.
This customer was one of many companies who leased data center space and resold web hosting services like dedicated servers or Virtual Private Servers (VPS). These guys were particularly smart and spent a lot of time trying to automate their services so that their customers could monitor the infrastructure and take control if needed. Most of that software was written in Perl (I actually remember a big book about Perl on their desk!) and it was absolutely scrappy, a few charts, some commands to reboot servers, and so on.
I was curious. Instead of reselling hardware and space, why didn’t they focus on software? The money is in servers, they said, and we have the best bandwidth!” Got it. At the time, most people in the web hosting and data center industry were not considering the potential of building software at all. Everyone was using popular control panels like Plesk, cPanel, and others.
This was 2007 after all. Amazon Web Services (AWS) would soon be launching its fifth publicly available service, Amazon Simple Storage Service, known as S3. In our world back then, Rackspace was the big name, and I was learning a lot about my industry with daily visits to webhostingtalk.com. While running Hosting Talk I saw companies and young entrepreneurs building internet businesses in just a few months, reselling servers, web hosting spaces and creating their “margins” that way. The industry felt profitable and safe. It was a fascinating time.
Curious to see the result of that trip? We still have that article online at Hosting Talk.
Cloud changed the relationship between infrastructure and developers and transformed how IT works
A lot has changed in 11 years. I went from working closely with web hosting providers who were skeptical of the cloud in the early days to actually helping companies transform themselves with cloud technologies, going from infrastructure to machine learning, and DevOps in rapid order.
Out of all the big changes that have happened over the past decade, what tipped the scale in favor of cloud? I think APIs made the real difference. It wasn’t the fact that APIs were available to launch instances or control an environment. Rather, APIs made it possible for developers to get closer to resources, to the infrastructure itself, enabling them to build brilliant solutions to run their applications. Remember, just 10 years ago it wasn’t usual for a developer to touch servers or anything perceived as “infrastructure.” The sysadmin was in charge of providing resources, upgrading them, and ultimately it was up to them to provide your development team with more resources ( CPUs, more ram, etc.). That’s why people in the data center/web hosting world didn’t really understand cloud at first. “Why would you need APIs? Why would I need to control my instances through software? Do you really need scalability?”
I think part of that blindness was due to the fact that the web was a very different place back then. Web apps were different and much smaller compared to today. Remember, we’re still talking about 2007 and the first iPhone would be released in June of that year.
With access to storage, compute, and networking, and the ability to control all of that themselves, developers started building more and more applications on top of providers like AWS. That’s how we got the first SaaS applications. It’s also how, all of a sudden, cloud gave developers the power to build faster and more powerful online applications.
Over the last few years we’ve seen an even bigger step forward. Today, we use the cloud to build software and operate products/services. No vendor is asking you any more to install an agent on your servers. They release software for AWS, Microsoft Azure, Google Cloud and several other cloud vendors. You simply get all of that integrated with your cloud stack and keep adding functionalities to your software. What’s really cool? When you forget what a server is. Serverless is a silent, yet giant revolution happening in thousands of companies at this very moment.
When I started building Cloud Academy, we could see how some forward-thinking companies using the cloud wanted to keep their options open with more vendors. The concept of lock-in quickly gained popularity when talking about the cloud. All of the major platforms have differentiators, but granting all of your data, applications, and software to a single company is a risk for many reasons, from costs to technology lock in.
It’s important to remember that your company is no longer buying hardware. Instead, your developers are building software and managing data with proprietary software that a cloud vendor is exposing to them. When you need more, you simply add other specialized components to your stack ( machine learning or artificial intelligence libraries, for example).
This concept of buying resources that comes with technology and the possibility to transform them into something bigger for your software, is what brings me to the next section.
Why are companies going multi-cloud?
It’s true that multi-cloud is increasingly the new normal, especially for large enterprises. And while lock-in was the primary reason in the early days, that’s only part of the equation. Today, the availability of better technology and software is driving companies to gomulti-cloud. Think about machine learning and artificial intelligence: Google Cloud still has the best technology in this space. It’s common for companies to run storage and compute on AWS but look at Google Cloud Platform for machine learning services.
We see the same thing with Microsoft Azure and with Salesforce, which frequently co-exists with AWS and Azure for a lot of companies.
Multi-cloud is more than AWS, Azure, and Google
Multi-cloud is also more than public/private cloud vendors. Think about the number of SaaS tools that enterprise companies use today. I think about multi-cloud as the integrations and interactions between these tools rather than cloud vendor platforms. In fact, most of them—like Sumo Logic, CloudCheckr, CloudHealth Technologies, and also Okta, XebiaLabs—sit on top of Azure, AWS, and Google Cloud.
Buying SaaS software is easy and that’s what’s helping multi-cloud environments
There is a common trend inside any organization who is boosting multi-cloud: developers and departments are buying software to solve specific problems or enable specific projects. Most of these vendors are in the ecosystem and are integrated enough to make this decision a no-brainer for companies. Need a solution for monitoring our logs at scale? Easy, let’s buy a solution like Sumo Logic, which is highly integrated with AWS and Microsoft Azure.
Multi-cloud is the standard for a modern organization, but think of it as a framework of several services that need to be able to work with one another. This is the modern cloud stack, and it’s how companies buy and use software at scale.
Look at the Cloud Ecosystem
I love this “landscape” from the Cloud Native Computing Foundation.
Their “Cloud Native Landscape” provides a great overview of how complex and crowded this space has become. It’s not hard to find companies who are using 80% of these services in their stack.
Cloud Academy is working with many of these organizations to offer our customers a full solution for helping companies and their teams evolve with all of these technologies. An example? We are currently working with HashiCorp to add more content to our library. Our HashiCorp Vault course is already available online. We like to think of this as building the first operating system for cloud skills.
Cloud is about people and skills
When we started building Cloud Academy, one thing was clear: how a company sees the cloud depends on the skills of its teams. Five years later, this is still among the biggest challenges that enterprises face.
Cloud, the way we think of it today, is no longer just infrastructure. Cloud means software and ultimately that’s how companies run their IT departments today. Again, if you think cloud skills are limited to setting up AWS EC2 instances you probably missed what happened in the last five years: public cloud vendors have been building more and more software and serving it through APIs (for machine learning, to control security, to assign roles and permissions, you name it). Some of this software became unique and highly specialized, meaning that customers usually prefer using these APIs from their vendors instead of building and managing it internally, even if they are probably based on open-source projects.
Defining the boundary of your cloud skills
Today, cloud skills are an intersection of skills in software development, operations, and security. Most of the people working in large organizations are not prepared for this from a cultural perspective and even less from a technical point of view.
Having these capabilities within your organization promises a faster time to market to build applications and run them in your company for thousands of customers. More importantly, it signifies an ability to compete with new software that you customized for your business. It might be a mobile application that your competitors don’t have yet, a digitalization of processes that until yesterday were limiting your customers, or it could simply be a better way to let them use your products.
To summarize, think of cloud skills as software skills. In a world where everything is digital, your company needs to build and operate software. People, and their skills, are the core assets of your strategy. This is also something we truly believe at Cloud Academy that led us launching our Cloud Skills Assessment technology for enterprise customers as a pillar of our software offer.
Hiring vs. Training: You need both to master cloud skills
Most every enterprise has to recruit outside the organization for some of the skills they need. Open a software engineer job position and you will find mentioned several cloud-related skills: AWS, Azure, Docker and specific SaaS tools!
The problem over the past several years is that there are simply not enough qualified engineers and managers to meet the demand. I don’t expect this to change anytime soon. Google, Facebook, Amazon, Apple, and hundreds of well-funded startups attract the majority of great engineers in the market. Enterprise companies can compete only if they are using the same cutting-edge cloud technologies, and also if they have a dedicated plan to constantly upskill their teams.
Cloud speed and skills
Amazon, Microsoft, and Google are updating their cloud platforms at an unprecedented pace. In fact, most SaaS companies—probably every software in your cloud stack—are constantly releasing new versions.
For platforms like AWS who release 1,000+ new features every year, you cannot ignore the importance of keeping your teams up to date. Why? For one thing, your security is based on those updates—our software “calls” them every day for various functionalities. This became part of your proprietary software, but you are now fully dependent on it. Enterprise companies are not used to this speed of change. Cisco, NetApp, Microsoft, none of these organizations were releasing updates at such a rapid rate. AWS changed the pace, and now thousands of other vendors are doing the same.
This is why continuous cloud training is something absolutely new but required for enterprise companies. As your cloud stack grows with more and more software and services, you need a way to keep your teams up to date with the latest releases and make sure they know how to integrate these updates into your environment.
Very, very interesting