Cloud 101 – And Not Just for Dummies
The cloud deliberately hides the technical and operational complexity from consumers so they can get on with their real jobs. The physical manifestation of a cloud is a collection of data centers, filled with computers, storage, and network hardware; and it’s run by an expert cloud service provider. All of this is offered to cloud consumers through a simple online application and management interface. And I love “simple.”
When people use Skype or Gmail they don’t need to know how Skype works or what or where the Gmail technology and data is. Like I said, the complexity is hidden from the consumer so they can just get on with video calling and emailing. The same is true for public cloud from a corporate IT perspective. And I still love “simple.”
The Benefits of “Cloud Characteristics”
However, cloud “characteristics” don’t just make someone’s job easier; they also transform that job to make it better. When any consumer subscribes to a cloud product, they also benefit from other cloud characteristics originally defined by NIST in 2011:
- Self-service – work at your own speed, no more tickets and talking to techies.
- On-demand – pay as you grow, add users and features as you need them.
- Broad access – break free of the office, access your stuff from any device and any location.
- Shared resources – sharing is cheaper, and “friends don’t let friends build datacenters.”
- Metering – no more hidden fees, with complete transparency of usage and billing.
In terms usage, there are three main cloud consumer groups:
- Cloud applications for the business user – SaaS
- Cloud platforms for the developer – PaaS
- Cloud infrastructure for the IT administrator – IaaS
Cloud Applications for the Business User – SaaS
Think about a salesperson who sells cars – they make money when they are selling cars, not when they are dealing with the IT that helps them to sell cars. They need to track customers to keep in touch with them and keep enticing them to the forecourt. They will most likely use customer relationship management (CRM) software but the salesperson isn’t an IT expert. They don’t want the hassle of buying computers, installing the software, installing updates, and connecting to the network. All they want to do is track customers and sell more cars as a result.
So the best option for the car salesperson is to rent CRM software as a cloud-delivered service and let the service provider do all the techie stuff for them. The salesperson can then concentrate on selling cars to existing, and hopefully new, customers. All the salesperson needs to do is get out their credit card, log on to any popular CRM software website that offers a “hosted” or software-as-a-service (SaaS) option, and they will be up and running on their home PC, tablet, or phone in minutes. They don’t need to buy a work PC or mess around with the complications of installing new software.
What the cloud is doing here is hiding, or abstracting, all the technical complexity of how, what, and where the CRM software is “done.” When it comes to upgrading and patching the CRM software, and when it comes to security monitoring, the cloud service provider does it for the salesperson and their other consumers. Cloud lets consumers get on with their business. Likewise, cloud lets corporate IT departments get on with supporting their business.
Cloud Platforms for the Developer – PaaS
Most people would agree that business users want to do business and developers want to develop (although I’ve heard other, less polite, things said about both end users and developers). And the life of a software engineer is a pressured one, especially now that “software is eating the world” and that every business needs to be a software business these days.
Just like the car salesperson doesn’t want time spent on technology to get between them and their customers (and sales), a developer doesn’t want IT to get between them and their software. Cloud helps here by once again doing the “double-dip” benefits of hiding complexity and bringing benefits that make the developer’s life easier.
Rather than a developer having to build their own IT infrastructure, or having to work with an IT group to do it for them, they can instead consume a ready-made developer platform that frees them from all the low-level IT work. Cloud lets them concentrate on application development.
Just like the car salesperson can go to a CRM online software company and use their credit card to subscribe to the software and to “pay as they grow,” a developer can pick an online platform-as-a service (PaaS) company and subscribe to the platform. Again, paying as they grow.
Once they’ve subscribed to a PaaS service, all the developer needs to do is to integrate their development environment with the platform service. For example, when they run their tests and compile their software it automagically gets pushed onto the online platform. No manual intervention is required.
When their application runs on the platform, in production, and a seasonal spike in requests happens (think ticket sales leading up to a show) then the platform automagically adds more capacity to the application to deal with the load. When the load falls, the platform reduces the capacity. No manual intervention is required.
Think about the five cloud characteristics as now applied to the developer:
- Self-service – manage the platform and resources at the speed of development.
- On-demand – as the application develops, match resources to it.
- Broad access – get world-wide team access to the application platform.
- Shared resources – it’s cheaper to share rather than using your own datacenter.
- Metering – see what you use and what’s happening, and control your own usage.
PaaS has been, and continues to be, a growing cloud service model, which has PaaS providers continuing to add many new features to improve the life of a developer. It’s now possible to consume databases as a service, and even complex machine-learning systems as a service. Developers now see their applications less as monolithic business logic and instead as connective glue, bringing cloud services together for some business purpose. All of these changes have spawned a new class of applications called cloud native applications. PaaS is a software platform that enables cloud native applications.
Cloud Infrastructure for the IT Administrator – IaaS
The largest part of the cloud market today is infrastructure-as-a-service (IaaS) and it’s the most familiar to corporate IT people. Although IaaS takes away a lot of low-level work needed in data centers, it’s still too complex and specialized for non-technical people like car salespeople to consume. Unless you’re a techie, you won’t want to embrace IaaS. So corporate ITs’ customers won’t want to circumvent IT to buy IaaS, or PaaS for that matter; they will most likely opt for SaaS.
Developers will use IaaS, but it should be questioned as to why they need to spend the time on IaaS when they could use PaaS to do the heavy lifting for them. What SaaS does for business people, and PaaS does for developers, IaaS does for IT administrators. Some of the pain-points, often known as “undifferentiated heavy lifting,” that IaaS removes from IT administrators are:
- No more building data centers
- No more physical networking
- No more racking and stacking compute and storage
- No more operations for all of the above
- No more procurement cycles
Personally, my back would love to lose some of the heavy lifting.
The last point – no more procurement cycles – is crucial to business. If the cloud provider takes all the physical complexity out of the equation, it also means that IT procurement can get off the hamster wheel of periodic product refreshes because they’ve swapped the capital expenditure, and sunk costs, for an operational-expenditure subscription model. In this model, the cloud provider worries about depreciation, power, upgrades, field maintenance, and all of the other infrastructure headaches, not procurement and IT.
However, please read these final points about IaaS with a pinch of salt. New companies might be able to do without data centers but those that have a large and dated application portfolio might still have to host and manage legacy applications that can’t be migrated to the cloud, or it’s simply too expensive to do so.
So that’s my Cloud 101 blog – I hope that you found it useful. Please let me know if there are other areas where I can try to offer up explanations.
Posted by Joe the IT Guy