Course Outline
- Application of Domain-Driven Design (DDD) principles to ensure alignment with business logic.
- Utilization of event storming techniques for the identification and validation of domain requirements.
- Definition of bounded contexts and implementation of context mapping strategies to delineate system boundaries.
- Establishment of data ownership protocols, adhering to the database-per-service model to maintain service autonomy and integrity.
- Standardization of contract specifications to ensure consistent interaction between services.
- Implementation of API versioning and evolution strategies to manage backward compatibility and continuous improvement.
- Deployment of synchronous communication patterns for immediate data exchange requirements.
- Utilization of asynchronous communication patterns to support scalable, non-blocking interactions across distributed systems.
- Implementation of clean architecture structures to promote separation of concerns and testability.
- Management of dependencies with a focus on security best practices and vulnerability mitigation.
- Integration of Dapr (Distributed Application Runtime) to abstract infrastructure concerns for government applications.
- Configuration of reliable service-to-service communication mechanisms.
- Implementation of robust state management solutions for persistent data handling.
- Utilization of publish-subscribe messaging patterns for decoupled event-driven workflows.
- Secure management of secrets and configuration parameters to protect sensitive information.
- Enhancement of system observability through native telemetry collection and analysis.
- Execution of heartbeat tests to verify service availability and health status.
- Conducting end-to-end testing to validate complete user workflows and data integrity across system boundaries.
- Performing service-level testing to ensure individual components function correctly within isolation.
- Deployment of infrastructure using Bicep for declarative, code-based resource management.
- Management of containerized applications and orchestration via Kubernetes or Azure Container Apps.
- Automation of infrastructure pipelines to streamline deployment processes and reduce manual intervention.
- Selection and configuration of appropriate storage and database services for data persistence needs.
- Establishment of Continuous Integration/Continuous Deployment (CI/CD) pipelines to automate build and release cycles.
- Implementation of deployment rings to control risk exposure during software releases.
- Utilization of feature flags to enable controlled rollout and rollback of functionality without code changes.
- Aggregation of centralized logging for comprehensive audit trails and troubleshooting capabilities.
- Implementation of distributed tracing to monitor request lifecycles across microservices.
- Creation of metrics and dashboards to visualize system performance and resource utilization.
- Configuration of automated monitoring and alerting systems to detect and respond to anomalies in real time.
- Implementation of health probes and readiness checks to ensure proper service initialization and routing.
- Strategies for detecting and recovering from compute resource failures.
- Protocols for addressing infrastructure-level disruptions to maintain operational continuity.
- Service-level failure handling mechanisms to manage faults gracefully and preserve data consistency.
Requirements
Testimonials (4)
The instructor was knowledgeable about the course topic and also other related topics, and was able to answer our questions, or even make a note of questions he didn't immediately know the answer to and got back to use later.
Abe Sabbagh - Enbridge
Course - Advanced RabbitMQ - 2 Days
Possibility to perform independent exercises in the training environment.
Tomasz - PKO Zycie Towarzystwo Ubezpieczen S.A.
Course - Kafka for Administrators
the technical preparation of teachers
Giorgio - Asystel-BDF S.p.A.
Course - Creating a Service Mesh with Istio and Kubernetes
Very practical examples. The trainer has tried to keep a pace where everybody is able to go with even though the group was quite inhomogeneous regarding the knowhow. He has provided a lot of support to basically everybody who asked for it :)