Get in Touch

Course Outline

Day 1: Cloud Foundations and Core Services

Part I: Cloud Architecture Foundations

  1. Core cloud architecture principles and non-functional requirements, focusing on availability, scalability, security, and performance.
  2. Cloud adoption models and associated trade-offs: IaaS, PaaS, SaaS, and the shared responsibility model.
  3. Key Azure architecture components: Regions, Resource Groups, and Resources.
  4. Mission-critical architecture design and disaster recovery targets, including RTO and RPO.

Part II: Core Cloud Services

  1. Storage and data fundamentals: Utilising Azure Table Storage and Azure Cosmos DB.
  2. Compute and container orchestration: Azure Kubernetes Service (AKS) and Azure Container Registry (ACR).
  3. Relational data management and messaging: Azure SQL Database and Azure Service Bus.
  4. Practical application of each service: configuration, deployment, and evaluation based on availability, performance, security, and pricing metrics.
  5. Implementing Infrastructure as Code using Bicep to ensure reproducible environments.

Day 2: Architecture Leadership and Clean Architecture

Part III: The Architect

  1. Defining software architecture and exploring various architectural viewpoints.
  2. The role of the software architect, including responsibilities and ownership of critical decisions.
  3. Methods for specifying architecture and communicating effectively with both technical and business stakeholders.
  4. A practical roadmap for becoming an effective software architect.

Part IV: Managing Dependencies in Monoliths

  1. Clean Architecture principles: enforcing separation of concerns, controlling dependency direction, and enhancing maintainability.
  2. Evaluating the selection of cloud services for monolithic modernisation, including advantages and disadvantages.
  3. Practical lab: Building and deploying a Clean Architecture solution on Azure using .NET.

Day 3: Domain Driven and Distributed Architectures

Part V: DDD, CQRS, and Event Sourcing

  1. Fundamentals of Domain-Driven Design: establishing domain boundaries, defining a ubiquitous language, and applying model-driven design.
  2. Concepts of CQRS and Event Sourcing for managing complex, evolving business domains.
  3. Architectural patterns commonly employed in DDD-based cloud solutions.
  4. Practical lab: Applying Event Sourcing as a requirements-driven design technique, moving from requirements to events, aggregates, and event flows.

Part VI: Microservices

  1. Core microservices architecture principles and the trade-offs inherent in distributed systems.
  2. Selecting appropriate cloud services for microservices-based solutions, weighing pros and cons.
  3. Synchronous and asynchronous communication styles in microservices, incorporating reliability patterns such as circuit breakers and resiliency strategies.
  4. Ensuring testability in microservices and CI/CD pipelines: contract testing, defining integration testing boundaries, automated quality gates, and deployment confidence.
  5. Practical lab: Building and deploying microservices on Azure using .NET.

Requirements

  • Proficiency in an advanced programming language, such as C# or Java.
  • Familiarity with the architectural styles covered in the programme.
  • Basic experience with cloud service platforms.
  • A minimum of five years of experience in software engineering.
 21 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories