We all have been witnessing this buzz about cloud services, tech giants such as Google, Amazon, Microsoft, etc. releasing their cloud service platform such as GCP, AWS, Azure, etc. Every major company is hiring cloud developers.
In this article, I'll be covering some basic understanding of cloud computing, how it is changing the tech industry, and why every developer should (must) be skilled with it.
Simple, just switch on the lights. In the worst case, you're going to take an electricity connection, install the bulb and never worry about it again. What you're not going to do is, produce electricity, pass it from different stations to your room, manufacture a bulb, etc.
We don't care about the production, delivery, or maintenance of the power, we just pay for those services and let the service provider handle this professionally. This is something that cloud computing does for software developers.
The concept of cloud computing is very much similar to the example we discussed earlier. Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user.
Computing services are delivered through the internet, instead of maintaining CPUs and storage in your data center, you rent them for the time that you need, and maintenance is on the cloud service providers.
- Global reach: Available in numerous locations, which gives you fast online reach to everyone in the world.
- Scalability: Add/Remove extra CPUs, Memory, Server, etc. as per your need, whenever you want.
- Elasticity: Service providers automatically use extra resources when needed, or remove extra resources when not needed.
Pay as you use: Pay only for what you use, and how long you use, with zero maintenance cost.
Updates: Since everything is maintained by a cloud service provider, so if any new tech is available, the service provider gets it for you. If anything fails, the service provider fixes it for you.
Cloud computing types are based on service deployment models which let you choose the level of control over your information and types of services you need to provide. These are generally in three types:
- Iaas: Infrastructure as a Service, requires the most user management of all the cloud services. The user is responsible for managing the operating systems, data, and applications.
- Paas: Platform as a Service, requires less user management. The cloud provider manages the operating systems, and the user is responsible for the applications and data they run and store.
- Saas: Software as a Service, requires the least amount of management. The cloud provider is responsible for managing everything, and the end-user just uses the software.
Here is an informative image that will help you to visualize difference between these three forms of cloud services, with your level of control.
Here are some of the basic examples of different cloud service providers with their different types of cloud services.
If you are a software developer or aspired to be one, you surely would have understood how significant these cloud services are, for your career.
As per 2020, Annual cloud infrastructure has managed to produce revenue of $111 Billion, where AWS itself contributes to 33% followed by Azure at 18% and GCP at 9%.
According to an article at Robert Half, DevOps and Cloud development is one of the highest-paid IT jobs of 2021.
This was an introductory article on Cloud Computing. If you find this useful, follow me for series of articles on cloud services and software development.