Just think of your company’s data center. What do you think what all that data center may comprise of?
Majorly it consists of following as depicted in below image.
Now just image if some other big organization is having very huge data center or data centers and rent it out to you for using it. Just like instead of purchasing your own car, just get it on rent. Off-course you just pay for the taxi usage without actually owning car.
Now another question may be how is that feasible for data-centers? The answer is virtualization. So far you must have worked or known about virtual machines which are actually running on high configuration physical machine. Similarly, in technology world we have got a huge leap and now the data-centre components mentioned above are virtualized. You have virtualized networks, having virtual machine, hosting services like DB, application, storage, etc. Every think is now virtualized.
So basically, all the cloud providers have huge capacity data-centers , which are sharing their data-center services to other organization via virtualization techniques. And since all these components are virtual for you (some orchestration software creates virtual instance for you, like vagrant) it is very much possible (and in fact easy) to just write up few lines of code to create your virtual infrastructure. That’s why you will hear a term “Infra as a code” in cloud world.
Since your organization is not procuring the hardware, instead requesting virtual instance on cloud, its very simple and you just pay as you use it. If you are not using it, release it back to cloud resource pool, and you will not be billed for its. Definitely it’s a beauty of the cloud that you can very easily upscale or downscale your application infra with ease (just with few clicks).
As per wiki, cloud is defined as – “Cloud computing is shared pools of configurable computer system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a public utility.”
Hopefully, this gives a very basic understanding of what cloud computing is all about.
So what are the benefits of cloud computing? Lets discuss them :
- Fast Implementation
If you’ve been there for a development or implementation of an application, it takes sometimes months or even years to procure the infrastructure to deploy your application, with cloud you can make things faster.
- Instant Sociability
With cloud resources, you can always scale up or down the no. of resources according to your requirement, the cloud capacity practically never runs out!
- Access Anywhere
Cloud resources can be accessed via internet, you just need an internet connection.
- No Upfront Costs
No need to purchase the necessary hardware or purchase software licenses etc, but with cloud all those costs are dramatically reduced and in some cases eliminated.
- Maintenance Free
With cloud you don’t have to worry about the maintenance of your hardware, it will all be managed by your cloud provider.
Traditionally, an estimate has to be made for the hardware requirement based on projected increase in user base or expansion in business. So when you are procuring new hardware, you procure them based in business projection in next couple of years, although you don’t need that capacity at that moment. Projections are also not very accurate. This causes your infra to be under-utilized or over-utilized. This can be easily avoided in cloud as you may expand or shrink your infra as per the current requirement. This is what we call as scale out or scale in.
Next, we will be discussing the standard service models and deployment models of cloud.