Get in Touch

Course Outline

Day 1: Cloud Fundamentals and Core Services

Part I: Foundations of Cloud Architecture

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

Part II: Essential Cloud Services

  1. Storage and data fundamentals: Azure Table Storage and Azure Cosmos DB
  2. Compute and container platforms: Azure Kubernetes Service (AKS) and Azure Container Registry (ACR)
  3. Relational data management and messaging: Azure SQL Database and Azure Service Bus
  4. Hands-on practice for each service: covering configuration, deployment, and assessment against criteria such as availability, performance, security, and pricing
  5. Implementing Infrastructure as Code using Bicep to create reproducible environments

Day 2: Architectural Leadership and Clean Architecture

Part III: The Architect's Role

  1. Defining software architecture and exploring various architecture viewpoints
  2. Roles, responsibilities, and decision-making authority for software architects
  3. Creating architecture specifications and communicating effectively with technical and business stakeholders
  4. A practical roadmap for becoming an effective software architect

Part IV: Managing Dependencies in Monolithic Systems

  1. Principles of Clean Architecture: separation of concerns, dependency direction, and long-term maintainability
  2. Selecting appropriate cloud services for modernising monoliths, including an analysis of benefits and drawbacks
  3. Hands-on lab: designing, building, and deploying a Clean Architecture solution in Azure using .NET

Day 3: Domain-Driven and Distributed Architectures

Part V: DDD, CQRS, and Event Sourcing

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

Part VI: Microservices

  1. Microservices architectural principles and trade-offs in distributed systems
  2. Choosing cloud services for microservices-based solutions, weighing the pros and cons
  3. Synchronous and asynchronous communication styles in microservices, including reliability patterns like circuit breakers and resiliency strategies
  4. Enhancing testability in microservices and CI/CD pipelines: contract testing, defining integration testing boundaries, automated quality gates, and deployment confidence
  5. Hands-on lab: building and deploying microservices in Azure using .NET

Requirements

  • Proficiency in an advanced programming language (either C# or Java)
  • A fundamental understanding of the architectural styles covered in the course
  • Basic experience working with cloud services
  • A minimum of five years of experience in software engineering
 21 Hours

Testimonials (2)

Upcoming Courses

Related Categories