Cloud computing is a technology that has revolutionized the way we utilize the Internet in recent years. It has become so ubiquitous; most of us utilize its benefits without actually realizing it. In that sense, it is somewhat like the air we breathe, unseen yet absolutely essential!

Every IT company worth its salt has a stake in it in one way or another. Microsoft, Oracle, Amazon, Google, Facebook, Intel, Verizon are all involved in researching and delivering cloud-based services. And with billions of dollars being pumped into R&D by these firms, it is safe to say that cloud computing is here to stay. Let us now take a deeper look at what exactly the whole fuss is all about.

WHAT IS

Cloud Computing Explained

Benjamin Roussey

17 March 2017

Cloud Computing: What is it?

Computers have been around for more than half a century now. With the advent of smaller personal computers in the early ‘80s, businesses as well as individual consumers have had direct access to computing resources in one way or another. But there was always a direct physical limitation to this traditional model of computing.

To put it simply, if a business wanted to manage their huge databases, they had to invest a ton of money in creating their own data centers and huge servers in-house. If you wanted a new software, game, or movie, you had to buy a physical disk (a floppy, CD, or DVD). If your photos and videos started clogging up your PC hard disk space, you had no choice but to buy a new storage medium such as a thumb drive or USB.

Cloud computing takes away this restriction. It delivers all these services, from processing power to data storage and content directly to the user via the Internet. All you need is a high speed Internet connection. The actual hardware required for all this computing is maintained by cloud service providers. They maintain the infrastructure while you pay for the service, much like any other modern utility service provider out there.

Cloud Computing: The Origin of the Term

Though the blueprint of cloud computing was always a part of the Internet, there is no clarity regarding the true origins of the actual term “cloud computing”. The term “cloud” is often used to describe a large collection of objects in the distance. And when you draw a schematic map of computer networks, you often end up with a diagram of several interlocked circles which resemble a cloud.

This cloud symbol thus became closely associated with early versions of the Internet like the ARPANET in 1970s. The term continued to rise in prominence in the following decades as the Internet continued to grow. In the early 2000s, cloud-based services started becoming commonplace. Amazon was probably responsible for bringing the term to the mainstream in 2006, with the launch of their Elastic Compute Cloud. Or it could have been from Al Gore since he invented the Internet as we all know.

Different Types of Cloud Computing Services

As we already noted, there are different computer processes that can be delivered through a cloud platform and hopefully none of them are coming from Skynet in the Terminator storyline, that would not be good! There are three major types at the moment, along with a host of minor but fast growing services. They are:

Infrastructure as a Service (IaaS)

This is a service most beneficial for business enterprises. The vendor essentially provides the clients with a virtual machine through the cloud. The entire computing infrastructure required, including processors, storage, software, and servers are maintained by the vendor. They also take care of the hassles of regular system maintenance, backup and security. Linode, Cisco Metapod, Microsoft Azure, Amazon Web Services, and Google Compute Engine are all examples of IaaS services.

Platform as a Service (PaaS)

This is beneficial mainly for developers of applications and software. Instead of providing the entire IT infrastructure, the vendor provides specific hardware and software for specific application development. This includes the OS, databases, web servers, and programming language environments like JAVA. For instance, to develop an application for database management, a developer would have to install and maintain the required software and hardware environment and testing tools on their premises. With PaaS, they can just subscribe, log in and start using the platform provided by the vendor. Popular examples include Google App Engine, AWS Elastic Beanstalk, Heroku, and Apache Stratos.

Software as a Service (SaaS)

This is basically software on demand, delivered via a subscription model. Users can be either individual consumers as well as business enterprises. The online apps we use daily, such as DropBox, Google Docs, and OneDrive fall into this category as well. For enterprises, SaaS has become the popular delivery choice for everything from office and business software like accounting and payroll processors, to DBMS, ERP, CRM, and security software. The most popular examples include Salesforce, Google Apps, MS Office Web Apps, Cisco WebEx, Workday, and Concur.

Mobile Backend as a Service (MbaaS)

This is a new service, exclusively aimed at mobile and web app developers. Most apps these days use a common backend base with social network integration, cloud storage, and push notifications. By using cloud-based MbaaS services, developers can save a lot of time and effort they would have had to use to create these APIs and SDKs from scratch. Examples include Firebase, AnyPresence, Halosys, and Skygear..

Database as a Service (DBaaS)

As opposed to the broader IaaS or PaaS, this is a narrower service that offers only database management through the cloud. The customer doesn’t have to manage the database on their own. The vendor takes care of that. For example, within the bouquet of cloud bases solutions offered by the Amazon Web Services, Simple DB, Amazon RDS, and DynamoDB are all specific DBaaS services offered by the company.

Function as a Service (FaaS)

This is a cloud computing model where the pricing is based on the amount of system resources that a particular task will require. This means that users do not have to pay extra for resources that they may never use. The user provides requests, and the vendor handles the request on their virtual machines. This is a hybrid between IaaS and PaaS, and offers tremendous scope for mobile and smart appliances. Prominent vendors include AWS Lambda, Google Cloud Functions, IBM OpenWhisk, and Iron.io.

