The journey to the cloud has been slow but steady. Many enterprises are looking to reduce costs and at the same time add new services. Even though at some point there must be a limit to the “do more with less” mentality, the ever-moving wheel of innovation allows keeping that trend. In this post, I will present definitions of the first steps to follow the path to the cloud. There are two ways to get to the cloud, be born in the cloud or migrate to it. In the case of migrating to the cloud, the best option is to start by virtualizing the environment.
In computing, virtualization refers to the act of creating a virtual (rather than actual) version of a computer hardware (CPU, RAM), operating systems (Windows, Linux, etc…), storage capacity, or computer network resources.
Keep in mind that you could still have multiple virtualization platforms or multiple virtualized Silos. Migrating an enterprise from multiple physical systems, for example, the production and developer environments, to multiple virtualized systems will keep the enterprise in a “silo” style configuration, but it will start the journey to the cloud.
To move to the Virtualized Datacenter, the system will need shared resources between those silos, and the administrators need new skills, and they would have to learn new techniques.
Virtualized Data Center (VDC)
A highly efficient and optimized data center allowing the business to do more within the confines of the available resources (servers, power, cooling, sq. ft.). It also can adapt to changes in the business and workload requirements.
The number one drive for the virtual data center is the efficiency or reducing overhead and waste. This new paradigm takes advantage of true sharing with resource pooling and standardization at its core.
- Virtualized hardware stack
- Resource pooling / shared resources
- Reporting for management and chargeback/showback.
- Policy-based security
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released (elastic) with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.
The number one drive for the cloud is the agility. The speed and the agility that cloud brings to the business is the main reason most datacenters are on its way from the VDC to the cloud model.
- On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
- Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
- Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
- Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
- Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
- Policy Based Security: an approach to security that automates the implementation of rules based on a specific criterion.
- Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, except for limited user-specific application configuration settings.
- Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
- Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer can deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).
- Private cloud. The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.
- Community cloud. The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.
- Public cloud. The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.
- Hybrid cloud. The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).
Benefits of the Cloud
- Self service provisioning in minutes, compared to days or even weeks in the VDC or the virtualized but siloed datacenter.
- Application development and testing are flexible and self-service enabled.
- Relocation from test and development is predictable and seamless.
- Resources scale smoothly to meet growing or reduced demand.
- Service level easily adjusted after the initial provisioning.
- Resource granularity permits an optimized metering providing better utilization and reducing cost.
- Low (or even none) Capital Expense, which enables developers to start and test new ideas with ease.
As a summary, we could say the first step to this agile and efficient model is to virtualize your datacenter. The following image illustrated the path and vision for the datacenter of the future.
An enterprise can be at any stage of this journey to the cloud and still have a completely functional system that meets the requirements and produces the desired results. The closer to the cloud the enterprise gets, the closer it should be to a fully automated, self-service and elastic system.
Most of the definitions for this post were taken from the National Institute of Standards and Technology.