Author: Dror Helper
Cloud architects are projected to be the second most in-demand tech job in 2021. This role is responsible for designing and developing advanced cloud-based solutions for organizations migrating their existing workloads and infrastructure to the AWS cloud. Using AWS, cloud architects have limitless virtual resources, which can be quickly provisioned and disposed. It can be overwhelming; there are many services you need to become familiar with and, on top of that, having infrastructure and data in the cloud can become a security nightmare if not handled correctly. Here are seven skills cloud architects need to rock this in-demand role.
1. Java, Python or C#
Most architects have a software development background. An efficient AWS architect should be able to write code in Java, Python, C# or any other of the programming languages which have an official AWS SDK. Understanding programming in general is important for creating viable, logical solutions that would work as intended. And a good architect can use programming to quickly create a proof of concept or demo to show a point or investigate how to use the latest and greatest technologies.
2. Networking
It’s hard to create a secure, scalable cloud-based solution without understanding networking. DNS, TCP/IP, HTTP, CDN and VPN are only a few of the terms you want to make yourself familiar with. That doesn’t mean you need to know the port that you need to open for SSH access (although it helps). As an architect you’re expected to be able to use services such as Route 53 (DNS), CloudFront (CDN) and Virtual Private Cloud (VPC) to design your cloud networking using public and private subnets, internet access and VPC peering.
3. Data storage fundamentals
Every software architect needs to know and understand how and when to use databases. In AWS, where you have many data storage options available, you need to be able to know when to use each. From simple, yet powerful, bucket storage using S3 to Relational Database Service (RDS) and all the way to full fledged Hadoop clusters, you’ll need to compare different capabilities, performance and price, and choose the best way to store some or all of your company’s data.
4. Security foundations
From securing access to your AWS account to securing access to your data, AWS has several services and guidelines created specifically to help you make sure only authorized code and people are allowed to perform specific tasks. You will also need to learn about Identity and Access Management (IAM), a service that will help you define which services and users can access which resources. Learn how to secure your networks using Security Groups and Access Control Lists.
5. AWS service selection
Cloud architecture involves front-end and back-end technologies backed by components provided by a cloud vendor, in many cases Amazon. Good cloud architects should know what services are at their disposal and have a good understanding of the services relevant to the organization. This is no easy task since Amazon tends to release new services throughout the year. Knowing what to focus on is crucial. Basic services every AWS architect should know include SQS (simple queuing), SNS (notifications) and RDS (Relational Database Service). Knowledge of more specific ones—such as one of the AWS IoT related services—is extra helpful.
6. Cloud-specific patterns and technologies
Once you move code into the cloud some rules change. Scalability, availability and recovery become easy—as long as you design your workloads and harness AWS infrastructure correctly.
Using messages, storing state in the right place and handling failures correctly are a big part of creating scalable and cost-effective applications. Patterns such as pub/sub, queuing and eventual consistency will help you create applications that can be scaled by creating more instances of the same service.
On top of that you’ll need to choose between single applications to services or go serverless using AWS Lambda—all of which could provide cost-effective and performant solutions, depending on your needs.
7. Communication
Designing great architecture doesn’t mean a thing if you fail to explain your vision to software developers, managers and fellow architects. You’ll need to learn to explain your ideas via emails, documents and presentations in a way that convinces your team why your solution is the best. Work on your presentation skills, learn how to write in a clear and concise way and use a diagramming tool to show complex environments. A single slide with a diagram is preferable to ten slides with twenty bullet points each.
Rock AWS Cloud architecture
The skills essential to this role may sound like a lot, but they amount to a role that’s more crucial to organizations than ever. Whether you start by learning about a few AWS services, preparing for the AWS solution architect certification test or choosing a specific focus area (i.e. security, big data, docker or serverless), there’s value in taking inventory of the collection of your skills and taking advantage of learning opportunities designed to get you to the next level. See how you measure up: Get your Cloud Architect (AWS) Role IQ.