What is Cloud Computing and What is it For?
What is Cloud Computing and What is it For?
Cloud computing, one of the most influential technology trends of this century, came to light more than ten years ago and seemed to be here to stay.
Join the DZone community and get the full member experience.Join For Free
Cloud computing, one of the most influential technology trends of this century, came to light more than ten years ago and seemed to be here to stay. However, it is still common to find many doubts as to what it is, what it is for, what service models exist, and what the advantages of cloud computing are.
In particular, there are still industries that fear the implementation of these services because they don't know about them. But you can rest assured. When you finish reading this blog post, you will have a broader picture to decide whether or not you should implement cloud services in your business.
What is Cloud Computing?
When we look at the definitions delivered by different cloud service providers, they agree on three main points:
- Consumption of technology infrastructure resources as services over the Internet.
- Implementation of a consumption-based charging model, instead of investing in physical infrastructure.
- A tool that provides flexibility and accelerated innovation to businesses.
Thus, if we seek to summarise the definition of cloud computing even further, we could say that it is a set of technology services offered over the Internet, which are charged only for what is consumed and are designed to make business more agile.
What Services Can I Find in the Cloud?
When migrating to the cloud, you need to consider the types of cloud services available:
- Computing: Cloud computing services are designed to support the application processing layer. Thus, the user can choose the number of processing cores and memory required, while the cloud provider makes them available when the user needs them.
- Storage: The cloud offers virtually unlimited storage capacity for users, plus the ability to replicate information in multiple geographic locations, which adds a layer of fault tolerance that seeks to ensure the availability of data at all times.
- Networking: Each cloud provider offers a set of services that seek to virtualize the network layer of physical infrastructure solutions. Thus, new tools are defined for controlling communication between the different cloud services, as well as for resource security management.
What are the Service Models for Cloud Computing?
Now, how each provider offers these services makes it possible to add classification into multiple cloud service models, which are differentiated mainly by the separation of responsibilities between the provider and the user:
Infrastructure as a Service (IaaS)
It consists of those services in which the user is responsible for the administration of an operating system and all the platforms it deploys on. At the same time, the cloud provider will be responsible for supporting the infrastructure on which this operating system is deployed.
Platform as a Service (PaaS)
It consists of those services in which the cloud provider offers its users a ready-to-use platform, with the provider being responsible for managing both the infrastructure and the operating system on which this platform is deployed. The user will be responsible for managing and consuming the platform.
Software as a Service (SaaS)
It consists of ready-to-use software services that cloud providers expose to their users. In these cases, the user is only responsible for consumption, while the provider is responsible for the management of all infrastructure components and platforms that support these services.
And What are the Types of Cloud?
There is also a classification of types of the cloud with which you can work and within which you can deploy the services we have already mentioned:
When a provider consolidates a set of physical resources in one or multiple geographic locations and exposes them for consumption as services over the Internet, this is known as a public cloud, given that access is open to everyone, even though the resources assigned to each user are private.
When a particular user decides to provision computing, storage and networking capabilities on an on-premises basis to consume resources individually, this is known as a private cloud. In particular, traditional physical facilities, also known as on-premise, are included in this category.
When solutions are integrated between multiple public cloud providers, connected to one or multiple private clouds, this is known as a hybrid cloud solution.
And What Can I Deploy in the Cloud?
Finally, let's talk about the technology solutions we can deploy in the cloud. In theory, any application can be run in the cloud, but we can classify them according to the type of architecture on which they are built:
This is where all the applications that are deployed on web servers or traditional application servers, which are installed on a particular operating system and connect at the machine level with other resources to support the complete technology solution, are grouped.
Microservices Based Architecture
This is an architectural paradigm that has gained much strength in recent years and separates the application into multiple components or microservices, which have the following characteristics:
- Autonomy: they can exist without the need for other components to be available as well.
- Specialization: each microservice fulfills a specific role within the application and focuses on solving a single problem.
Thus, a particular example of a microservices architecture is container-based applications, in which each container is assigned hardware and software resources independent of the operating system, in addition to libraries installed on the machine on which they are executed.
Let's think about the possibility of deploying applications in the cloud without worrying about allocating computer resources or managing them. This problem is solved by the serverless paradigm, in which the cloud provider is responsible for providing all resources required for the application to respond appropriately at any time so that the user will only be responsible for ensuring that your application is optimal. An example of claims under the serverless architecture is those built using Lambda functions in Amazon Web Service.
Opinions expressed by DZone contributors are their own.