This is an interesting journey for Architects, Developers, QA, Ops, and Product Owners. A Journey that makes you hands-on from Software Specifications to Design, Development, Deploying, and running in Production using Continuous Integration & Continuous Delivery, A fully automated pipeline for DevOps or DevSecOps.
This section focuses on Agile (Scrum / Kanban) using User Stories, Acceptance Criteria, Concept of Minimum Viable Product (MVP). Deep Dive into Domain-Driven Design for Design & Development of the Software and write test cases based on the Acceptance Criteria defined.
Event Sourcing is based on Commands and (Immutable) Events combined with CQRS it's a very powerful pattern to create asynchronous Event based services. Kafka can be used to fully implement an Event Sourced system. Kafka is a distributed Fault-Tolerant replicated log.
AWS Kinesis is inspired by Apache Kafka. AWS Kinesis has 3 products: Streams (Data/Video), Firehose, and Analytics based on Apache Flink. Firehose is used to store the data in S3, Redshift, etc. Apache Flink is used for Analytics which includes data transformation and computation.
This section focuses on a Comparison between SQL and NoSQL Databases and shows various design patterns for Redis and MongoDB. It dives deep into the concept of Partitions and Sharding and Geo Partitions. It shows examples of Distrinuted Transactions in Event based system.
Microservices Architecture focuses on various infra structure patterns like API Gateway, Service Discovery apart from the fundamental principles. Migration from Monolithic shows 10+ Design patterns (strangler Fig, Change Data Capture, etc.,) for the transformation into Microservices.
Microservices Testing Strategies includes examples from
- JUnit 5 / Springboot Test
Containers are the defacto standard for deploying the services. Kubernetes is the cloud-agnostic container Orchestration solution. Istio is one of the popular Service mesh implementations that run on top of Kubernetes. It addresses the following functionality - Advanced Traffic routing, Security, Policy, & Observability.
Cloud Architecture focuses on various Cloud solutions like IaaS, PaaS, SaaS, FaaS, and multi-cloud environments. Connecting On-Premise, Edge, and Multi-Cloud Environments and the challenges and network routing and security policies.
Use Terraform to build cloud infrastructures.
CI/CD Pipeline is critical in fully automated development cycles. Building software, running test cases, Building infrastructure, packaging, and deploying the App/Service in the Kubernetes cluster. Jenkins, GitHub Actions and Tektons are popular tools for CI/CD pipeline automation.
DevOps is the 3rd phase of the Application Modernization
Continuous Delivery is a critical requirement in DevOps. Without CD what you have is a bunch of tools deployed.
Observability is a critical feature in a container-based deployment. Following are the key tools that can be enabled in Istio (Service Mesh).
- Zipkin / Jaeger