Cloud Computing Deployment Models

There are 3 major types:

Public Cloud

It is the cheapest and most direct option, where the vendors use the Internet to deliver their services to the users. No, this does not include a sausage pizza! Gmail and related Google services like Drive and Docs all are salient examples of public clouds. Others enterprise solutions include the IBM Blue Cloud, Sun Cloud, Google AppEngine, and Windows Azure. The data management and handling is entirely taken care of by the vendor.

Private Cloud

For larger business organizations concerned about data and information security, public clouds may not be the best option. They prefer having dedicated data centers and server architectures to have full control over their data. Private clouds are very expensive and usually out of the reach of SMEs. VMWare, OpenStack, Microsoft all have their own private cloud options for enterprises.

Hybrid Cloud

This is a flexible model that incorporates elements of both above deployment models. It is a very popular option for business enterprises of all sizes. Rather than depending entirely on public clouds, organizations can maintain their own smaller private cloud on the premises. And then access the more powerful public cloud options (IaaS, SaaS, PaaS, etc.) on the market for extra functionality. Read more about hybrid cloud architecture in our article What is a Hybrid Cloud.

Hybrid Cloud Computing Explianed

Private Cloud vs Public Cloud vs Hybrid Cloud

Why use Cloud Computing

Whenever we use any social network or free email like Gmail, we are all automatically enjoying the benefits of cloud computing. Cloud computing is a very well-stratified business, with vendors specializing in catering to the demands of all kinds of diverse demographics. There are tailor-made cloud solutions for everything and everyone from individuals, to startups and SMEs, and even larger entities.

Especially for SMEs, cloud services provide access to advanced IT infrastructure that would have been totally out of their reach in the traditional models. Scalability and flexibility are hallmarks of almost all cloud-based services.

Most cloud options have free services that you can sample before choosing to fully adopt and subscribe.  As for the right type of cloud based service, it depends on the nature or your business, the size of your exiting IT capabilities and your business requirements and organizational goals.

IaaS

offers you the basic infrastructure, with the freedom to choose different configurations and OS. Highly beneficial if you want to supplement a weak IT infrastructure without expensive investment.

PaaS

is ideal if you are a web developer and want to focus on developing apps on proven platforms without having to worry about database and platform management

SaaS

is the clear cut choice if all that your business needs is productivity enhancing software.

Most cloud computing vendors provide a mix of all the above services. You can choose between depending entirely on a public cloud or use it to enhance your own IT capabilities in a hybrid cloud configuration. Read our article about hybrid cloud computing.

Popular Cloud Computing Options

As we already noted, there are different computer processes that can be delivered through a cloud platform and hopefully none of them are coming from Skynet in the Terminator storyline, that would not be good! There are three major types at the moment, along with a host of minor but fast growing services. They are:

Amazon AWS

This is an overwhelming favorite for cloud deployment among SMEs, with over 60% of SMEs pressing the key for this public cloud offering from Amazon. Though primarily an IaaS option, AWS still includes enough services and features to give it more than capable PaaS functionality. They provide computing, data storage, database management, and networking options. And the pricing is very flexible, based on a “pay as you go” model. You can find more about Amazon AWS and its alternatives here.

Microsoft Azure

A main rival for Amazon in the public cloud business, this offering from Microsoft has managed to post impressive growth since its inception in 2010. Azure has been one of the fastest growing IaaS and PaaS vendors for cloud deployments in recent years. Their system is used by Microsoft in their other consumer service offerings like Office 365, Bing, SQL, and Xbox-Live. Azure also uses flexible pay as you go pricing structures.

Google App Engine

The App Engine is a PaaS offering from Google aimed mainly at web developers and enterprises. It is mainly compatible with JAVA and Python based apps. Compared to other similar PaaS vendors, Google offers more infrastructure while simultaneously reducing the workload of the developers. As for pricing, it is free to use up to a certain limit. If you exceed the allocated amount of CPU, storage, or API resources, you can pay for any extra storage that you may require.

Digital Ocean

A New York-based IaaS provider with a global presence, they specialize in providing scalable virtual machines for developers. They are one of the biggest web hosting companies in the world. But they are not like AWS or Azure. Their focus is primarily on developers specializing in Linux.

Elastichosts

A UK-based IaaS vendor with data centers all over the globe, they also specialize in cloud storage and scalable Virtual Machine services. They have a self-service based system. Their pricing is based on resource consumption. Depending on how much CPU, network resources, and memory or disk storage you use, you are billed separately. It offers customers a wide array of choice when it comes to creating custom virtual machines.

Linode

Since 2003, this New Jersey-based cloud hosting vendor has been providing data backup and extremely fast SSD based servers for developers and other creative enterprises. They use Linux based architecture for their virtual machines. They also have flexible server size based subscription plans.