In this article, we explore, examine, and uncover various aspects of cloud computing and its use today in the industry.
Cloud computing is not a new concept. We have been using cloud computing forever in one form or another. In simple terms, you can presume the cloud to be a very large server on the Internet on which different services and data are stored that is then used to perform your work. This concept of using services not stored on your system is called "cloud computing." The name was inspired by the cloud symbol that was often used to represent the Internet in flowcharts, diagrams, and presentations.
The common definitions most people have for "cloud computing" are:
- A "virtual" datacenter
- Scalable and elastic compute resources
- Pay for computing as you use it
- Computers for rent on the Internet
- Virtualized servers
- Storage in the sky
The interesting part of cloud computing is that it comprises all of the aspects mentioned above. These can be categorized into two areas when discussing the cloud—Cloud services and Cloud computing.
- Cloud services consists of business and consumer products and services and solutions that are delivered and consumed in real time over the Internet.
- Cloud computing is an emerging IT development, deployment, and delivery model that enables real-time delivery of a broad range of IT products, services, and solutions over the Internet. Cloud computing is an evolution of IT and provides the facility to access shared or dedicated resources and common infrastructure over the Internet to perform operations that meet changing business needs.
Before we go further into how cloud computing works, let us first understand the term "cloud." The concept of "cloud" has been around for a long time and in many different variations in the business world. It comes down to a grid of computers used to deliver software and data using a service-oriented architecture.
History of Cloud Computing
Let's take a look back in time to see how cloud computing has evolved.
Figure 1: The concept of cloud computing has grown over time.
- Internet Service Providers (ISPs) provided dial-up, ISDN, T1, and T3 access to the Internet.
- ISPs provided access to their servers at an Internet Access Point.
- CoLocation—ISPs provided access to your servers at the Internet Access Point.
- Application Service Providers (ASPs) hosted apps on their servers at the Internet Access Point.
- Software-as-a-Service (SaaS) allows Internet-based applications and servers to be sold/offered as services.
- Cloud computing is a dynamic, Internet-optimized infrastructure for hosting your applications and services.
Cloud Computing Architecture
Cloud computing architecture can be divided into two broad areas—interface and infrastructure. The interface is the software used to access cloud service and data. The infrastructure is the server that stores data and applications. Any user on the planet can connect to the services hosted on the server with the help of any network like the Internet. Common examples of interfaces are Web browsers, mobile phones, or tablet devices. Back-end applications and servers are the core of cloud computing.
Cloud Computing Service Models: Three aaS's in Cloud
Cloud computing service models can be broken down into three broad areas: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software and Applications-as-a-Service (SaaS/AaaS).
Figure 2: Various types of cloud services are available.
Major Vendors, Platforms, and Services
Application-as-a-Service—Salesforce Chatter, Yammer, Twitter, Jive, Tibbr
Software-as-a-Service—Salesforce.com, Google Apps, Office 365, NetSuite, Workday, Box, Oracle
Platform-as-a-Service—Salesforce force.com, Windows Azure, Heroki, Intuit, Joyent, daptiv
Infrastructure-as-a-Service—IBM, Google, Amazon, Microsoft Windows Azure, GoGrid, Verizon, Vodafone, Akamai, AT&T, Citrix
Figure 3: Various types of cloud services are available.
Cloud Computing Landscape Today
Cloud computing is not an object in itself; rather, it comprises services and databases that are accessed via Web or any private network. Some common examples of cloud computing services include YouTube, Skype, Facebook, Twitter; email services like Hotmail, Yahoo, and Gmail; and photo share services like Photo Bucket and Flickr. If you have used any of these services, then you are already using cloud-based services.
Top Uses of Cloud Computing by Consumers and Business
- Virtualization—Many businesses are looking to the cloud as a way to reduce infrastructure costs and leverage the advancements in virtualization technology to run and host servers for development, testing, collaboration, and manage application workloads. Businesses pay only for the resources they consume.
- Web Application Hosting Services—People are looking not only for service providers to host their domain and Website but also solutions that offer Web application hosting. The flexibility, reliability, and elasticity of the cloud platform in real time makes this very attractive for both individual consumers and businesses. Options here range from hosting everything in the cloud to simply storing Website data.
- Cloud Storage—Another widespread use of cloud computing is storage services. Services such as Microsoft SkyDrive, Google Drive, and DropBox provide consumers and businesses with an unlimited amount of storage as well as value-added services like security, backup, file conversions, streaming media, and so on.
- Personal and Corporate Email—Many users today are already using or have looked at using cloud-based email services for their personal and corporate email. Services like Office 365 for business or Outlook, Gmail, and Yahoo Mail for consumers have enabled users to access email and to view and share documents from anywhere in the world. For business, this means 24x7 access to email and improved collaboration without the need to worry about the platform or infrastructure required to set up, configure, and support it.
- Social Media Services—Services like Facebook, Twitter, LinkedIn, and YouTube are all examples of social media running as a service in the cloud, consumed by users from their phone, tablet, and desktop PCs. The ability for these services to support billions of users every day was simply not possible a decade ago. Social media services are also being used by business to enable better collaboration between their teams that may be spread out worldwide, launch products and services, and keep in touch with their customers and end-users.
Deployment Models of Cloud Computing
The cloud model lends itself to availability and is comprised of three deployment models.
- Private Cloud—The cloud infrastructure is operated solely for one organization. It may be managed by a cloud computing provider or any other third party. The provider typically provides hosted services behind a firewall and is used by businesses that need or want more control over their data than they can get by using a third-party hosted service. Major providers here are HP, IBM, Oracle, and Cisco.
- Public Cloud—The cloud infrastructure is made available to the general public and is owned by the cloud provider. Resources such as applications and storage are typically made available over the Internet, and services may be free or offered on a pay-per-usage pricing model. Major providers of the public cloud platform are Microsoft Windows Azure, Amazon.com, Google, Salesforce, and Facebook.
- Hybrid Cloud—The use of both public and private clouds provide an organization with all its computing needs. Public and private clouds could be provided by two or more cloud providers or from a single provider that allows business to run the same infrastructure and platform at the in-house data center and the public data center.
Common Cloud Platform Technologies
Some of the important technologies available today are in the areas of compute and storage.
- Infrastructure-as-a-Service (IaaS)—Developers create virtual machines (VMs) on-demand and have full access to these virtual machines. Strengths are the developers can control and configure the virtual environment using familiar technologies with limited code lock-in. Weaknesses are you must control and configure the environment and have the administrative skills to work with virtual machines. IaaS is more widely used today than PaaS as it is easier to adopt and emulates your existing workload in the cloud.
- Platform-as-a-Service (PaaS) – Developers build and deploy an applications that the platform runs without working directly with virtual machines. Strengths are PaaS provides higher-level services than IaaS and requires essentially no administrative skills. Weaknesses are you have less control over the environment and it can be harder to move existing applications and software. PaaS is typically a better choice for new applications and will likely dominate over time since the overall cost will be lower with PaaS than IaaS
- Relational Database—This is traditional relational storage in the cloud with support for SQL. Strengths are working with familiar technologies and databases, many available tools, and limited data lock-in, with lower cost than on-premise relational storage. Weaknesses are scaling to handle large-scale data sets can be challenging.
- Scale-Out—This massively scalable storage in the cloud offers no support for SQL. Strengths are scaling to handle very large data is very straightforward and can be cheaper than relational storage. Weaknesses are typically significant data lock-in with proprietary technologies.
- BLOBs—BLOBs offer storage for Binary Large Objects in the cloud for video, documents, and backups. Strengths are that they're a globally accessible way to store and access large data and can be cheaper than on-premises storage. Weaknesses are that they typically only provide simple unstructured storage.
Major Cloud Vendors Public/Private Options
Cloud Platform Service is typically a hardware and software combination provided by organizations like Microsoft, Amazon, and Google that run at Internet-scale services.
Cloud Platform Software is provided by software vendors using open-source projects to offer a public cloud service. The same open-source projects can be used in a private cloud environment.
Figure 4: These are some popular cloud providers.
Major Cloud Vendors Support Cheat Sheet
Figure 5: Find IaaS and PaaS support.
Figure 6: Find storage services support.
Key Characteristics and Benefits of Cloud Computing
A cloud computing platform/service typically has distinct characteristics that differentiate it from traditional hosting:
- On-Demand—This billing model, often referred to as a "Pay-Per-Use," is typically sold by the minute or hour or is subscription-based. Usage is metered, and you pay only for what you consume, thus helping consumers and business keep their costs down. Since this pay-for-what-you-use model resembles the way electricity, fuel, and water are consumed, it is sometimes also referred to as "utility" computing.
- Cost-Savings—Businesses incur no infrastructure capital expenditure costs up front, just operational costs that are incurred on a pay-per-use basis with no contractual obligations.
- Mobility—Users can access the information (application, data, service) from wherever they are rather than being dependent on infrastructure. The underlying hardware can be located anywhere geographically.
- Elastic—A user can have as much or as little of a service as they want at any given time, meaning that resources, software, and infrastructure can be scaled up or down depending upon needs.
- Managed—The service is fully managed by the service provider.
- Environmental Impact—Massive data centers that are being built by major cloud vendors can be designed to be highly efficient in terms of power consumption and cooling. Economies of scale that these data centers can deliver cannot be matched by any single business or organization.
Out of the box, IBM i builds processor-on-demand and capacity-on-demand (storage and memory) into the operating system. This enables customers to leverage the IBM i Smart Cloud Initiative or their partners' and hosting providers solutions and take advantage of the IBM i Infrastructure as a Service, Platform as a Service, and Software as a Service—easily deployed on their IBM i applications.
However, we are only beginning to scratch the surface and leverage the power of cloud computing. With the computing power of all the servers in the world at your fingertips, new applications, deployment methods, and pricing models are being created every day in new and innovative ways. The combination of public and private clouds to run and manage various aspects of any business will continue to increase, keeping in mind data security including compliance and legal aspects.
The Internet has enabled consumers and businesses to turn access to computing power and resources into a commodity like electricity, water, and fuel and reduce or eliminate the configuration, management, and operational aspects of managing these computing resources.