If the first thing you think is “rain” when someone says the word “cloud,” chances are you’re in need of a little education on the world of cloud computing. It’s a complicated space, so you’re not wrong to feel a little intimidated.
But we’ve put together a small list of basic cloud terms that will get you through a quick conversation by the punch bowl at a cocktail party. Bonus: you can learn them all in about 10 minutes before you head out the door.
First things first: cloud, in the world of technology, refers to a third-party-maintained resource pool (if you’re a software person already, think of it as a remotely hosted data center) that offers software infrastructure, software platform and/or fully functional software for a fee. These resources can be shared with other cloud users (think carpooling) or rented exclusively (think renting your own car).
If you’re using a smartphone, a smart tv or a computer, then it’s likely that you’re already interacting with the cloud – ever created a gmail or yahoo email account? Or streamed media in Netflix, YouTube or Pandora? You can thank the cloud.
Now that you know what people mean when they talk about something being in the cloud, it’d be good to know where something is when it’s not in the cloud.
Let’s say you’re a meme maestro and you built a software application that can generate awesome memes and — because you’re clearly awesome — it has become an instant internet hit and everyone wants to use it every single time they use social media. If you host and offer your meme generator to the world of Internet from your home computer/server, it is what we call an On-Premise solution model. On the other hand, if you choose to use that awesome super-computer your friend has built and pay him for the compute time, capacity & storage, we call it a Cloud solution model.
The thing is, your meme generator is so popular that the demand is bound choke your system frequently, requiring constant maintenance and upgrades — in an On-Premise solution model, they are your responsibility, whereas, in a Cloud solution model the cloud solution provider supports the maintenance and upgrade.
In the cloud model, you do what you’re good at (generating on-point memes) and your friend does what he is good at (offering the infrastructure and platform for your awesome work). You do pay for your friend’s services, but you earn more time and an effective Infrastructure to increase and improve your meme productivity.
A cloud service is, for the most part, exactly what it sounds like. In technical terms, it’s a software, software platform or software infrastructure that’s offered as a service (think renting instead of owning).
Let’s revisit your meme business.
If you host a web application (of course, from your friend’s super computer) for people to create their meme requests, make payments and download the final memes, you’re offering your meme generator software as-a-service to the world. We could come up with a new acronym for it: MaaS (Meme as a Service).
If you’re still unclear, perhaps a different analogy will help:
Think of your IT solution as a residence. An on-premise/self-managed solution is like owning a house. You’re responsible for mowing the lawn and fixing the furnace when it breaks.
A cloud service is like renting a fully-furnished apartment. You move in, and you’re set. If anything goes wrong, call the landlord. And in the IT world, renting (cloud service) is cheaper than buying (on-premises solution).
Without virtualization, there would be no cloud computing. Virtualization is a concept of resource sharing, in other words, virtually defining an infrastructure component from a pool of hardware resources – servers, memory, network, storage etc.
Virtualization gives us the luxury of tailored infrastructure and efficient resource consumption.
Here’s your analogy:
Imagine 4 dinner parties being hosted in a single venue. Each requires exactly ¾ of a barrel of the same vintage wine. If the venue owner is a stickler about pricing, they’ll make each host order and pay for a whole barrel, wasting ¼ of the barrel and paying for more than what they need. (Hint: that’s the world of dedicated hardware.)
If the venue owner rejoices in the sharing economy, the chef will handle the distribution and each host will pay only for the ¾ of the barrel they consume. It’s a win-win because the hosts pay less, and the cellar holds an extra barrel of that vintage wine for someone else to savor.
In a way, cluster is an extension of virtualization. A cluster is a group of similar resources that work together to present themselves as a single logical unit. For example, a group of servers can be clustered together to form a virtual megaserver. This megaserver is fluid and capable of adjusting its footprint – by taking in a new server to grow its resource pool or losing a few to shrink itself in response to a reduced load.
Of course, clusters are expensive in an On-Premise solution model. Thanks to virtualization, clusters in the cloud are cheap because infrastructure components in cloud are virtual and can be deployed or decommissioned in no time.
Benefits like fault tolerance and high availability are inherent to Clusters. By making clusters cheap, Cloud platforms make these benefits more accessible.
And… you guessed it, an analogy:
Imagine a bakery that serves only chocolate cakes and only to felines. The average cat is satisfied by one entire cake. Fortunately, the baker has the capacity to cut or combine cakes as needed. So when a kitten comes in, she is satisfied by a ¼ of a chocolate cake. And when the tiger arrives a few hours later, he receives a 3-tiered chocolate cake.
Each is given the serving appropriate for their particular need.
A container is a sealed application package. In a way, a container is like a standard spec folder box that can be picked up and placed on any file cabinet anywhere in the world, ready to be used by whoever needs it. Containers are portable, scalable, operating-system-independent, and disposable.
Running an application inside a container means that it can grow or shrink as needed without impacting the applications around and in connection with it. Because each container is isolated, there are no dependencies or compatibility issues.
You probably don’t have to think much to imagine a time when you were trying to organize an assortment of oddly-shaped items — in a closet, the trunk or your car, your refrigerator. How much easier would it have been if each of the items was enclosed in an equal-sized box?
You would simply line them up and stack them. Containers do the same thing in the cloud.
Having supply and demand match each exactly at any given moment seems like an economic impossibility, but in the world of cloud computing, it’s called elasticity. And it’s entirely possible. An elastic system is able to adapt to changing workload demands by automatically adding (scaling) or deleting resources.
Elasticity is simpler with Virtualization. Because the resources are shared, the system doesn’t have to reserve a capacity it doesn’t need or do without necessary capacity if the need arises.
Imagine you received a magic trampoline as a gift. It could bounce everyone exactly 10 feet into the air every single time they jumped, no matter how hard or light they jumped on the trampoline and and no matter how much they weighed. The trampoline would automatically adjust the bounce to deliver a constant performance. Pretty neat, huh?
You can throw some of these terms around while you’re sipping a cocktail, and you’ll be sure to impress the other guests. Or you could use this list as a jumping-off point to better understand a technology that’s not going away anytime soon.