Book Image

AWS for Solutions Architects

By : Alberto Artasanchez
3 (1)
Book Image

AWS for Solutions Architects

3 (1)
By: Alberto Artasanchez

Overview of this book

One of the most popular cloud platforms in the world, Amazon Web Services (AWS) offers hundreds of services with thousands of features to help you build scalable cloud solutions; however, it can be overwhelming to navigate the vast number of services and decide which ones best suit your requirements. Whether you are an application architect, enterprise architect, developer, or operations engineer, this book will take you through AWS architectural patterns and guide you in selecting the most appropriate services for your projects. AWS for Solutions Architects is a comprehensive guide that covers the essential concepts that you need to know for designing well-architected AWS solutions that solve the challenges organizations face daily. You'll get to grips with AWS architectural principles and patterns by implementing best practices and recommended techniques for real-world use cases. The book will show you how to enhance operational efficiency, security, reliability, performance, and cost-effectiveness using real-world examples. By the end of this AWS book, you'll have gained a clear understanding of how to design AWS architectures using the most appropriate services to meet your organization's technological and business requirements.
Table of Contents (20 chapters)
1
Section 1: Exploring AWS
4
Section 2: AWS Service Offerings and Use Cases
11
Section 3: Applying Architectural Patterns and Reference Architectures
17
Section 4: Hands-On Labs

Microservice architecture patterns

In the last section, we covered the fundamentals of microservices. Let's now learn about three popular architecture patterns that are often used when creating microservices.

These patterns are as follows:

  • Layered architecture
  • Event-driven architecture
  • Microkernel architecture

In the next sections, we will describe in detail these three common architectures and we'll go through the advantages and disadvantages of each of them.

Layered architecture

This pattern is quite common in software development. As indicated by the name, in this pattern, the code is implemented in layers. Having this layering enables the implementation of separation of concerns. This is a fancy way of saying that each layer focuses on doing a few things well and nothing else. Having this separation of concerns allows us to optionally run each of these layers on separate servers and therefore allows us to run each layer on hardware that...