This document discusses some of the challenges with microservices architectures. It begins by describing how microservices aim to achieve isolation by separating systems into independent components. However, it notes that this can lead to new issues around coordination and dependencies between services. The document then examines various approaches and patterns for managing inter-service communication, including event buses, API gateways, and CQRS. It ultimately argues that microservices require a holistic, platform-based approach to address cross-cutting concerns like deployment, testing, and observability across independent services.
The Modern Tech Stack: Microservices - The Dark Side
1. Microservices: The Dark Side
Prem Chandrasekaran Shelley Trout
With: Moderated by:
TO USE YOUR COMPUTER'S AUDIO:
When the webinar begins, you will be connected to audio using your
computer's microphone and speakers (VoIP). A headset is
recommended.
Webinar will begin:
11:00 am, PDT
TO USE YOUR TELEPHONE:
If you prefer to use your phone, you must select "Use Telephone"
after joining the webinar and call in using the numbers below.
United States: +1 (213) 929-4212
Access Code: 803-135-384
Audio PIN: Shown after joining the webinar
--OR--
The Modern Tech Stack
Webinar Series
2. Amazon Web Services offers a broad set of global cloud-based products to equip technology leaders
to build better and more powerful solutions.
Partnering with CTO Universe, AWS is now offering an exclusive program to our members and
audience. The program includes up to $100,000 USD of value AWS credits, free consulting
sessions with AWS Solutions Architect to review your environment, strategies and optimize your
cost, and other resources to help you get started on migrating to AWS.
If you are interested in learning more, please reach out to aws-cto-program@amazon.com.
3. The Modern Tech Stack
Webinar Series
Click on the Questions panel to
interact with the presenters
https://www.ctouniverse.com/webinar-series/10744/the-modern-tech-stack
4. About Prem Chandrasekaran
Premanand (Prem) Chandrasekaran is a distinguished engineer and group lead for platform services at Barclays
US. Previously, he was a principal consultant at ThoughtWorks. Over the last two decades, Prem has worked on a
variety of software projects, spanning varied functional and technical domains. He’s passionate about the
application of iterative methods to deliver software that enriches the lives of its end users and its maintainers
alike. His interests also include technical architecture, refactoring, and performance tuning, among others. When
not fiddling with his trusty laptop, he spends time with his son doing Lego Mindstorms and playing video games.
He’s also obsessed with playing and analyzing the nuances of the game of cricket.
About Shelley Trout
Shelley leads webinar production at Aggregage, the publisher of more than 40 B2B publications. She has
successfully produced hundreds of webinars featuring thought leaders, across a range of industries, and delivering
diverse and rich content and tens of thousands of targeted leads to webinar sponsors. Shelley is a published author
and writer, who previously worked as a director and producer on the West End while studying Theater in London.
After moving to the U.S., she majored in Anthropology & Archaeology at UC Berkeley, worked at the Center of Digital
Archaeology, and wrote her thesis on digital representations of people and their stories.
The Modern Tech Stack
Webinar Series
25. What About Integration?
EVENT BUS
API GATEWAY
UI UI UI
G
A
T
E
W
A
Y
Legacy
Systems
G
A
T
E
W
A
Y
Partner
Systems
GATEWAY
Vendor Systems
26. CQRS - Did you mean Cars?
EVENT BUS
API GATEWAY
UI UI UI
Command Query
27. Free Lunch!!
Finally… We Have Arrived!!?!
EVENT BUS
API GATEWAY
UI UI UI
G
A
T
E
W
A
Y
Legacy
Systems
G
A
T
E
W
A
Y
Partner
Systems
GATEWAY
Vendor Systems
31. Service
GATEWAY
2. WHAT ARE WE BUILDING?
What do you mean we can’t just deploy to the cloud?
Service Service Service ServiceService
UI UIUI
Business Capabilities
32. Why can’t we just deploy to the cloud?
2. WHAT SHOULD WE BE BUILDING…?
Business Capabilities
33. Business Capabilities
Cross-Functional Capabilities
Infrastructure Capabilities
Engineering
Practices
App Config Secrets AuthN/Z
Log Agg. Monitoring Alerting
App Load
Balancer
Service
Discovery
Dashboards
API
Management
APM …
Messaging Database Cache
CPU Memory
Cert
Authority
DNS
Network
IT
Automation
Block Storage
Object
Storage …
Branching Versioning
Static
Analysis
Code
Reviews
Continuous
Integration
Automated
Testing
Automated
Deployments
Dependency
Management
Infrastructure
as Code
Chaos
Engineering
Evolutionary
Architecture …
Why can’t we just deploy to the cloud?
2. NON-BUSINESS CAPABILITIES?
Delivery
Capabilities
Source
Control
Build Server
Binary
Artifact Repo
Project
Tracking
Team Coll.
Wiki
Bug Tracking
Compliance
Persistent
Group Chat
Config
Management
Application
Templates
Developer
Workstations …
41. 8. ORCHESTRATION OR CHOREOGRAPHY?
The never-ending saga…
Graphics credit: https://www.freepik.com
42. 9. INDEPENDENT DEPLOYMENT PIPELINES
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Feedback
Is your future in your own hands…?
43. Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
Version
Control
Build Unit Test Package
Expensive
Tests
Deploy To
Production
Measure &
Validate
Fe
9. INDEPENDENT DEPLOYMENT PIPELINES
Is your future in your own hands…?
44. 10. TESTING PRACTICE
Unit
Service
UI
Manual Checks
https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid
I don’t always test my code… but when I do…
49. 13. OBSERVABILITY
By Andrew Z. Colvin - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=13251597
I can still see you…
50. SO… WHAT ELSE?
Hiring and Training Staff
Event Ordering
Environment Provisioning
Database Migrations
Test Data Management
Blue Green Deployments
Rolling Deployments
Feature TogglesService Discovery
12-Factor Applications
Secrets Management
API Management
Configuration Management
Information Security
Concurrency Control
DevOps as a Philosophy
Trunk-based Development
Code Reviews
Outcome Oriented Teams
Distributed Teams
Client-side Load Balancing
API Documentation
SecurityInfrastructure as Code