Three Architectural Patterns You MUST Know for Interviews and Cloud Jobs


Hello Reader,

In this edition, we will go over three important architectural patterns for interviews, as well as production projects. I bet "pen and paper" architects and influencers don't talk about the third pattern coz that one you only know if you implemented actual projects ;)

Microservice

This is the most common architectural pattern. You use microservices every day without knowing. Checking bank balances, reserving dinner at a restaurant, posting a movie review, buying something from Amazon, etc., all done via microservice. There are many ways to implement a microservice, but the most common pattern is the one below, with Application Load Balancer (ALB)

  • Separate target groups handle each microservice
  • Each functionality can be backed by different compute options. For example, /browse is being served by EC2 + Auto Scaling Group, /buy is being served by AWS Lambda, and Kubernetes are serving others.
  • The ALB is associated with a DNS system such as Amazon Route53, so that users can access the ALB using a nice domain name (example: cloudwithraj.com) instead of the cryptic default URL ALB provides you
  • In the above example cloudwithraj.com/browse will go to target group 1, cloudwithraj.com/buy will go to target group 2, everything else will go to target group 3.

Event-Driven Architecture

An event-driven architecture decouples the producer and processor. In this example producer (human) invokes an API, and send information in JSON payload. API Gateway puts it into an event store (SQS), and the processor (Lambda) picks it up and processes it. Note that, the API gateway and Lambda can scale (and managed/deployed) independently

Benefits of an event-driven architecture (remember these for interviews)

  • Scale and fail independently - By decoupling your services, they are only aware of the event router, not each other. This means that your services are interoperable, but if one service has a failure, the rest will keep running. The event router acts as an elastic buffer that will accommodate surges in workloads.
  • Develop with agility - You no longer need to write custom code to poll, filter, and route events; the event router will automatically filter and push events to consumers. The router also removes the need for heavy coordination between producer and consumer services, speeding up your development process.
  • Audit with ease - An event router acts as a centralized location to audit your application and define policies. These policies can restrict who can publish and subscribe to a router and control which users and resources have permission to access your data. You can also encrypt your events both in transit and at rest.
  • Cut costs - Event-driven architectures are push-based, so everything happens on-demand as the event presents itself in the router. This way, you’re not paying for continuous polling to check for an event. This means less network bandwidth consumption, less CPU utilization, less idle fleet capacity, and less SSL/TLS handshakes.

Batch Job

This one is something that people don't talk about much. But if you have worked on any real-world production project, you know that batch plays a critical role. Like microservices, you also utilize this every day. Your scheduled mortgage loan payment, credit card payment, stock transactions settlement, bulk discounts generation, etc.

  • Use EventBridge scheduler to schedule jobs. You can also trigger jobs based on EventBridge rules which give you great flexibility and power!
  • Then the batch job is submitted via AWS Batch. Obviously you are thinking, I see container image and then ECS/EKS, why can’t I submit a container job directly from EventBridge without AWS Batch. it’s because AWS Batch maintains job queues, restart, resource management etc. that is not available if you skip it.
  • The actual steps of the job need to be in a container
  • The job running in a container gets submitted in either ECS or EKS. AWS Batch supports both EC2 and Fargate

Guys and girls - if you get any of these questions in your interview, knock it out of the park 🎯

If you have found this newsletter helpful, and want to support me 🙏:

Checkout my bestselling courses on AWS, System Design, Kubernetes, DevOps, and more: Max discounted links

AWS SA Bootcamp with Live Classes, Mock Interviews, Hands-On, Resume Improvement and more: https://www.sabootcamp.com/

Keep learning and keep rocking 🚀,

Raj

Fast Track To Cloud

Free Cloud Interview Guide to crush your next interview. Plus, real-world answers for cloud interviews, and system design from a top AWS Solutions Architect.

Read more from Fast Track To Cloud

Hello Reader, In today’s post, let’s look at another correct but average answer and a great answer that gets you hired to common cloud interview questions. Question - How will you secure your application on AWS? Common but average answer(s) I will use KMS, IAM, and firewall for security I will use KMS for encryption, IAM for access, Security Group, Private subnet Why average? What the interviewer is looking for is you understand different attack vectors and how to mitigate them. Explain what...

Hello Reader, We all heard it - Gen AI is taking away your job. The reality is, it is for sure impacting your job functionalities. However, there is a bigger reason why many folks are failing interviews and not growing in their career, due to Gen AI, but NOT for the reasons you think! Let's dive deep. Moltbot/Clawdbot/OpenClaw is all over the internet. Everyone and their mother is installing it. It can delete spam emails, schedule meetings, monitor your flight confirmation, check you in, and...

Hello Reader, Have you ever repeated yourself to an AI and thought, “Didn’t we already talk about this?” That frustration isn’t your fault. It’s how GenAI systems work by default. To overcome this, we need to implement memory. Now, there are a lot of confusion around this - do we need different types of memory, does this make RAG obsolete, and how does this even work? Let's learn all of it in today's edition. Agents Are Stateless By default, agents are stateless. Previously, we used to combat...