Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Microsoft Azure Architecture Master Class

4 days
UACA
4 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

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. Do you want it to be fast or reliable or cheap? You can't have it all, but you can optimize for more than one thing. These considerations will be 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 out 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

Designing 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 basically married to their relational databases, while JavaScript developers are completely devoted to NoSQL. So, which one is better? Well, both can be great, but 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

Designing a Database in Azure

Choosing the wrong technology or a bad scaling strategy for data can turn out really expensive. In this module, we'll learn how to avoid that.

  • 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 great and all. But can become quite complex and costly. In this module you will learn about various techniques to boost performance without requiring scaling.

  • Azure Redis Cache
  • Cache-Aside Pattern
  • Read-Through and Write-Through
  • Materialized View Pattern
  • Valet Key Pattern
  • Azure CDN
  • LAB: Combining Azure CDNs with SAS Tokens

Synchronous Communication

This module focusses 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 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.

  • Queue-Based Load Leveling
  • Event-Based Communication
  • Messages, Events and Commands
  • Azure Resources: Service Bus, Event Grid, Storage Queue

Desinging a Message Broker in Azure

Not overwhelming your message broker is always a good idea. You can achieve this by scaling the message broker or by avoiding sending too many or large messages.

  • Partitioning
  • Claim-Check Pattern
  • Azure Resources: Event Grid, Event Hub

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 is much higher. So, how do you keep things consistent? And what if something fails? Don't worry, my friend, this module will explain all.

  • 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.

  • 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 to the external world. Most of them have to do with security, but also the fact that protocols are usually restricted to HTTP can be a problem.

  • API Gateway
  • Backend for Frontends
  • Webhooks
  • Asynchronous Request-Reply
  • Azure Resources: Front Door, Application Gateway, API Management
  • 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 a great environment to build applications that are resilient, have high availability, are performant and hopefully not too expensive. But how do you achieve those goals? In this training we start from potential problems a cloud developer/architect may face. Then, we figure out what to do by using proven patterns. And finally, we look at various technologies available in Azure to implement these patterns. The focus of this training is the concepts and patterns, which apply to any cloud environment. The focus is not on technical details of each Azure resource.

This course targets people who want to become cloud developers or cloud architects in Microsoft Azure. The goal is to write cloud-native applications. This means the focus is on PaaS (Platform-as-a-Service) while also covering relevant infrastructure. Participants of this course need to have a solid developer background and must know the basics of Azure, or similar cloud.

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
© 2021 U2U All rights reserved.