Software Architect Technical Lead
CurrentI plan, design and manage the transition processes of Monolithic E-Commerce and Other projects to Modular Monolithic orMicroservice Architectures.I become a pair with all my teammates and get involved in the development processestogether. I draw technical diagrams of Transition Architectures and All New ArchitecturesI manage all the processes under the following main headings.Decomposition of Microservice Architecture• Breaking Down Application into Microservices• Microservices Decomposition Patterns• Decomposing Applications for Independent Deployability and Scalability• Breaking Down our application with Microservices Decomposition PatternsCommunication• Microservices Communication Types - Synchronous or Asynchronous Communication• RESTful API design for Microservices• gRPC high performance communication between internal and BFF Microservices• WebSocket API Real-time two-way communications• Event Bus Approaches are Kafka and RabbitMqData Management• Polyglot Persistence, Database-per-Service Pattern, Shared Database Anti-patternRelational and NoSQL Database• CAP Theorem – Consistency, Availability, Partition Tolerance• Data Partitioning: Horizontal, Vertical and Functional Data Partitioning• Database Sharding Pattern• Event Sourcing,CQRS and Eventual Consistency Principle• Microservices Distributed Caching PatternsTransaction Management• Saga Pattern for Distributed Transactions - Choreography and Orchestration• Transactional Outbox Pattern• Compensating Transaction pattern• Dual-Write Problem• CDC - Change Data CaptureDeployment• Deployment strategies; blue-green, rolling and canary deployment.• Kubernetes Patterns; Sidecar Patterns, Service Mesh Pattern• DevOps and CI/CD PipelinesResilience• Microservices Resilience and Fault Tolerance• Retry, Circuit-Breaker, Bulkhead Pattern• Microservices Observability with Distributed Logging and Tracing• Elastic Stack which includes Elasticsearch + Logstash + Kibana• Health Monitoring