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.
Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
This section focuses on Agile (Scrum / Kanban) using User Stories, Acceptance Criteria, and the 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 Reactive Programming using Reactor Framework. Examples based on Rx Java 2 and 3 are also available. Reactive Programming using R2DBC for async calls with Databases, both RDBMS and Big Data. It uses R2DBC Connector to talk to PostgreSQL DB.
This section focuses on Distributed Caching Technologies, 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. Examples of multiple forms of Multi-Tenancy using SQL Database and JPA.
Microservices Architecture focuses on various infrastructure patterns like API Gateway, and 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.
This Section Focuses on Distributed Transactions using Saga Design Pattern and Spring State Machine. The example uses 4-5 Microservices for Distributed Tx processing and Exception Handling. Kafka Examples with Pub/Sub, Kafka Streams with Kafka Connect.
Microservices Testing Strategies includes examples from
- JUnit 5 / Springboot Test
- Cucumber
- Selenium
- Mockito
- Wiremock
- Pact
Containers are the de facto 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 Kubernetes. It addresses the following functionality - Advanced Traffic routing, Security, Policy, and 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
- Architecture
- Infrastructure
- Delivery
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).
- Prometheus
- Zipkin / Jaeger
- Kiali
- Grafana
This Section Focuses on Java Security in SpringBoot Application. It focuses on Spring Security, an Example of the Top 14 vulnerabilities, and how to prevent them. This section also focuses on Secure SDLC, Secure Design Patterns, NIST Secure Software Development Frameworks, and Thread Modeling also gives a brief intro to DevSecOps.
This section focus on Network Policies and Security including the understanding of SASE and Zero Trust Networking.
- SD-WAN
- SD Network
- SD Perimeter
- SD-Access
- Jupiter One
Elastic Engineering
The program is divided into 3 Phases
- Design
- Develop
- Deploy
The topics covers the 12 chapters mentioned in the previous section.
Copyright © 2024 Araf Karsh Hamid - All Rights Reserved.
Powered by OZAZO