Forecast for Tomorrow, Cloudiness: How to Not Get Confused in Cloud Computing Сoncepts
Take a deeper look at some of the elements of cloud computing as a technology, and get a better idea of cloud computing concepts.
Join the DZone community and get the full member experience.Join For Free
– Daddy, what are clouds made of?
– Linux servers, mostly.
(ba dum tss!)
Cloud computing is one of the most promising and discussed fields in the kingdom of information technologies. This a common term which most have heard about but not everyone knows what exactly it means and what is going on under the hood of сloud machinery.
We are banking online, shopping online, using social networking sites, playing online games, storing photos, audio, and video online and using online file-sharing. And mostly all those services are cloud-based. For example, such famous platforms as Airbnb, PayPal, Zynga, Spotify and Adobe Systems are “cloudy.”
It means that cloud computing technologies have long been a part of our daily usage. The only question is how well do we understand what does it mean?
Cloud Is Not a Technology, It’s a Solution
Let's mark that cloud computing is defined as a "model," "paradigm," sometimes "solution," but not exactly a technology, platform.
“Cloud computing architecture is something you do, not something you buy."
— David Linthicum, author on InfoWorld
And if we need a more deep and scientific definition let's take this one:
Cloud computing is a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand.
— ISO/IEC 17788
Serverless Is Not Serverless
As far back as 1994, scientists used a cloud-shaped drawing to portray clusters of services that could be delivered over the Internet. But still, the term “cloud” is blurry for many people.
One much more confusing terms is “serverless computing” as one of a cloud IT model, that actually doesn't eliminate servers from distributed applications.
“Serverless applications don’t require you to provision, scale, and manage any servers,” according to Amazon. In the classic cloud model, you are paying for a constantly running server or container. Serverless apps have functions running in the response of such events as file uploads or web requests. The most famous computing platform for such a deployment model is AWS Lambda.
Cloud Computing Is Not Remote Storage Only
The concepts of “cloud storage” and “cloud computing” are muddled often. These two are interconnected but not the same. Remote cloud storage systems, such as Google Drive, Dropbox, or iCloud, may enable you to host, share, sync, and edit files only from multiple devices using the Internet. Such a system allows clients to send files to data servers on the Internet, instead of storing it on a computer or external storage device. And a cloud computing machine is more than a permanent storage or data sharing tool. Its abilities are much wider. It’s about the use of hardware and software to deliver varied services over a network while cloud storage is simply storing data and files, and performing backups for completing the process.
The Power of Three: IaaS, PaaS, SaaS…And Something More
Cloud computing building consists of three basic levels: the lowest is Infrastructure-as-a-Service (Iaas). It is a basis of bare metal, providing the physical servers, device storage, networking components.
Platform-as-a-Service (PaaS) is the middle that maintains an environment for hosting user apps, such as virtual servers, operating, and database environments. It’s demanded to develop, run, and manage apps without the need for infrastructure organization. PaaS is a simple way to deploy your app in a given technology (e.g., Node.js, .NET, Python, Java, Ruby, etc).
The top is Software-as-a-Service (SaaS), providing out-of-the-box software including service on demand. It’s a software distribution model where a third-party vendor hosts apps and makes them available to clients over the Internet. In SaaS, a lot of areas can be managed by providers: apps, runtime, data, OSes, virtualization, servers, storage, etc.
One more room on this top floor is Data-as-a-Service (DaaS) as a subset of SaaS. More specifically, it’s an API (usually HTTP) returning some data like currency exchange rates or weather forecasts.
But that is not a full house yet. Let’s look on upstairs. There we can single out a Function-as-a-Service (FaaS), an event-based architecture: functions can be triggered by a given event. It implies a very high level of abstraction that is called a serverless architecture.
To quickly relate let's consider Google's tools:
- IaaS: Google Compute Engine (allows developing programs to be executed on the high-performance Google computing infrastructure)
- PaaS: Google App Engine (allows developing apps and executing it on top of Google engine)
- SaaS: Gmail (allows using Gmail services and extending Gmail-based apps to form applications by Gmail add-ons frameworks)
- FaaS: Google Cloud Functions (allows writing single-purpose functions attached to events with no need to organize infrastructure or manage servers, code is executing in a fully managed environment).
Hybrid or Not Hybrid: That Is the Question
It’s common to identify three ways of deploying cloud resources: private, public, and hybrid. While the first two are clear, the third one is still confusing. Let’s try to handle this.
The optimal cloud solution for most businesses is neither public or private, but both. Traditionally, it is called hybrid cloud, which mixes different ways of deployment. To be honest, a hybrid approach has spawned a lot of misunderstandings. In fact, such a model doesn’t match the common term “hybrid,” that is traditionally defined as something that has been bred from two different species as an individual object and primarily involves crossbreeding as process.
But in fact, the hybrid cloud deployment is a specific strategy where data may intermingle between private and public clouds, but it remains with the same workload. So the hybrid cloud is about distributing app components in various clouds and sharing data between them while the heart of the process.
“Much of the adaptation to hybrid/multi-cloud focuses on how to move data back and forth, how to run applications on disparate hypervisors and how to bring non-standard services together."
— Chris Evans, author on Architecting.it
Now we are getting close to a multi-cloud concept. According to Gartner, multi-cloud strategies will reduce vendor dependency for two-thirds of organizations through 2024. This strategy implies mixing multiple cloud services, whereas they are not connected or orchestrated between themselves. Such a multi-vendor model gives a great opportunity to obtain the most efficacious solutions for business, while hybrid cloud refers specifically to the specific tech portfolio. A multi-cloud strategy may include hybrid cloud as a part, but a hybrid cloud solution isn't always a multi-cloud one.
There Is No Best of The Best Cloud Service
Cloud tech is gaining huge attention for today. Such corporate giants as Microsoft, IBM, Google, and Amazon provide clouds and successfully use it. These systems are all kind of different but they have the same concept. Depending on the features we are looking for, we can try several services and make use of the benefits of cloud computing provided by different companies.
Enterprise can use different cloud environments, implementing one workload in Google Cloud or Microsoft Azure, another in Amazon Web Services, and maybe even more, for example, you can keep some data on a private cloud.
The advent of cloud technologies revealed a lot of new business scenarios. Marketing solutions like Adobe Marketing Cloud or Hubspot, tools for education like SlideRocket (ClearSlide), ClearDATA in the healthcare sector: different areas have their own advantages of cloud computing innovations and new increasing opportunities for implementing in this deployment model.
When it comes to the dilemma of cloud vs. on-premises, start from your organization’s specific needs and requirements. Many companies combine both models, mixing public cloud services and on-site for various apps looking for the perfect combination of scalability, cost savings and efficiency managing. This allows them to get the best of both worlds, using the advantages of cloud computing in full.
Read more our articles here.
Published at DZone with permission of Alexandra Lozovyuk. See the original article here.
Opinions expressed by DZone contributors are their own.