What is a Cloud Architect? – A Thorough Insight & Why Should You Become One?
Hello there, how is it going?
Welcome to scaleyourapp.com
This write-up is a comprehensive insight into the frequently asked question What is a Cloud Architect? It also covers the related questions such as I am already a software architect, why do I care about the cloud? What are the roles of a Cloud Architect & the challenges one has to face?
So, without any further ado.
Let’s get on with it.
1. What is a Cloud Architect?
You might have heard of these designations in the industry, an Application Architect, A Solution Architect, An Enterprise Architect. And the most common of them a Software Architect.
From a bird’s eye view, these roles kind of have the same responsibilities, with subtle differences. What are they? demands a separate dedicated write-up.
For now, let me just get straight to the cloud part. A Software Architect responsible for designing scalable, highly available, fault-tolerant systems deployable on the cloud is referred to as a Cloud Architect. Think of it as an extension to the regular Software Architect role. Like a specialization.
Well, a Software Architect does a lot of things, designs different solutions & architectures. Shouldn’t the cloud part too be included under the software term?
Well, a workload running on the cloud needs a different design approach unlike the regular monolithic or the legacy web-services based apps, generally running on-prem.
Also, these designations vary from organization to organization. Some call it the Solutions Cloud Architect. Some further split the responsibilities into the Cloud Infrastructure Architect, the Cloud Applications Architect, & the Cloud Platform Architect.
I’ll quickly, in one line talk about the different cloud roles I listed above.
Cloud Application Architect
Think of him as a Java Architect, who would have the responsibility of designing a scalable Java application which would run on a cloud platform. He would just think about the code & the architectural design of the application.
Cloud Infrastructure Architect
On the other hand, a cloud infrastructure architect would think about how many servers should be provisioned, initially? How will they be added in real-time if the traffic spikes? What should be the fitting underlying messaging server & the OS?
I think you get the idea. He has to think about all the underlying infrastructure which the app would run on.
Cloud Platform Architect
A Cloud Platform Architect has more in-depth knowledge of how the system would run on the whole cloud platform. Would the proprietary vendor database be fitting or an open-source tech running on the cloud? etc.
Well, these are just subtle specifications & are not the industry standards, by any means. A person could take care of everything or multiple resources could be employed to take care of the stuff. It entirely depends on the business requirements.
2. What Are the Skillsets of a Cloud Architect? Factors A Cloud Architect Has to Keep in Mind When Designing A System To Be Deployed on Cloud
In this section, I’ll give you a hint into the skill which an architect working on the cloud should possess to excel.
There are a whole lot of factors to be considered when designing a solution for the cloud. For the brevity of the article, I’ll just touch the surface of things.
It’s imperative that the application is stateless. Individual server instances, commonly known as nodes just cannot have a state.
What is a State?
The objects should not hold local data. A strict no to the Static members. Why?
Imagine a user is being served by an Instance A. For some reason the instance goes down. Now if the instance holds the user’s local data in a static variable. All the information is lost. There is no way for other nodes to access that data.
When the user request is served by another Instance B, as a result of the highly available nature of the cloud infrastructure. It would appear as a fresh start to the user.
Ideally, this is how it is in case of the monolithic apps. The instances hold a state & rely on sticky sessions. But this doesn’t work in the cloud. All the instances running in the cloud should be stateless.
Cloud has a service-oriented distributed architecture with lots of microservices, containers, clusters and everything spread out geographically. This distributed design makes it highly available, scalable & elastic.
A Cloud Architect has to keep these things in mind when designing an app. He should be aware of the nitty-gritty of the distributed environment. How to plug the lego blocks together. This is no simple feat.
Choosing the Right Service
A Vendor cloud platform typically has four kinds of services SaaS Software as a Service, PaaS Platform as a Service, FaaS Functions as a Service & IaaS Infrastructure as a Service. An architect should be deft enough to match the business requirements with the right service.
There are costs associated with every decision. Picking the wrong service could cost a business a lot of money.
For instance, FaaS Functions as a Service would suit best for a system built for batch image processing & which ideally runs a couple of times a day. Why waste computing power picking a PaaS?
Can our business afford to stream sensitive user data over to the vendor platform? There are so many industries such as Finance, Health, Military where moving data out of the organisation’s private network is just not feasible.
We need an alternate solution. How about deploying things on-prem?. How about a private cloud?
Or in situations when we are running our business on a vendor cloud platform. Is the platform compliant with all the security standards?
Slack is the most popular workplace communication tool in the industry. But in order to use it the organization’s data has to move over to the Slack servers. As an alternative, they have to resort to open source solutions like Mattermost which is deployed on-prem.
As much ease of use a proprietary database solution brings, it has its downsides too such as vendor lock-in.
In the near future if the vendor decides to shut down the service or updates the pricing model. Things can get difficult. Be ready for rewriting & refactoring a lot of code.
Should you go for an open-source database as a service provided by the same cloud vendor or it’s proprietary database service?
Every decision is a trade-off. A Cloud Architect has to carefully evaluate the pros & cons of everything.
Hybrid Cloud Deployment
Often companies choose to spread their workloads deployments over several different cloud platforms.
A couple of reasons generally, no single point of failure.
In future, if anything amiss happens with one cloud provider, the business can migrate their workloads to another, as they already have a slice running on it.
There is no one solution fits all. Different clouds have different services & different pricing models.
Business can cherry-pick the good parts from each. Some provide better integration with third-party tools, some services are more popular & commonly used in the industry. The availability of skilled resources on that tech is more.
But at the same time, hybrid cloud deployments have network latencies. Can your business afford that? Again, a trade-off.
An In-depth Understanding of the Pricing Model
As I brought this up already, billing is the most important thing an architect has to keep an eye on. Keeping the bills to a minimum. Cloud costs & efficient application design go hand in hand.
These are just a few of a whole lot many factors involved in the decision making. All in all, a Cloud Architect has to be aware of them & has to stay on his toes with the industry’s technological current landscape.
2. Why You Should Care About the Cloud?
The world is moving fast. It’s actually running. Businesses cannot afford to be left behind, they need to continually innovate, maintain quality & deliver to their customers at a rapid pace.
And cloud enables them just to achieve that by making them focus on their business instead of worrying about the workload deployment, network issues, infrastructural headaches etc.
Businesses don’t have to employ dedicated teams to run & manage their infrastructure. They prefer to outsource the heavy lifting to the specialists. They are moving their workloads to the cloud & to manage the whole stuff they need Cloud Architects.
There is an ever-growing demand for cloud architects in the market. And where there is demand, there is money. Period
Ever-Growing List Of The Cloud Customers
You might want to have a look at the customers & case studies of businesses running on Google Cloud, AWS. The list just doesn’t end. More than 75% of businesses running online today have their infrastructure deployed on the cloud.
Also, the cloud is the first choice of startups, considering the limited resources they have. It saves them a ton of time & resources.
Popular online multiplayer games like Fortnite & Pokemon Go spread like wildfire. Their platforms received some crazy traffic within a very short span of time. And they could handle such a load only by harnessing the power of the cloud.
Fortnite has over 200 million players with approx. 8.3 million concurrent users on their platform. It is powered by AWS.
Pokemon Go runs on GCP, it has over 800 million downloads worldwide.
Evernote started with their infrastructure running on-prem & then later migrated to GCP to meet the growing demands.
3. Cloud Architects Jobs & Market Demand? How Much Money Do They Make?
With the ever-growing rate of businesses transitioning their workloads to the cloud. The demand for Cloud Architects is continually rising. Have a look at the Cloud Architect Jobs on StackOverflow.
The average salary starts from over a 150K US$s & is largely relative. Depends on factors such as the employer’s pay standards, the skillset & the hands-on industry experience a person has.
4. What Are the Popular Cloud Platforms in the Industry?
Let’s talk about the leading cloud providers present in the industry today.
AWS Amazon Web Services leads the race with the majority of the market share with Google Cloud & Microsoft Azure quickly catching up. AWS naturally had the first-mover advantage & excelled in its services.
Alibaba & Oracle’s cloud platforms are relatively new to the market.
There are a lot of other cloud providers catering to some specific use cases. I remember a few like the Cloudfoundry, RedHat etc.
4.1 What is an AWS Architect? What does it do?
An AWS Architect is responsible for designing systems to run on the AWS cloud platform. He would have a thorough knowledge of the platform. An understanding of the architectural principals of building an app on the AWS platform.
He is aware of the specific use cases of the various solutions offered by AWS. He would know how to fit the lego AWS blocks to optimize the system’s performance, & the billing etc. He has the ability to identify and define the technical requirements of an AWS application.
There are also several AWS architect certifications offered by the official AWS team. Check it out.
4.2 What is an Azure Architect? What is Google Cloud Architect?
Similar to AWS, there are architects specializing in each of the respective platforms like Microsoft Azure & Google Cloud. They have a hands-on experience of designing distributed, scalable, highly available, a fault-tolerant app running on Azure & Google Cloud.
Well, guys, this is pretty much it on what exactly is a cloud architect? What does he do? I think in the present industry scenario if you are a developer, learning about the cloud, how distributed systems work, is a pretty important skill set to acquire. Also, it’s a lot of fun.
My Experience with Building Apps on The Cloud
I recently built a browser-based multiplayer game deployed it on Google Cloud Platform. It was real fun experience building stuff.
Here is the game trailer
More On the Blog
On this blog, I write on real-life architectures, cloud, distributed systems & computing. You can subscribe to the browser notifications to be notified of the latest content.
If you liked the article, do let me know thoughts in the comments. Also, share it with your geek friends.
I’ll see you in the next article.
- Distributed Systems, Scalability & System Design #1 – Heroku Client Rate Throttling
- Zero to Software/Application Architect – Learning Track
- Java Full Stack Developer – The Complete Roadmap – Part 2 – Let’s Talk
- Java Full Stack Developer – The Complete Roadmap – Part 1 – Let’s Talk
- Best Handpicked Resources To Learn Software Architecture, Distributed Systems & System Design