As already mentioned in one of my previous blogs I am currently doing the Cloud Certified Professional (CCP) program which is dedicated to excellence in the fields of cloud computing technology, architecture, security, governance and capacity.
Module 1 is about fundamental cloud computing concepts, in this blogpost I will be describing the business & technology (innovations) drivers that led to the existence of cloud computing.
One of the main reasons why organization choose a cloud as remote platform is for capacity reasons. Capacity planning is an unavoidable responsability for most IT organizations. Future demands from business need to be planned for and accomodated. This can be very challinging because this involves estimating the usage and specially usage fluctuations over time. Nowadays we see concepts like API Gateways that directly exposes enterprise (web) API’s to the outside world, which logically impacts the usage of the IT infrastructure and increases the demand. This usage is very hard to estimate given the fact that the entire public user-base out there could be potentially using the API at the same time. So there is constant need to balance peak usage requirements without unnecessarily over-spending on on-premise IT infrastructure.
Cost reduction and operating overhead
A traditional on-premise IT infrastructure requires a initial investment, for organizations with fluctuating or unpredicable usage requirements it can be very expensive to own IT infrastructure that can accomodate usage peaks, but is, for the most part to heavily sized.
Flexibility and organizational agility seems to be a hot topic these days, everyone wants to join but nobody knows exactly how. From cloud perspective IT organizations needs to respond to business change by being able to scale it’s IT resources beyond what may have been previously predicated or estimated for. Or perhaps the IT resources needs to be more available and/or reliable than previously thought. The ability for an IT organization to be able to respond to these changes in capacity or availibility helps to increase an organizational agility.
Grid computing technology
Grid computing is not new, it actually emerged in the 90’s. With a grid you could plug in into a pool of shared computing power and “pay-as-you-go” pricing model. This concept led to the basis of “elasticity” and is part of the fundamental characteristics of a cloud (more about this concept in the next blogpost).
Nowadays we see concepts like API Gateways that directly exposes enterprise (web) API’s to the outside world. With this potential public user-base the usage loads can be very unpredictable. The IT infrastructure that is evolving in support therefore introduced the need for load balancing, server farms, clustered servers en databases to accomodate these changed usage requirements.
Virtualization is an already established and proven technology that has enabled IT organizations to repeatedly leverage physical servers for wide, concurrent usage. This technology also enables “elasticity” by allowing one physical server to host a variable number of “virtual” servers. Keep in mind that virtualization is an absolute key technology in modern cloud computing environments!
In the next blogpost I will be describing the cloud characteristics, these need to exist to a meaningful extend for the IT environment to be considered an effective cloud.