Having lunch meeting with some friends and this topic came up. This is my own view.
First a brief run down on what cloud computing means.
So what is Cloud Computing?
Going by National Institute of Standards and Technology (NIST) definition:
Cloud computing is a model for enabling 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 with minimal management effort or service provider interaction.
In a layman term, I will call it Utility Computing.
This buzz word has some distinct characteristic, which are
1. On-demand self-service
2. Broad network access
3. Resource pooling
4. Rapid elasticity
5. Measured service
- 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’s 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, laptops, and personal digital assistants (PDAs)).
- Dynamic resource pooling: Within a typical cloud infrastructure, resources are pooled and available to multiple users at once in a practice known as multi-tenancy. The pooled resources get dynamically assigned and reassigned according to user demand. In general, cloud users have little to no control or even knowledge of where the resources reside. Besides pooled computing processing, a cloud may provide access to banks of storage, memory, network bandwidth and virtual machines.
- Rapid elasticity: Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased 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.
Cloud Computing Service Models:
There are 3 service model for cloud computing which enables how computing resources or power are being provision and consumed as a utility based on the earlier outline characteristics. The service models are:
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 a thin client interface such as a Web browser (e.g., Web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. Example of SaaS are: CRM, HR or Accounting application.
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 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 application hosting environment configurations. e.g. Microsoft Azure, SalesForce .Force or Amazon web service and host of others.
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 is able to 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, deployed applications, and possibly limited control of select networking components (e.g., host, firewalls). Example of IaaS provider are Rackspace Hosting, Network Solution, Go-daddy Hosting
Cloud Computing Deployment Mode:
The process of matching operation requirement to the offer of a cloud service is relatively straightforward, a greater challenge arises when determining which deployment mode to use. There 4 modes in which cloud computing can be deployed and each mode offers increase or decrease in the following benefits:
- Economic of scale
- Control and governance
The deployment modes are:
Private cloud: The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.
Public cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise. The community cloud option doesn’t provide the full cost benefits of a public cloud, but it can allow businesses to more readily facilitate requirements for higher levels of privacy, security and compliance.
Hybrid cloud: The cloud infrastructure is a composition of two or more clouds (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).
Shown below is a pictorial overview of Cloud Computing Service model in relationship to the deployment mode
Benefits of Cloud Computing
- A solution for every need and budget: Cloud computing is available in many shapes, sizes and pricing levels, from the strictly private cloud requiring capital investment in supporting infrastructure to the completely public pay-as-you-go cloud solution. This has enable SME based company to run upgrade ICT solution that can improve their productivity at a small cost.
- Better resource utilization: In a traditional IT environment, servers are notoriously underutilized and storage arrays often have inordinate amounts of excess capacity.
- Increased flexibility: Committing to one style of cloud computing does not preclude the use of another, allowing IT teams newfound flexibility in how they provision resources and deliver services.
- New cost model: One of the basic tenets of cloud computing is that services are delivered on demand on a pay-as-you-go basis. For companies that so choose, the ability to measure service usage can serve as the impetus for a new cost model.
- Access to new technology: Public cloud service providers have teams — even entire departments — at work on application upgrades, infrastructure enhancements and protection mechanisms. Their goal is the continuous improvement of the services they deliver.
Nigeria and Cloud Computing: The Good and the Bad
Cloud Computing offers opportunity to small and medium based business to compete will enterprise business by using technology to run their business at a minimal cost compare to what an enterprise business spend deploying/maintaining their IT setup.
With internet access density still low and only few locations in the country such as Lagos, Abuja, Port Harcourt can boost of fast internet access at affordable rates while the other locations across the country are underserved. it is a know fact that SMEs are spread across the country; from Sokoto to Port Harcourt and Ibadan to Markurdi. It cannot be over stressed that a good internet connection with large data pipe is required to connect to a cloud service and have an optimal user experience.
No consistence infrastructure such as electricity which is required to run the PCs at he cloud subscriber end.
No enabling law that regulates and protects the data created via the cloud service, how its being shared or stored and the acceptable service level and how to get redress when such occurs. This is needed to avoid any Thomas to start providing cloud service without putting in place needed infrastructure/measure for effective service delivery or another means for the cyber-thieves to get access to information that belongs to companies that have embrace cloud computing.
Overall, there are drawbacks to keep in mind such as
Regulatory compliance: A public cloud provider might offer some insight into what’s going on within its network, but it’s not going to give an organization complete transparency. Many firms will need to be able to stipulate where their data resides geographically for reasons of regulatory compliance. They’ll also need to verify that only authorized users have access to overall security practices.
Reliance on an Internet connection: With cloud computing, a company is 100 percent reliant on its connection to the Internet. Any interruption in that connection could put the firm at a standstill. Therefore, the greater the use of cloud services, the more imperative it is that an organization provide high-speed Internet access capable of
supporting increased traffic and also have alternative access.
Additional layers of security: Organizations that procure public cloud services may need to tighten up existing security and/or add additional layers to match the service provider’s security measures. This will ensure that assets are protected equally whether inside the public cloud or their own domain.