Cloud Computing has gained immense popularity in last half a decade. It has made waves in the IT, Technology and Business worlds. This has led to surge in the global spend in Cloud Computing domain. So what is Cloud Computing? Why is it popular? We will be answering these and many such other important questions in this article.
We would be covering following pointers in this session:
- Why Cloud Computing?
- What is Cloud Computing?
- Cloud Service Models
- Cloud Deployment Models
- Popular Cloud Services Providers
- Cloud Computing Careers
So let us get started and understand the need for Cloud Computing.
Why Cloud Computing?
To understand Cloud Computing, we need to go back to times when cloud computing was not used extensively or did not exist. Not too back, if we go 15-20 years back from now, we would realize that application hosting and businesses ran very differently. Let us consider this example of application hosting. In order to host an application, we needed to set up an infrastructure, which we still do, but very differently. Back then you had to buy stack of servers. These servers were way costly then, than what they are today. This meant there was a lot of upfront cost involved.
This was not the only concern. We also needed skilled professionals to setup these infrastructures. And also to maintain and monitor these infrastructures. First of getting such professionals at a scale was a task and also the people available would charge a lot for these services. So again we had to pay a lot of money.
Other problem was the nature of businesses. In application hosting, you will always be catering to traffic that is not constant. At times you will experience traffic in high volume. Sometimes the traffic goes to negligible. With lack of proper scalability for these resources, updating infrastructure to the needs of this business was a very tedious task. This meant as a business owner I had to pre plan all investment, look after the resources who could take care of these activities. And yet no be sure of the fact that all planning would help my application function as planned.
This meant running such activities was limited to people with lot of investment. And there were quite a lot of loose ends that still needed mending. What was needed here was an approach that could solve all these problems. And this is where cloud computing stepped in.
Let us understand what it is exactly,
What is Cloud Computing?
To understand Cloud Computing, let us consider this analogy,
Cloud Computing is similar to electricity boards, that supply electricity to our homes. To give you an example, we all consume electricity at home. We turn on our fans, bulbs, TV sets, Washing Machines, and all this happens at a mere click of button. We press the buttons and electricity runs through our home appliances. We do not have to worry about who supplies this electricity to our homes. Neither do we have to worry about how it is supplied, how it is maintained. The electricity provider takes care of all these issues. What we do, at the end of the month we get a bill saying that these are units of electricity consumed and this is the amount we need to pay.
Well, Cloud Computing is like your electricity board. But instead they provide cloud computing or application hosting and quite few other services in similar manner. Let us take a look at a bookish definition before we move any further,
‘Cloud Computing enables on-demand services like compute, storage, networking, etc which can be accessed through the internet and the user is not required to manage these resources’
So to simplify it further, Cloud Computing addresses all the concerns that we discussed in the Why bit of Cloud Computing. It provides:
- Pay as a you go payment mode
- Is accessible from most part of the world
- Can be accessed through internet
- Vendor takes care of managing and monitoring these services
- The resources provided can scale up and down depending upon the requirement
What this means is you can more or less rent the services mentioned about and release them whenever you can want. You will be charged only for the time duration you used these resources. With instant scalability and support you can focus on your business problems more and less on the configuration part.
With more use of internet and businesses moving to cloud, we see businesses investing heavily in Cloud Computing and also a spike in the interest of individuals wanting to move to Cloud Computing.
This was about Cloud Computing let us go ahead and understand Cloud Computing a little more.
Cloud Computing Service Models
Now that we know what Cloud Computing is let us go ahead and understand, in what form are these Cloud Computing services delivered to the users or consumers.
Base on the way a Cloud Service is provided to a consumer, we classify it in three main categories,
- IaaS(Infrastructure as a Service)
- PaaS (Platform as a Service)
- SaaS (Software as a Service)
These are called as Cloud Service models. Let us understand them one by one,
IaaS (Infrastructure as a Service)
Here the user is provided with Infrastructure as a whole, where he or she can get involved in the configuring the infrastructure right from data, applications, middleware and operating system as per the need.
Your vendor on the other hand manages, all the application needs that concern, virtualization, storage, servers and networking. In simple words infrastructure is provided to in the form of service. And hence we rightly call it as infrastructure as a service. Amazon EC2 service which is a computation service is a fairly good example of IaaS form of service. Virtual Machines by Microsoft Azure is an equivalent to Amazon EC2 in terms of IaaS service. IaaS services require user configuration but are suited to users who want control over the configuration part. This was about IaaS Service model.
Let us now go ahead and understand the next type of Service Model in line,
PaaS (Platform as a Service)
As the name suggests, here vendor gives the consumer Platform in the form of service. Here the only thing the user has to bring on the table is the data, or the applications. For example, you have your code or data ready but just need an environment where you can place or use this data. Then Cloud Services will provide you with a platform in this case where you can run the applications you have or build newer ones in the environment provided to you.
Here the vendor controls runtime concerns, middleware, operating systems, virtualization, servers, storage and even networking. A good example for this Amazon Web Services catered service called as Amazon Elastic Beanstalk. Amazon Elastic beanstalk provides your applications or data a perfect environment or platform to run. It lets you deploy and scale your web applications or services. It supports Java, .net, PHP, NodeJS, Ruby, Docker and even Go. It also supports quite few servers in the market. All you have to do load your data. Elastic beanstalk will be managing, spawning instances, auto scaling, deployment, loading balancing and even resource monitoring.
So you actually a get platform in real terms. This was about Platform as a Service. Let us go ahead and software as a service.
SaaS (Software as a Service)
This is the last of service models in the list. As the name suggests in this offering a complete software is given to the users to actually go ahead and use in the form of a Service. Here the only thing you manage as the user is your data. Your vendor manages the application, middleware, operating systems, runtime, servers, storage, virtual machines and networking.
The vendor in simple words gives a software to use. A common example would GMAIL. Yes, here as a user what you will do is login with your credentials. And use this email software in the form of a web application. You do not have to worry about any servers, outages, disasters and in this case you don’t even have to download anything.
Another example would be Facebook. You just login and start using this social media service where you can post your pictures communicate with people etc. This is what Software as a Service is in a nutshell.
Following image will through light on all the pointers we discussed
These services are similar to consuming Pizza. If make it from scratch, it is more of an Infrastructure as a Service. Because you will make your own down, use the sauce and other ingredients as per your need. Ordering it on home delivery is more of a Platform as a service. Whereas going out and eating it is more of a SaaS as a Service. This was about the popular service models of Cloud Computing. Let us now go ahead and understand what type of Deployment Models cloud computing offers us.
Cloud Deployment Models
We deploy are applications to Cloud Servers. While doing so we consider various factors while doing that. Like what location should the data reside, how to manage latency issues and even what kind of security we want. Let us go ahead and understand different deployment models that cloud platforms have to offer. These are the types of deployments Cloud Computing offers,
- Public Cloud
- Private Cloud
- Hybrid Cloud
- Community Cloud
Let us understand them one by one,
As the name suggests this cloud is available to people publicly. Here you rent the services and servers from a third party vendor. These services can be operated or accessed through the internet over the network. Here you share software, hardware and network devices with other clients that take services from the same service provider.
In public cloud, we as a consumer will rent all the services. This means the user does not have to worry about configuration and managing these services. The vendor takes care of management, manages cost and maintenance, all we do is pay for the costs or rent details your vendor gives you.
This deployment appeals most in terms of investment, freedom of scalability and no need to bother about buying expensive servers or resources.
- It reduces time
- It is highly cost effective
- Gives flexibility in terms of Scalability
- There are higher security risks since we put our applications and data on Public Cloud which is used by others
- Network performance problems occur with spikes in usage
Let us now go ahead and talk about Private Clouds
What is Private Cloud?
These clouds are specifically designed for single organization usage. This Cloud Deployment model may be physically located at the company’s on site datacenter or can be managed by a third party provider.
If you are talk about the functionality of public and private clouds, they are very similar to each other. The only difference as suggested is your private cloud will have a separate server and resources for your own organization. Again regardless of their location, no matter these resources are located, they will always a separate private network for them to function. People fear that public clouds do not provide security to the level of Private Cloud and hence we see, quite a lot of organizations wanting to move to private cloud.
Since we are talking about dedicated resources, users have more customization opportunities, that meet particular needs. It also ensures customizations more aptly because the resources are designed from that a company’s business perspective. Meaning, the scaling and changing of resources is easier here. Let us point out some advantages and disadvantages before we move to the next bit of this topic,
- More Flexibility and Customization in terms of scalability and changes
- More secure, reliable and gives more authority to the owners
- One major and important drawback is the pricing; it is costlier compared to public cloud meaning all the benefits are costlier
As the name suggests, this deployment model gives a Hybrid approach to dealing with Cloud Deployments problems. Here the platform lets you best have capabilities of all Public, Private and Community Cloud. Here you can move relevant resources into respective deployment functioning to suit your business needs. Evening when it comes to pricing, depending where you have put your resources decide your optimized costs accordingly.
- Balance of Pricing
- Reasonable flexibility and security
- Good privacy at a multi-organization level
This cloud again is similar to the model we discussed before this that is the Private Cloud. In private cloud we have resources dedicated to one user. Here we will be having more than one business or companies under one cloud. The point to note here we share the resources with companies that working for a common goal. For if multiple organization wish to work on a common project they can do it under the umbrella of Community Cloud. In terms of pricing all the resources are shared by organizations using it.
- Cost Reduction compared to Private Cloud
- Good Security
- More options in terms data sharing
- Costlier compared to Public Cloud
- Limited Bandwidth for resources used
So this was about different Cloud Deployment Models. Let us go ahead and understand the next topic of discussion.
Popular Cloud Service Providers
Cloud Service Providers are the vendors that provide Cloud Computing Services. There are many services providers in the market that provide these services. To name some popular ones we have
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
Amazon Web Services
Amazon Web Series is easily the most popular and widely used Cloud Services provider and has been leading the Public Cloud Market share from almost ever since it initiated. It specializes in IaaS services mostly and to some extend in PaaS offerings as well. Owing to the needs of people wanting to move to Private Cloud for security reasons, it has started expanding it reach in that domain.
As the name suggests, it is an Amazon Product/Company and serves 240 plus countries across the globe. And has more than 220 cloud computing solutions that are fully functional in nature.
It gives long term pricing benefits and offers pay as you go model were you are changed on per minute and per second basis depending upon the services being used.
It initiated very early 2002. That time it had limited set of offerings, some common tools and services it could cater to. Then came 2003, and a lot started changing, it was Mr. Christopher Pinkham and Mr. Benjamin Black, who proposed and presented a paper to bring a revolution in AWS or Amazon Web Services with automation they introduced through their suggestion.
Amazon was always known for its retail platform. They believed it could serve a better purpose. So by 2003 Amazon started looking at a bigger perspective. It was in 2004, that Christopher Brown and his team help bring out Amazon EC2 a computation service which now is easily is the most popular cloud service in the market. Post then AWS took cloud computing to a next level.
The popularity of Amazon Web Services has gotten unfathomable and as mentioned earlier it offers 220+ services now and it is understandable how far it has come.
If we continue to talk about AWS, we can just go on. Let us detour now and understand another Cloud Platform that
Microsoft Azure is another cloud platform that provides cloud solutions that let you test, build and deploy cloud applications or even migrate your existing applications to this cloud platform. Once moved these resources reside safely on Microsoft Azure Cloud Platform. It serves or provides services in all three models we discussed earlier that is Infrastructure as a Service, Platform as a Service, and Software as a Service.
From its name it must be evident by now, that it is a Microsoft Product. What this also implies is that it readily integrates with Microsoft stack of products which are plenty in number. And mostly these products are very widely used and by many users. This has helped Microsoft Azure to grab the cloud computing market at a quicker pace and in large volumes. No wonder it grew at a double pace compared to Amazon Web Services last year in terms of Cloud Market.
Talking of cloud markets. Microsoft Azure is known for Hybrid Cloud Services and hence we see it growing very rapidly in Hybrid Cloud Market and the discounts that Microsoft Azure offers in terms of pricing is taking it even further.
Microsoft had announced some cloud services in early two thousand, but then it was 2008 when Microsoft Azure announced its full-fledged Cloud Service solution and that happened in early 2008. It was in 2010, when Microsoft Azure released its services. When it started it was known as Windows Azure and was later renamed as Microsoft Azure, as we know it today. Microsoft Azure has expanded far and wide with the maximum number of cloud regions in the world. Provides Services in 140 countries.
It serves a wide array of popular companies as well. 70 to 80% of fortune 500 companies use Microsoft Azure. Here are some popular names in the market that use this platform, Ebay
This was about Microsoft Azure. Let us now go ahead and understand Google Cloud Platform.
Google Cloud Platform
If we talk about the best platforms in cloud domain then Google Cloud is the youngest among the three, and also has smaller customer base when we compare it to other platforms in the market. But we cannot ignore that Google Cloud is a home to some popular names in the world, such as YouTube, Gmail, which are huge on their own. Here is a list of some other popular customers they have,
Let us understand a little bit more about the platform, Google Cloud Platform (GCP) also known as Google Cloud was announced in 2008. It started with the first Public Cloud Service known as a Google App Engine and become public in 2011. It was the first Platform as a Service or PaaS as they call it which was introduced by Google Cloud. After this PaaS service, Google introduced various cloud services in the public domain. These services reside on the same cloud space which is also home to some popular Google Services reside like Google Search, YouTube, Gmail etc.
Google is highly popular in terms of services that relate Machine Learning, Data Analytics, Compute, Storage, and similar domains, etc
So this is about the popular cloud service providers in the market. Let us go ahead and understand Cloud Computing further.
Cloud Computing Careers
Talking of Cloud Computing Careers, Cloud Computing is not just popular amongst the businesses, but people are equally crazy and passionate about chasing cloud careers. Cloud Computing was rated as one of the most wanted hard skills in 2020. LinkedIn as we know is a popular platform where people connect professionally, it also does surveys understanding what skills are in demand and what are the employers are looking for.
A statistic by LinkedIn States that Cloud Computing ranks second in the of most sorted Hard skills that are looked after by the employers across the globe. It even ranks about above the popular skills like data science and artificial intelligence.
Another statistic that talks about most sort after tool or platform that employers demand for are, Amazon Web Services and Microsoft Azure, that closely follow Python and other skills. From this it is evident that Cloud Computing is here to stay and people will chase this career path. But then when people tend to choose this path they realise that cloud provides roles and people from different backgrounds get confused what path to choose.
As an individual, you may be
- Software Developer
- Software or a Solution Architect
- Software tester
- Machine learning Specialist
- Network Engineer
- BI Professional
Now you wonder, do I Still have an opportunity on Cloud Platform? The answer is clear yes. You can definitely make a career here. The question still remains unanswered, as to what path to choose, amongst so many options out there? To simplify this concern, Cloud Computing Service providers have come up with role based certifications. To simplify your conundrum. These roles based certifications ensure you have a well-defined path that you choose to make a career in this domain. Let us go ahead and discuss these roles one by one.
Cloud Platforms primarily divide these roles in these three paths,
- Cloud Solutions Architect
- Cloud Administrator
- Cloud Developer
Let us start with Cloud Solutions Architect,
Cloud Solutions Architect
These are the professionals who are expected to design blue prints of Cloud Solutions. Just as an architect designs blueprints of Buildings they build. Solutions who have built and designed software solutions will be able to relate Cloud Solutions Architect role.
This is a very important role as these people are involved in design of applications on cloud platforms or even in planning of migration of application to Cloud platforms. So if you decide to be a Cloud solutions architect, what are the responsibilities you would take up? Here is a list for you,
- Design and deploy applications that are dynamic, scalable, always availability, fault-tolerant and reliable in nature
- Have clear and deep understanding of cloud services
- Should be able to select relevant services on cloud so that process of designing and even deploying applications becomes easier and they meet the requirements that were defined
- Migration is another key area, because we may have to migrate existing infrastructures that cannot be discarded right away. So it is important you have technical knowhow on how this migration happens and in optimised manner
- Designing and deploying enterprise wide scalable operations on cloud platforms
- You should have knowledge on how to optimise costs of your architecture on cloud
So this was about what a solutions architect is expected to know, let us go ahead and understand what would you do as a Cloud Developer,
From the name itself it can be understand what would you be doing as a Cloud Developer. Once the Solutions architect designs a blueprint we know what needs to be built. So as a developer one is expected to bring these blueprints to life. So Cloud Developers are ones who design and develop Cloud applications. As a Cloud Developer you would be expected to know the best practices one needs to build architectures. Cloud Developers are also expected to involved in practices that concern, developing, deploying, and even debugging cloud applications. Here are some skills a cloud developer is expected to know or get involved in:
- As a developer you would be expected to know at least one programming to core
- Skills that help develop, deploy and debug cloud applications
- Understanding Software development lifecycle management practices
- DevOps is slowly becoming an integral part of software development these days
- Hence understanding of DevOps practices is also important
- Ability to build CI/CD pipelines
- Stay involved in essential security practices
- Ability to write and debug codes at stretch
- Understanding of how containers work
So this was about Cloud Developer. Let us go ahead understand what a Cloud Administrator does.
These people are also known as Cloud Operations Engineer. As the name suggests these people are involved technical operations that concern cloud applications. They are deeply involved in managing and monitoring cloud applications. They have to interact with the developers to understand how these applications would work in Production environment and also be involved at a customer end to understand how the application is performing in the production environment. Here are some of those skills or responsibilities you should have as a cloud administrator or operations engineer,
- You should relevant experience as a system administrator and should knowledge about system operations
- Virtualization is very important from a cloud perspective and it important you know virtual machines or virtualization
- It is important to know auditing and monitoring of resources
- You should have knowledge about networking concepts
- As an administrator it is important to have knowledge of DevOps practices as well
- It is important to know and understand data flow from a particular service to another
- Ability to understand how networks work and how to keep data safe and secure over this network
- Understand of monitoring and management services on cloud platforms
- Ability to be involved in discussions with solutions architects to plan and implement cost optimization practices on cloud
So this was about Cloud Administrators or Cloud Operations Engineers. Apart from these roles you will also have opportunities to make career on cloud in some other specialty domains. These days Machine Learning and Data Science have been talking points for many. This means people wanting to make career in this domain. There are so many services that support Big Data, Machine Learning Data Science implementation on these cloud platforms. So popular cloud vendors have come up with certifications that cater these needs. There are specialty certifications that concern security and network roles.
So the opportunities for Careers in Cloud Computing domain are plenty and there is a lot one can do to have successful and a flourishing career in this domain. This was about some popular roles that one can take in Cloud Computing.
If we are to discuss specific certificates in this domain, then Microsoft Azure and Amazon Web Services have come up with role based certifications that allow you to get expertise in the main roles and in specialty roles we discussed above. Let us go ahead and take a look at the certifications offered by Amazon Web Services to understand these pointers or roles better.
AWS Certifications and Careers
The image below will shade light on certifications Amazon Web Services has to offer
From the image it is clear that are many certifications that Amazon Web Services offer. Let us take a look at them one by one. If focus on the left hand side of the screen, you will realize we have levels mentioned from bottom to top in ascending order, that is followed by Role Based certifications that get tougher as we climb up the ladder. The ones on right hand side of the image are Specialty Certifications.
Let us start by understanding the role based certifications first. With Amazon Web Services we have similar roles that we defined in the previous bit. To name them, we have,
- AWS Certified Solutions Architect
- AWS Certified Developer
- AWS Certified SysOps Administrator
To get the certifications just mentioned, people who are starting fresh with Cloud Computing, should start with AWS Cloud Practitioner Certification. This is the certification that prepares you to the fundamentals of Cloud Computing and Amazon Web Services.
Once you have this you should think of stepping up and choose a path or a role mentioned above. The roles or certifications mentioned above are similar in nature when compared with three cloud career roles we discussed in previous bit.
One thing you need to know is once you have the foundational certification, the next step is to opt for an associate level certification. The expects you to have one year of experience in Implementing cloud solution AWS cloud platform or relevant experience that tells you are practically adept for this role. So can opt for associate level certifications for AWS Architect, AWS Developer or AWS SysOps Administrator roles.
Once you have these certificates you can try for jobs in this domain. These certifications are valid for two years post that you may require to retake the exam if AWS decides to discard these certifications or change them majorly.
If you have worked in the domain and have experience over two years. You will be eligible to professional level certifications. These advanced certifications and you tested on your technical and advanced level skills in your domain or role. As an AWS Solutions Architect you can opt for Professional certificate for AWS Solutions Architect. If you are a AWS Certified Developer or AWS Certified SysOps Admin you can opt for a professional certification that is AWS Certified DevOps Engineer Professional.
Now there could situations where you do not want to opt for these roles based certifications and want to specialize in some domains that concern AWS cloud. In this case the certifications on the right hand side of the screen will add to your interest.
AWS offers five specialty certifications those are
- AWS Certified Networking Specialty
- AWS Certified Big Data Specialty
- AWS Certified Security Specialty
- AWS Certified Machine Learning Specialty
- AWS Certified Alexa Skill Builder Specialty
So if you experience in these domains or have technical expertise in the domain then you can go ahead and take these certification exams and implement your skills on Amazon Web Services Cloud Platform. So Amazon Web Services has every one of you covered here. Microsoft Azure Also provides similar certifications that are role based in nature. Do check Microsoft Azure Official Website to know more about those too.
So this was about different certifications and career opportunities has to offer to us. You may choose the paths mentioned above to fulfill your dream of becoming a cloud engineer. As far as this article goes we have explored the concept of Cloud Computing from multiple faucets. We have shade light on cloud computing and some of its core concepts. Explored popular cloud platforms in the market like Amazon Web Services and Microsoft Azure and Google Cloud Platform. And very recently how to make a career in this domain.
We hope you continue your pursuit in this domain and take your Cloud Computing skills to a next level. We will be coming up with similar articles in near future. Do let us know if you liked this article in comment section below. In case you have queries concerning Cloud Computing, Amazon Web Services, Microsoft Azure or other topics discussed in this article, then let us know about it in the comments section and somebody from our team will revert to your queries at the earliest.
Check out GL Academy for free online courses on Cloud Computing.1