Jeff Stonacek, Principal Architect
Cloud computing is a hot topic in the IT industry and has spawned a revolution in the fields of infrastructure and provisioning. Since House of Brick is heavily invested in providing services around virtualizing tier 1 workloads, it made sense to delve into this service model. In this blog post we will discuss the automated service model for delivering IT components – in other words, providing Infrastructure as a Service (IaaS), Database as a Service (DBaaS) and Application as a Service (AaaS).
Lets first provide some definitions for several common acronyms used in Cloud Computing today.
Calling something Infrastructure as a Service (IaaS) can be a bit misleading. It’s difficult to automate the provisioning of a core network switch, for example. When referring to IaaS, we are typically talking about the low level components necessary for running an application. Standing up a server is a prerequisite to running a database. Automating the provisioning of that server, including installing and configuring operating system (OS) components, is the foundation of IaaS.
Virtualization is THE key enabler of this foundation.
Another acronym that can be a bit ambiguous is Platform as a Service (PaaS). This refers to the process of providing a computing platform on which to run an application. Things like Java middleware frameworks, which are scalable to the dynamic needs of an application, would be a good example of PaaS.
Database as a Service (DBaaS) seems like the easiest term to quantify – as anything required when standing up a database. In the case of Oracle, that means satisfying the specific requirements, adding storage, installing binaries, creating a database, and populating that database with application-appropriate data.
Application as a Service (AaaS) means delivering a fully functioning application to a consumer in a manner that is automatically scalable to varying application demands, resilient to inherent or external risks, and powerful enough for organizational requirements.
The Cloud Model
The service model has certain characteristics that make it work.
Consumers drive the cloud model. Consumers are usually associated with the following groups:
- Development teams
- Application teams
- Lines of Business
- End Users
The idea behind cloud computing is to satisfy these consumers in a way that returns control and empowerment to them. The service provider, public or private, may own the infrastructure but the consumers own the application, and business processes that ultimately cause an organization to succeed or fail.
The cloud model is driven by a utility pricing model. When requesting resources from a public cloud provider, the consumer pays by the unit. At the technology layer, that unit may be CPU consumption, memory consumption, IOPs, etc. At the business layer, it may be in units such as the number of end-users, or applications deployed.
In a private cloud there is typically a charge back model where groups in an organization have a budget for resources and are charged back for consumption.
The cloud computing model relies on capacity on-demand. Certain projects and activities require bursting capacity. A good example is patching application binaries. If an application requires a patch, it may be necessary to stand up a new environment (AaaS) and apply the patch for testing. Once the patch is promoted to production the environment can be destroyed. Another example is an e-commerce application that needs to access burst capacity to handle seasonally increased demands.
Automation and Workflow
Automated workflow and effective workflow design are the keys to proper resource utilization in the cloud model. Not only does workflow typically provide a formal approval process, it also provides automated task initiation and validation. It’s common to have development teams offshore and IT staff scattered around the globe, and automated workflow helps to ensure that everything stays on track.
Automated provisioning frees the technical staff to focus on strategic issues by offloading the day-to-day provisioning.
In this blog we have provided a general overview of the cloud computing model. In future posts we will delve into the details around providing these types of services, specifically Database as a Service.