What does the Cloud mean to me?
The Cloud means different things to different people. Everyone has their own views of the Cloud and myriad usage patterns have evolved, even while new and innovative options are emerging everyday.
The standard definition of Cloud computing, as quoted in Wikipedia:
So in essence, the Cloud is an environment where all aspects of computing are availed of as a service and consumers, be they individuals or business entities, do not own any part of it. To host and run a small application, all areas of the computing infrastructure come into play, such as the infrastructure in terms of the server and storage; the application components, including the web/application server; and the actual application, which either has to be built in-house or purchased from a vendor and customized if necessary. After the initial application is built and hosted, then other aspects come into play, such as ongoing maintenance in terms of bug fixes, upgrades, maintenance etc.
The Cloud offers three primary service options, which can be mixed and matched as per your unique requirements:
* SaaS: Software as a Service
* PaaS: Platform as a Service
* IaaS: Infrastructure as a Service
Today, all of these aspects are available off premises via the Cloud. There are options to avail of pre-built solutions that are hosted on platforms from SaaS providers. Or, if you want to customize and/or build your own application then PaaS platforms are available, in which case capital costs in terms of server, storage, and application license costs are totally eliminated and the same application is provided as a service either on a per transaction, pay per use or subscription basis. Many larger organizations are leveraging the third option—IaaS—in order to incorporate virtualized scalability and availability into their core business applications without having to utilize their whole IT budget and server storage space just to manage peak loads.
Now let us study how different users avail the Cloud and what benefits they derive out of it.
* End Users: The end user is an individual who is availing the Cloud for his own personal use. Most end users probably don’t even realize they are using Cloud-based applications. A typical usage scenario could be doing a Google search to find out Thai Restaurants in your neighborhood or availing of an online application to have your taxes done. In both cases, the application is hosted in a Cloud environment, and, in the former, the service is free, while in the latter, there may be a per-use charge or a subscription. The key driving factors for end users to use the Cloud are:
o Location independent access to application functionality
o Cost effective and innovative payment models
o Low barriers for entry
* Developers: This community will typically look for platforms that will provide the entire infrastructure needed for off premises product development—or the typical PaaS environment where complete platforms including the tools and APIs needed to build applications from scratch are available. The main drivers for developer adoption of Cloud platforms are:
o The ability to use the latest platform technologies, tools, APIs and infrastructure in a vendor-provided offering without up front investment
o Platforms that are designed for both Composite (UI, Middleware) and Discrete (API) level usage
o Innovative payment models such as pay per use and subscriptions
o Very low total cost of ownership and barriers for entry
* CIO/IT: IT Organizations, depending on their size and budgets can run the gamut in terms of Cloud consumption, deployment and service models. There are organizations that can consume as well as provide all the types of Cloud patterns such as SaaS, IaaS and PaaS. For many of them, the Cloud is not a nice to have but a must have and the move to a Cloud is not a question of “if” but “when”. The main drivers for CIOs to gravitate to the Cloud are:
o Transform from operational IT to agile IT
o Reverse the 80/20 model of maintenance/innovation, to a 20/80 model with more time spent on new business capabilities and core competencies. This wave happened in Manufacturing in the 80s and 90s and is now happening in Software.
o The resultant benefits of not having to worry about capital expenditures like Infrastructure and Software License costs, along with additional space freed up in server rooms
* Cloud Service Providers: The early adopters of these various strategies of SaaS, IaaS and PaaS are now leaders in their respective spaces, but there are a lot of new entrants and there is still a lot of scope in all areas—especially Cloud Services Aggregation. The key word for any provider is “elastic” which refers to the ability to provision resources on demand in a highly dynamic fashion depending on capacity and growth patterns. One of the advantages of the Cloud is its insistence on the usage of commodity hardware in terms of servers and storage, which makes it a vast grid or cluster of grids. Some of the key factors that drive any efficient Cloud Infrastructure are:
o Ensure elasticity by building a flexible grid to be able to provision computing resources and storage in an on-demand fashion
o Provide a rich set of tools and APIs as well as an elastic infrastructure to support development and deployment of applications and to support Composite as well as Discrete consumption patterns
o Be able to serve multiple clients in a co-located multi-tenant infrastructure on an elastic platform
* Cloud Integrators: With myriad options presented to users and CIOs everyday and the rate at which the Cloud space is growing and evolving, it is no longer an easy decision when it comes to determining the most leveraged short-term and best long-term approach to the Cloud. There are multiple options available for the same types of services desired and solutions can span several cloud vendors. Often, the deployment may call for some innovative models including a mix of Public, Private or Hybrid Cloud solutions. So for large Cloud enablement initiatives, many businesses are opting to leverage the help of experienced Cloud Integration Service Providers and Cloud Architects to ensure the best custom fit solution.
Cloud Deployment Patterns
We spent some time discussing the various consumption patterns of the Cloud. Now, let us look at a few common deployment scenarios.
* Public Cloud: A public cloud is a hosted environment where the infrastructure is shared with other users. Some of the early applications that adopted this model were web email service providers like Hotmail and Yahoo Mail followed by a slew of web 2.0 social media companies like Facebook, LinkedIn and search providers like Yahoo and Google. For business users, a Public Cloud may not always be an ideal solution due to concerns about security, availability, fault tolerance and performance.
* Private Cloud: A private cloud can be of two types,
o Internal Private Cloud: A cloud infrastructure that is hosted within the four walls of the company either for internal consumption or for providing Cloud services externally
o Hosted Private Cloud: A dedicated cloud infrastructure that is hosted externally and is provided for the exclusive use of a client
To alleviate concerns about Security, Availability and Performance, large IT organizations are increasingly adopting the Private Cloud model.
* Hybrid Cloud: A Hybrid Cloud is a consumption pattern wherein applications are spread across Public as well as Private Cloud infrastructures. An example here would be an organization that leverages Salesforce.com for their CRM applications but hosts its own core business applications in a vendor-managed Private Cloud.
Much like the consideration to move to an SOA-based infrastructure, the decision to move some or all of an organization’s applications to the Cloud can be complex. The best initial step is to undergo a thorough assessment of the current infrastructure, while outlining your business and IT goals for the near- and longer-term. Ideally, organizations leverage guidance from a Cloud Integration Services provider whose experience will help them make the most appropriate decisions keeping security, availability, scalability and governance issues in mind. As with SOA, it is possible to start small with your move to Cloud-based operations and benefit from early gains. As you progress, you will be in a better position to make the larger decisions that will have an even greater impact on your IT and business operations.
My advice? Don’t shy away from the Cloud. There are established players with proven infrastructure and major organizations who have successfully migrated to the Cloud with tremendous results. Now is as good a time as any to initiate your own transformation, and in the process, become a truly agile IT organization.