OK, I admit it – I wanted to call this blog "The Dawning of the Age of the CloudPro." It was hard to resist. Think about all the hippy pics I could have used. Cloud Power, man! It would be totally groovy. But don't worry, I'll save you from all that and just get to it. You're welcome.
What in the world is a CloudPro???
This week, I've had an ongoing conversation with Office 365 MVP Ben Curry about the future of the ITPro in light of the Cloud Phenomenon. In order to "do" the Cloud, someone working in IT must really have a mix of skills that don't fit neatly into any one of the traditional categories. They must be able to understand infrastructure, write scripts, understand authentication and authorization (OAuth vs. SAML vs. WS-FED), be comfortable in Visual Studio, etc. They're not Devs, and they're not quite ITPros.
"CloudPro" is a new term that I'm coining to describe the new category of professional who is focused on the Cloud and Cloud technologies. Although they tend to have an ITPro bent, they include a lot of the skills traditionally plied by their Dev brethren (or "sistren"?) as well. The mix of skills is similar to that of a DevOps practitioner. I'll try to spell out those skills below. A CloudPro is someone who understands the underlying concepts of the Cloud, like IaaS, PaaS, and SaaS. They know how authentication works and how to setup hybrid identities. They are comfortable with PowerShell and frequently think in terms of automation and scalability. They get that the cloud is really all about "disposable computing" (a term I first heard from Scott Zimmerman at AWS). Their focus is frequently on building a patchwork of cloud services which modern businesses need to be efficient, resilient, and cost-conscious. They build the bridges which allow their customers to reap all of those tasty Cloud benefits.
But what about the ITPro?
Let's face it, the days of the traditional ITPro are numbered. We're moving more and more into a world driven by PowerShell and configuration tools. Although scripting and light development was par for the course for ITPros "back in the day," many of the current ITPros would be lost if they didn't have a nice UI and lots of help from Bing/Google (Boogle?). Because Cloud work also frequently involves Dev and even Business Analyst skills, many modern ITPros won't be able to do Cloud. I'm not trying to hate on ITPros, since I really think of myself as one at heart. They're my tribe. However, ITPros unwilling to modernize their skills will find themselves put out to pasture as the Cloud comes rolling in. There still are many COBOL programmers out there who are gainfully and comfortably employed, but opportunities are few and far between.
The good news, though, is that it's very much possible for them to prepare for the Cloudy future – and they'll have fun doing so!
One of the hallmarks of the Cloud is that, at its most basic level, it's a set of services that can be consumed to solve a problem. Those services are many and varied. For example, there are the vendors: Microsoft, Amazon, Google, etc. Beneath the vendor layer are the main Cloud categories: IaaS, PaaS, and SaaS. Inside each of these are the individual vendor-specific products. A CloudPro may specialize in any tier or component in the stack. One CloudPro might have a particular focus on Azure PaaS offerings, while another might be focused on AWS' IaaS, while yet another might be focused on Salesforce and SaaS. Some might be focused on Office 365. Others might not specialize at all and be open to any and all cloud services, tying them together (including across vendors).
The tremendous diversity in cloud services will result in great diversity amongst CloudPros. With the cloud vendors' rapid pace of innovation, the options will only grow, providing even more opportunities to learn and potentially specialize further. For someone who loves technology and is always interested in learning something new, then all of this diversity and innovation will be delightful. However, if you're unwelcoming of continual challenge and aren't looking for more personal growth, then this might be a daunting field for you. Don't get me wrong – it doesn't mean that you can't or shouldn't be a CloudPro. You certainly can pick and stick with a few specialties. However, the speed and ease at which a vendor can iterate on your specialty will likely mean an increased need to stay current in your niche.
Although it's still early in the Age of the CloudPro (sorry – I couldn't resist), I'm going to try and outline some of the primary skills and technologies that a CloudPro would likely need. You'll see that a lot of these apply to a traditional ITPro. They do, however, have a different bent or context, and they'll be needed in conjunction with the other skills listed.
- IaaS/PaaS/SaaS (of course). Understand each of these types of services and when/where each are appropriate.
- Know the major architectural differences between the main vendors. Stay familiar with their public roadmaps and know how to calculate costs (at least roughly).
- PowerShell or other scripting (including best practices)
- Identity Management (SAML/OAuth/WS-Fed) and specific vendor identity sync tools (especially Microsoft's DirSync)
- Performance profiling and monitoring in the Cloud
- Visual Studio and/or other IDEs. Develop some comfort with code and the tools of the dev trade. At a minimum, at least learn how to read the primary development languages used by your organization.
- Networking at least at a medium level. The Cloud needs lots of connections, so at least be able to talk at a 200-level with a network professional. Build relationships with them - you'll need 'em on your side! J
- Cloud security
- JSON and XML
- Know the basic concepts of working with public-key infrastructure (PKI) services, including issuing, installing, renewing, and revoking certificates.
- Desired State Configuration (or other declarative configuration technologies like Chef). Remember, for many services, we want cattle, not pets.
- Source control (we really should be using it)
For Microsoft Azure (sorry, AWS folks, but it's my current focus):
- Azure Active Directory
- Storage, networking, compute & how to make them performant and fault-tolerant
- Azure Resource Manager (ARM)
- Azure Recovery Services
"Soft skills" will be just as important as the technology (and sometimes more so). They can actually be harder than the tech. Here are just a few that would serve the CloudPro well:
- Understand the whole concept of disposable computing
- Understand loosely coupled architectures
- Understand scaling strategies
- Workload analysis (is it even fit for the Cloud?)
- Cost analysis
- Most of the concepts in DevOps
- Workload migration (lots of planning and testing)
- Strategic planning
- The ability to collaborate well with business users to define such things as goals and requirements
- Application lifecycle management (ALM) and the software development lifecycle (SDLC)
Again, these are just a few of the skills required by the CloudPro. The challenge for the CloudPro is that, unlike a traditional ITPro or Dev, they really need to have the large majority of these skills in order to succeed.
Lasciate ogni speranza, voi ch'entrate!
In Dante's Inferno, above the entrance to Hell are the Latin words "Lasciate ogni speranza, voi ch'entrate!" That translates to "Abandon all hope, you who enter here." If you're an ITPro or Dev, is this what you see when you think of the Cloud and the road ahead? If so, don't give up! There's hope! All of the skills needed to become a CloudPro are well within your reach.
There is a tremendous amount of resources out there which can help you make the transition. Microsoft and Amazon have done a fantastic job documenting their technologies. They give many, many examples of how to use the services. I especially like the AWS whitepapers and reference architectures. TechNet has never been better.
Also, both Microsoft and Amazon provide new customers some amount of free resources which you can use to kick the tires and learn the tech. If you have an MSDN subscription, then you very likely have a monthly allowance that you can use for any Azure service. Stop to think about how cool this is. Say you wanted to learn failover clustering. Traditionally, doing so would be quite difficult and expensive, since you'd require a significant amount of hardware, including a SAN. How many of us have that much gear hanging around? Although the lack of accessibility is good for job security if you're a Cluster expert, it can make learning clustering prohibitively difficult for someone else without the kit. But this isn't the case for the Cloud. Want to learn about Machine Learning or the Internet of Things? Then hop onto a Vendor's portal, spin up the service, play with it as much as you like, then throw it away when you're done. Good luck trying to learn Hadoop in a physical environment. With the Cloud (and a lot of room on a credit card), anybody can spin up a Hadoop cluster and learn it. That's pretty darn sweet.
Take advantage, too, of the various other learning opportunities out there. Keep an eye on MindSharp and Combined Knowledge for upcoming classes. Subscribe to services like Pluralsight. Listen to industry blogs (I especially like The Azure Podcast and the Microsoft Cloud Show). Attend local user groups/meetups, and watch out for special Microsoft events. And don't forget about all the excellent content on Channel 9, including full sessions from the Ignite and Build conferences. As with most things in IT, just jump in and get your hands dirty. Find a problem to solve and then, well, solve it! Hands-on experience will likely be your best teacher.
What's next for the CloudPro?
Frankly, pretty much everything is still ahead for the CloudPro! This is such a new category, and there's still so much further to go in the Cloud space. Many services are still in their infancy, and many organizations have yet to grok the Cloud. Heck, there are still services which haven't even been imagined yet! Forgive the pun, but the sky's the limit! We're still living on the frontier.
I think one of the key areas of growth for CloudPros will be in the Operations space. ITPros generally have a handle on Operations. As an industry, we know how to monitor servers and services. We know how to backup systems. We know how to secure them. What we haven't quite figured out, though, is how we do all of this consistently in the Cloud. It's even harder in a Hybrid environment. How do we manage the services that we need, ensure their availability, protect the assets, and generally make sure the business is getting the results it needs? And how do we do that consistently and efficiently when you're both in the Cloud and on-premises? For example, how do we prepare our Operations-focused colleagues to restore data in an Azure storage account? I think that both the products and the best practices for this whole space are largely still to be created and understood.
As we CloudPros and Cloud Architects go further up and further in, we should do what we can to help those around understand the value of the Cloud and how to use it. We need to help foster a Cloud-first or Cloud-native mentality which may be counter to traditional ITPro and Dev thinking. In short, we need to be Cloud evangelists and help make the Cloud a reality. Keep an eye on the Summit 7 Systems blogs as we produce more and more Cloud-centric content.
Exciting things are ahead. To the Cloud!
P.S. A huge thank you to Ben Curry and Paul Robichaux for their help with this blog.