In this introduction to Cloud computing we are going to take an in-depth look at what “the Cloud” really is, where it came from, and how it works. We’ll also review and explain the different types of cloud services, deployment models and providers that are currently prominent in the market.
What is the Cloud
The formal definition of Cloud computing is: a technology model that allows global user access over the Internet to shared pools of resources, that can be rapidly provisioned with minimal effort, is fully configurable, and provides higher service levels such as uptime and availability, compared to on-premise hosting.
In short, Cloud computing is essentially an on-demand delivery of resources by a cloud services provider, usually provided on a pay-as-you-go pricing model. The key element in Cloud computing is the sharing of resources to reach the economies of scale required to deliver cost saving to the customer.
Over the past decade “the Cloud” has become a household term, everyone from your kids to your grandma seems to know about it. This is because there are two distinct types of cloud. One serves individual consumers and the other serves businesses. On the consumer side, the idea behind the Cloud is pretty straight-forward. Consumer level platforms delivered via the cloud include social media sites like Facebook, Twitter and Instagram, or free hosted email such as Gmail. All of these fantastic apps have made daily life simpler and more entertaining. We don’t have to worry about installing any kind of software application or backing up our data, it all just works magically!
On the business side, the Cloud becomes a little more complicated. Traditionally, a business organization would have to build its own IT infrastructure, develop its applications, maintain the systems, and plan for growth and system performance. All of this required a lot of upfront capital investment as well as a skilled team of engineers. Cloud services delivered by third-party providers allow organizations to focus their resources on their core business, to minimize upfront costs, and to get their applications and systems up and running significantly faster. Once a new system is online, cloud services offer improved service levels, manageability, and reduced maintenance. For future expansion, cloud services allow IT teams to rapidly adjust resources to meet growth or performance requirements.
History of the Cloud
In the 1960s, the concept of Cloud computing originated with the breakthrough of having multiple users “time-sharing” computing resources on mainframe computers. At the time, the cost of purchasing a mainframe computer was not feasible for most organizations. Nor was it practical for each user to have their own processing power or storage capacity. Therefore, shared access through a dumb terminal to a central resource providing computing power on rented time made the most economic sense and opened up access to computing power that previously was only available for the largest organizations such as the military and very large research institutions.
In the 1970s, as full time-sharing solutions became increasingly available to organizations, the concept of the Virtual Machine (VM) was created. This allowed multiple distinct computing environments to reside in one physical environment, taking the shared access mainframe to the next level.
In the 1980s, the time-sharing concept was overtaken by the emergence of the Personal Computer (PC), which made owning a computer for individuals and households much more affordable. This allowed each user to have their own computing power and resources, eliminating the need for large mainframe systems.
In the 1990s, as PCs became widely available, organizations started deploying computers everywhere, and as IT operations started to grow in complexity, organizations recognized the need to control IT resources. Technology vendors and IT service providers responded to the growing demand for IT resources and the complex needs of end users by inventing and deploying Servers. The boom of data centers soon followed these service developments.
In the 2000s, after the boom of data centers and server infrastructure in the 90s, hardware Virtualization technology was introduced by VMware, which hides the physical features of the computing platform from the user. This allows multiple operating systems to simultaneously share resources on a single hardware host server. By the mid 2000s, virtualization had led to mass consolidation of server infrastructure, allowing organizations to reduce costs and ultimately to eliminate large on-premise data centers.
Simultaneously, as high speed internet became more available and cost effective, Cloud providers such as Amazon Web Services (AWS) and Google had launched. By the late 2000s, organizations were starting to migrate their systems to the Cloud, to reduce costs and improve service reliability.
Virtualization technology was a key contributor to the proliferation of cloud services, as it allowed providers to easily offer Virtual Machine (VM) instances to customers in an economical way by sharing pooled hardware resources, on a pay-per-use model.
By the 2010s, Microsoft Azure had launched, followed by Office 365 along with various other Cloud services. These new providers offered a wide range of Cloud based platforms and services. As of the late 2010s, Cloud computing has come full circle to the “time-sharing” model of 50 years ago. While technology and computing power have exponentially advanced over the last 5 decades, the concept of shared access to a central resource providing computing power, on a rented time basis and in an economical fashion, is still core to the concept of cloud computing today.
Cloud Service Models
There are three primary cloud service models offered by providers. Think of it as a stack with three layers, with the bottom layer having the most control and access to computing resources, the middle layer providing support for rapid development and management of applications, and the top layer having limited application configuration capability.
Infrastructure as a Service (IaaS)
IaaS provides the customer access to Virtual Servers along with the ability to provision processing, storage, memory, and other computing resources. The customer can deploy software which may include the operating system and applications. However, the customer does not manage or control the primary cloud infrastructure. The customer does have control over operating system, storage, deployed applications, and possibly limited access to other networking components.
IaaS is ideal for organizations who require the ability to host dedicated or custom applications, with resources exclusively available to their organization. IaaS provides an organization with the ability to significantly customize configurations to meet their specific needs.
Software as a Service (SaaS)
SaaS is the delivery of an application to the customer as a service, often on a per-user or seat pricing model. The customer has the capability to use the provider’s applications running on the cloud infrastructure. The customer accesses the hosted application either through a web browser or an app. The costumer does not have the ability to manage or control the cloud infrastructure, resources, or even individual applications, with the exception of user specific configuration.
There are a wide variety of applications offered through the SaaS model, ranging from Association Management Systems (AMS), to Customer Relationship Management (CRM), to hosted Email, and to Financial systems. Most application developers now offer their application through a SaaS platform. SaaS is ideal for organizations looking to easily deploy an application with minimal technical configuration and management. It is also the most cost-effective model.
Platform as a Service (PaaS)
PaaS provides the customer the capability to develop and deploy applications to cloud infrastructure using the programming languages, libraries, and services supported by the provider. The customer has control over the deployed applications but not the resources of the cloud infrastructure itself.
PaaS is ideal for rapid development of applications with the appropriate access to operating systems, databases, middleware, and other software tools. PaaS makes it easier for developers to quickly develop applications without worrying about setup, configuration, and management of the underlying infrastructure.
Cloud service models are the various types of computing solutions offered to customers. An organization may select one service model over another based on their specific needs and unique situation. Each service type can then be implemented per the following cloud deployment models.
Cloud Deployment Models
There are three primary cloud deployment models and each offers unique benefits. Given the considerable number of options available, an organization may decide to implement a combination of these for greater flexibility and benefits.
Services are provided over the Internet and are open for public use. The cloud service provider owns and operates all resources including the cloud infrastructure, hardware, and software. The customer accesses the services and manages their own account using a web browser. The customer has access to a large pool of computing power, which is shared out between large number of customers, referred to as a “multi-tenant” architecture.
Cloud resources are used exclusively by a single organization with the infrastructure and services accessed through a private network. The customer has access to a large pool of computer power, which can be exactly configured for their organization. Private cloud provides the same advantages of public cloud, but without relinquishing control of data and services.
A combination of public and private clouds, bound together to allow data and applications to be shared. Hybrid cloud provides an organization with the benefits of multiple deployment models. Most organizations will fall into this deployment model as not all systems and applications can be hosted by the same cloud service or by the same provider.
Cloud Services Providers
There are many Cloud Services Providers (CSP) available on the market, each offering various solutions, benefits, and pricing. So how do you choose the right CSP for your organization? The answer depends on the size of your organization, internal technical resources, the types of applications and systems you want to host, and the nature of your business.
For large organizations or technology companies with significant internal technical resources, a global provider such as Amazon Web Services (AWS) or Microsoft Azure would be a good solution. AWS is the dominant provider of IaaS and PaaS on-demand cloud computing platforms. AWS allows subscribers to have at their disposal a full-fledged virtual cluster of computers, available online, all the time. MS Azure, while second to AWS in market share, is newer and more intuitive. The platform is Microsoft centric. It provides SaaS, PaaS, and IaaS and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems.
When comparing the two, AWS is ideal for organizations that need access to significant amounts of computing power, or to host large server farms such as an eCommerce sites or web based applications. AWS does require technical skillset and a thorough understanding of the platform to configure and manage systems. MS Azure is ideal for organizations who are traditionally a “Microsoft Shop” with all core business systems running Microsoft applications including server and workstation operating systems, Office applications, email and web servers. Because Microsoft is the developer of the most popular business software applications, as well as the provider of cloud services through Azure, it has a unique advantage in its offering relative to other CSPs. Azure is very intuitive, but it still requires an internal technical skillset and understanding of the platform. For these reasons AWS and Azure are the better option for larger organizations who have adequately IT staff skilled.
For small to medium sized organizations with minimal internal IT resources, a Managed Cloud as a Service (MCaaS) model is the best approach. Most Managed Services Providers (MSP) have evolved their service offerings to include Managed Cloud. Typically these MSPs are local or regional providers serving small to medium sized organizations with complete outsourced IT services such as Managed IT, Cloud, or Security.
The customer contracts with an MSP, which provides both the hosting and management of the Cloud services. Most MSPs offer an IaaS or SaaS hosting solution, which is either owned and operated by them directly, such as OSIbeyond eXos platform, or provided through a third party partner. In this instance, the MSP is a reseller of platforms, such as Microsoft Office 365.
Microsoft has had an extensive market share in business productivity applications over the last several decades, with a significant number of organizations using the Office suite of applications. Therefore, the Office 365 SaaS solution has become the dominant platform providing productivity software and service subscriptions for e-mail and social networking services through hosted versions of Exchange Server, Skype for Business Server, SharePoint and Office Online. For organizations that have traditionally used Microsoft applications, the Office 365 platform provides users with the same familiarity of productivity applications.
G Suite (formerly Google Apps) is the third largest SaaS platform. Provided by Google, G Suite comprises Gmail, Hangouts, Calendar, and Google+ for communication. It also offers Drive for storage; Docs, Sheets, Slides, Forms, and Sites for collaboration. G Suite offers a range of services that are comparable to Office 365, but in a completely web based platform.
For organizations that do not use Windows computers with Office applications, such as Apple Mac environments, G Suite provides users with powerful productivity tools accessible via the internet through a web browser. However, for Windows based environments, the interoperability with Microsoft products may not be optimal. For example, using Gmail for email with an Outlook email client will not be the same experience as using Exchange email with Outlook. Therefore, an organization should carefully evaluate their needs as well as consider their individual situation when evaluating a cloud service provider.
Benefits of the Cloud
Organizations benefit from Cloud services in several ways. Key benefits can include:
- Cost– Cloud services eliminate the large capital expenditures required to procure hardware and software, in addition to costs of operating an onsite datacenter that would include racks space, electricity, cooling, datacenter security, and IT experts to manage the infrastructure.
- Speed– Cloud services are on-demand and can be rapidly provisioned to meet business needs. New systems can be spun up within minutes. This allows organizations to significantly reduce setup time, increase efficiency, and gain a competitive advantage.
- Scalability– Cloud services provide the ability to scale elastically, meaning the right amount of resources are delivered exactly when they are needed. This provides organizations with greater flexibility and simplifies capacity planning.
- Productivity– Instead of having an IT team manage network and server infrastructure and patch software, they can focus their time on strategic goals to further the organization’s mission.
- Performance– Cloud services providers continuously upgrade their infrastructure to the latest, fastest, and most efficient computing hardware. This provides customers with a constantly improving end-user experience by leveraging the latest technologies.
- Reliability– Cloud services provide customers with high availability, disaster recovery, and business continuity.