Microsoft Azure Architecture Master Class - Development

4 days
UACA
4 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Book now

Interested in a private company training? Request it here.

Azure Architecture Introduction

An architecture will look very different depending on what you're focusing on. Do you want it to be fast, reliable, or cheap? You can't have it all, but you can optimize for more than one thing. These considerations will drive decisions in all following topics.

  • Azure Global Infrastructure
  • Architectural Building Blocks: Applications, Data, Communication and Others
  • Considerations: Availability, Resiliency, Performance, Cost, ...

Microservices

By splitting up a monolith into bite-size microservices, you make your application a lot more suitable for the cloud. Although this is not a must, most systems will consist of various running applications that will need to communicate.

  • Dealing with Evolution in an Application
  • Benefits and Drawbacks
  • Communication: client-service, service-service
  • Data Isolation

Scaling an Application in Azure

Scaling an application has many benefits: Your application becomes more reliable, faster and handle more throughput. There are many options on how to scale an application in the cloud. In this module, we'll take a look at key benefits and drawbacks of each one.

  • Using an App Service Plan
  • Using an Orchestrator
  • Serverless
  • Multi-Region
  • Load Balancing
  • Azure Resources: Traffic Manager, Front Door, Load Balancer, Application Gateway
  • LAB: Setting up Active/Passive Failover

SQL versus NoSQL

Backend developers are typically tied to their relational databases, while JavaScript developers often favor NoSQL. So, which one is better? Well, both can be great, but sometimes the unknown is unloved. In this module, we'll explore the key differences.

  • Schemas and Relations
  • Data Consistency
  • Read and Write Performance
  • Partitioning and Scaling
  • Azure Resources: Azure SQL, Cosmos DB
  • LAB: Designing a NoSQL Database

Scaling a Database in Azure

Choosing the wrong technology or a poor scaling strategy for data can result in significant expenses. In this module, we'll learn how to avoid such pitfalls.

  • Vertical versus Horizontal Scaling
  • Partitioning and Sharding
  • Multi-Region
  • Azure Resources: Azure SQL, Cosmos DB
  • LAB: Disaster Recovery with Azure SQL

Caching Strategies

Scaling is beneficial, but it can also become complex and costly. In this module, you will learn about various techniques to enhance performance without the need for scaling.

  • Azure Redis Cache
  • Cache-Aside Pattern
  • Read-Through and Write-Through
  • Materialized View Pattern
  • Valet Key Pattern
  • Azure CDN

Synchronous Communication

This module focuses on direct communication between applications. This means using things like REST or gRPC. We'll take a look at some patterns to improve resiliency and reduce complexity.

  • Retry and Circuit Breaker
  • Throttling
  • Bulkhead Pattern
  • Ambassador Pattern
  • LAB: Using the Circuit Breaker Pattern

Asynchronous Communication

Asynchronous communication is much more reliable than synchronous communication. In this module, you'll learn which common problems it solves, some useful patterns and clarify some of the confusing terminology often used with this type of communication.

  • Messages, Events and Commands
  • Queue-Based Load Leveling
  • Event-Based Communication
  • Asynchronous Request-Reply

Designing a Message Broker in Azure

Understanding the different offerings for message brokers is key to creating good integration. You need to know how to handle heavy loads, large messages, and keep things affordable and secure.

  • Partitioning
  • Push versus Pull
  • Pub-sub Mechanisms
  • Claim-Check Pattern
  • Azure Resources: Service Bus, Event Grid, Storage Queues

Data Consistency

Most likely, not all of your data will end up into a single normalized database. Chances that your data will be scattered all over the place are much higher. So, how do you keep things consistent? And what if something fails? Don't worry, my friend, this module will explain everything.

  • Strong Consistency
  • CAP Theorem
  • Eventual Consistency
  • Outbox Pattern
  • Compensating Transaction Pattern
  • LAB: Implementing Eventual Consistency

CQRS and Event Sourcing

CRUD is the norm but has its limitations. This includes performance and consistency. By separating read and update operations, CQRS can overcome these limitations, including performance and consistency.

  • The Problem with CRUD
  • Read and Write Models
  • Commands
  • Event Store
  • LAB: Implementing a CQRS Shopping Cart

External Communication

There are many concerns when communicating with the external world. Most of them relate to security, but the fact that protocols are usually restricted to HTTP can also be a problem.

  • API Gateway
  • Backend for Frontends
  • Asynchronous Request-Reply
  • Webhooks
  • Azure Resources: API Management, Front Door, Logic Apps
  • LAB: Accessing Pet Scans with Logic Apps

Security Concerns

Every developer knows about authentication and authorization. But there are other security concerns when deploying to the cloud.

  • Options for Storing Sensitive Data
  • Azure Key Vault and Managed Identity
  • Service Authentication
  • Security on Infrastructural Level: Virtual Networks, Firewalls, ...
  • Gatekeeper Pattern

The cloud is an excellent environment for building applications that are resilient, highly available, performant, and hopefully not too expensive. But how do you achieve those goals? In this training, we begin by examining potential problems that a cloud developer/architect may encounter. Then, we explore solutions using proven patterns. Finally, we delve into various technologies available in Azure to implement these patterns. The focus of this training is on concepts and patterns that apply to any cloud environment. We do not delve into the technical details of each Azure resource.

This advanced course is designed for individuals aspiring to become a cloud architects in Microsoft Azure. The goal is to develop cloud-native applications, with a focus on PaaS (Platform-as-a-Service) while also covering relevant infrastructure topics. Participants in this course should have a strong developer background and a good understanding of Azure. Should you want to learn to develop on Azure we have Developing & Deploying Web Apps on Microsoft Azure

Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
    BELGIUM
  • Phone: +32 2 466 00 16
  • Email: info@u2u.be
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2024 U2U All rights reserved.