SlideShare a Scribd company logo
1 of 21
Distilling the monolith to
microservices journey
Oct 13, 2020
Sanjay Nagaraj Buchi Reddy
CTO/Co-Founder,Traceable Platform Engineering
Lead,Traceable
2
About the Speakers
Agenda
Evolution: Monolith to Microservices
Microservices migration by the Book
Considerations when migrating from a
monolith to microservices
“Successful software gets changed”
- Fred Brooks from ‘No Silver Bullet’
HYPERTRACE_
3
The Traceable Team
Creators of Traceable & Hypertrace
TEAM PROFILE_
● Founded 2019
● Series A funding via Unusual Ventures
● 32 Engineers & Domain Experts across San
Francisco Bay Area and India
● 150+ Years of Combined DevSecOps Experience
● Team Hails from companies such as AppDynamics,
Inmobi, Wallarm, IDF, Amazon, Informatica &
Redis Labs
● Hypertrace released as open source project
July 2020
Sanjay Nagaraj
Buchi Reddy
CTO/Co-Founder,Traceable
VP Engineering,AppDynamics
Platform Engineering Lead,Traceable
Director of Engg, Data Platform,
AppDynamics
Jyoti Bansal
CEO/Co-Founder,Traceable
CEO/Co-Founder,Harness.io
CEO/Founder,AppDynamics
Evolution:
Monolith to
Microservices
4
MICROSERVICES APPMONOLITHIC APP
Security gaps new in Microservices
5
Single source of logs from the
monolith
Difficult to trace root-cause
analysis across systems
Release every 3-6 months;
firewall and WAF rules developed
over years
Pace of development much
higher than the pace of security
Most threats are network or
legacy static OWASP
Existing tools are ineffective
against emerging threats
Monolothic systems and multi-
page apps.
Proliferation of APIs with poor
lifecycle management
Microservices
Monolithic
MODERN SECURITY_
For almost half of those adopting
microservices, security is a top
concern.
Microservices
migration by
the Book
6
Evolution: From Monolith to Microservices
7
Stages:
● Start with Monolith
1. Microservices, but with Tight Coupling
2. Microservices with Loosely Coupled Services, but Temporal Data
3. Microservices with Loosely Coupled Services AND Decoupled Data
Start: Monolith
8
Database 1
Application
Status
● All code in one application service
● In-process calls to other modules
Pros
● Fewer moving parts. Less complex
● Simpler deployment & management
● Fewer failure points
Cons
● Teams can’t deploy services independently
● Teams can’t use different languages, versions
● Can’t scale parts independently
● Single point of failure
1. Microservices, but with Tight Coupling
9
Database 1
Application
Progress
● Separated the services, but database
is still shared
Pros
● Teams can deploy services
independently
● Teams can use different languages
and versions
Cons
● Must be careful not to overwrite data or
schema owned by other services
● Tight coupling because each service is
dependent on each other
2. Microservices with Loose Coupling, but Temporal Data
10
Progress
● Completely separated the
databases. so each service has its
own databases. None are shared.
Pros
● Can deploy services AND database
changes independently
Cons
● You must access other services
data via synchronous APIs
● Still ‘tight coupling’ because each
service requires the other services
data
Database 1 Database 2
Application
3. Microservices with Loose Coupling AND Nontemporal
11
Progress
● Event-driven Architecture
● Each Service maintains a local query
view of external data
Pros
● Fast access to data
● All data needed is local
Cons
● Data duplication
● Local data is eventually consistent
Database 1 Database 2
Application
12
Considerations
when migrating
from a monolith
to microservices
Migrating to Microservices: Build pain points
13
● Need fairly new ways to build, version, package artifacts
○ Be ready to invest in a lot of *new* build tooling
● Components are often too tightly coupled
○ Start small and have a plan; baby steps are the key
○ First create modularity within the monolith
○ Re-architect parts of the system?
○ Re-write a service?
● Intimidated to break down some parts
○ Evolve slowly: Monolith → tight coupling → temporal coupling → fully decoupled
● Integration testing is harder
○ Mocking services FTW
Migrating to Microservices: Build pain points
14
● Functionality is often broken
○ Start caring about backward and forward compatibility
○ Test the API and data format compatibility in the CI
○ Resiliency
○ Idempotency?
○ Mocks needed for integration testing
○ Automated testing as guardrails
○ Continuous end-to-end product feature validation
● No control over what Docker images or OS are used
○ Common base images, security controls, standards
○ Standards around service user, accounts, etc
Migrating to Microservices: Maintenance pain points
15
● Deploying and managing multiple services isn’t as simple
○ Have (pick) a framework to orchestrate multiple services at scale
○ Pick service packaging model, versioning
● Impossible to debug a broken deployment
○ Continuously deliver to reduce payload
○ Canary or B/G deployment
○ Tooling to surface issues easily
● Old school APM tools aren’t enough to monitor
○ Welcome to distributed tracing!
○ Use Hypertrace (shameless promotion)
● Logs aren’t in single place
○ Invest in a logging solution
Migrating to Microservices: Security posture
16
● Service to service communication isn’t as secure anymore
○ Secure service to service communication
○ Embrace a service mesh and mTLS, if it makes sense
○ Zero-touch certificate management and rotation
● Larger attack surface for your APIs
○ Invest in proper security tools to detect security attacks and protect
○ Shift left
● AuthN & AuthZ can’t be enforced in a single place now
○ Centralized Auth servers or distributed?
○ Latency is super critical
○ Distributed policy rollout
Microservices: Are you overdoing them?
17
● Too many microservices
○ Mini services?
○ API inventory tools
○ Service discovery tools
● Too many repositories
○ Unless you’re Google, you have separate repositories. Tooling to easily
work across repos
○ Consider macro repos
● Who should own the on-call issues?
○ Automate alert routing and trivial triaging
○ RCA tools
○ SLAs, SLOs
18
Hypertrace
Hypertrace provides observability into your
application architecture. It includes global, service
and backend dashboards, allowing teams fast
insight into service level objectives.
Hypertrace & OpenTelemetry
19
● Collect distributed traces
● Enrich your tracing data
● Visualize real-time activity
Deploy Using:
http://hypertrace.orgMore at:
Hypertrace Supports Tracers and Agents:
Thank you very much!
sincerely,
21
This slide intentionally left blank.

More Related Content

What's hot

MuleSoft_NZ_Meetup_8
MuleSoft_NZ_Meetup_8MuleSoft_NZ_Meetup_8
MuleSoft_NZ_Meetup_8MizuhoHoshino
 
Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0D.Rajesh Kumar
 
Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18Tom Obermeyer
 
20210916 mule soft_meetup_nz_online_uploadedversion
20210916 mule soft_meetup_nz_online_uploadedversion20210916 mule soft_meetup_nz_online_uploadedversion
20210916 mule soft_meetup_nz_online_uploadedversionMizuhoHoshino
 
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7  : MuleSoft Virtual Muleys MeetupsMetadata definition between flows on Studio 7  : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys MeetupsAngel Alberici
 
A Visual Language for Systems Integration
A Visual Language for Systems IntegrationA Visual Language for Systems Integration
A Visual Language for Systems IntegrationMatt McLarty
 
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Angel Alberici
 
Vancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVikalp Bhalia
 
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...Angel Alberici
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63Angel Alberici
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021Nicholas Bowman
 
Perth Meetup August 2021
Perth Meetup August 2021Perth Meetup August 2021
Perth Meetup August 2021Michael Price
 
Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021Daniel Soffner
 
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ IntegrationsMumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ IntegrationsAkshata Sawant
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...Jitendra Bafna
 
Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Lalit Panwar
 
Dynatrace - Red Hat workshop : Monolith to Microservices
Dynatrace - Red Hat workshop : Monolith to MicroservicesDynatrace - Red Hat workshop : Monolith to Microservices
Dynatrace - Red Hat workshop : Monolith to MicroservicesSteve Caron
 
#3 calicut meetup - understanding slb, dlb and web sockets
#3   calicut meetup - understanding slb, dlb and web sockets#3   calicut meetup - understanding slb, dlb and web sockets
#3 calicut meetup - understanding slb, dlb and web socketsJohnMathewPhilip
 
Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8ManjuKumara GH
 
#2 connected apps_calicut_31_july
#2 connected apps_calicut_31_july#2 connected apps_calicut_31_july
#2 connected apps_calicut_31_julyJohnMathewPhilip
 

What's hot (20)

MuleSoft_NZ_Meetup_8
MuleSoft_NZ_Meetup_8MuleSoft_NZ_Meetup_8
MuleSoft_NZ_Meetup_8
 
Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0
 
Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18
 
20210916 mule soft_meetup_nz_online_uploadedversion
20210916 mule soft_meetup_nz_online_uploadedversion20210916 mule soft_meetup_nz_online_uploadedversion
20210916 mule soft_meetup_nz_online_uploadedversion
 
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7  : MuleSoft Virtual Muleys MeetupsMetadata definition between flows on Studio 7  : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
 
A Visual Language for Systems Integration
A Visual Language for Systems IntegrationA Visual Language for Systems Integration
A Visual Language for Systems Integration
 
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
Sustainability Challenge, Postman, Rest sheet and Anypoint provider : MuleSof...
 
Vancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-july
 
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
Operationalizing your C4E VirtualMuleys & Deployment Considerations: Cloudhub...
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
Perth Meetup August 2021
Perth Meetup August 2021Perth Meetup August 2021
Perth Meetup August 2021
 
Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021
 
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ IntegrationsMumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
 
Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021
 
Dynatrace - Red Hat workshop : Monolith to Microservices
Dynatrace - Red Hat workshop : Monolith to MicroservicesDynatrace - Red Hat workshop : Monolith to Microservices
Dynatrace - Red Hat workshop : Monolith to Microservices
 
#3 calicut meetup - understanding slb, dlb and web sockets
#3   calicut meetup - understanding slb, dlb and web sockets#3   calicut meetup - understanding slb, dlb and web sockets
#3 calicut meetup - understanding slb, dlb and web sockets
 
Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8
 
#2 connected apps_calicut_31_july
#2 connected apps_calicut_31_july#2 connected apps_calicut_31_july
#2 connected apps_calicut_31_july
 

Similar to Distilling the monolith to microservices journey at CMG

Get the Message Across: Seamlessly Transport Data to Apps, Anywhere
Get the Message Across: Seamlessly Transport Data to Apps, AnywhereGet the Message Across: Seamlessly Transport Data to Apps, Anywhere
Get the Message Across: Seamlessly Transport Data to Apps, AnywhereVMware Tanzu
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceThousandEyes
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Solace
 
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...apidays
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019Julian Douch
 
ciscothousandeyesusecase
ciscothousandeyesusecaseciscothousandeyesusecase
ciscothousandeyesusecaseRENJITHKNAIR5
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
ngStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend ArchitecturengStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend ArchitectureIshaan Puniani
 
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...Timothy Spann
 
Automated DevOps for your Digital Transformation Journey!
Automated DevOps for your Digital Transformation Journey!Automated DevOps for your Digital Transformation Journey!
Automated DevOps for your Digital Transformation Journey!David Milano
 
A New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the CloudA New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the CloudNETSCOUT
 
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
apidays LIVE Australia 2020 -  Data with a Mission by Matt McLarty apidays LIVE Australia 2020 -  Data with a Mission by Matt McLarty
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty apidays
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays
 
The_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdfThe_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdfTonny Adhi Sabastian
 

Similar to Distilling the monolith to microservices journey at CMG (20)

Get the Message Across: Seamlessly Transport Data to Apps, Anywhere
Get the Message Across: Seamlessly Transport Data to Apps, AnywhereGet the Message Across: Seamlessly Transport Data to Apps, Anywhere
Get the Message Across: Seamlessly Transport Data to Apps, Anywhere
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture
 
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019
 
Twelve factor-app
Twelve factor-appTwelve factor-app
Twelve factor-app
 
Taw opening session
Taw opening sessionTaw opening session
Taw opening session
 
ciscothousandeyesusecase
ciscothousandeyesusecaseciscothousandeyesusecase
ciscothousandeyesusecase
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
ngStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend ArchitecturengStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend Architecture
 
Ramesh_Resume.doc
Ramesh_Resume.docRamesh_Resume.doc
Ramesh_Resume.doc
 
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
 
Automated DevOps for your Digital Transformation Journey!
Automated DevOps for your Digital Transformation Journey!Automated DevOps for your Digital Transformation Journey!
Automated DevOps for your Digital Transformation Journey!
 
A New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the CloudA New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the Cloud
 
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
apidays LIVE Australia 2020 -  Data with a Mission by Matt McLarty apidays LIVE Australia 2020 -  Data with a Mission by Matt McLarty
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
 
The_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdfThe_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdf
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Distilling the monolith to microservices journey at CMG

  • 1. Distilling the monolith to microservices journey Oct 13, 2020 Sanjay Nagaraj Buchi Reddy CTO/Co-Founder,Traceable Platform Engineering Lead,Traceable
  • 2. 2 About the Speakers Agenda Evolution: Monolith to Microservices Microservices migration by the Book Considerations when migrating from a monolith to microservices “Successful software gets changed” - Fred Brooks from ‘No Silver Bullet’ HYPERTRACE_
  • 3. 3 The Traceable Team Creators of Traceable & Hypertrace TEAM PROFILE_ ● Founded 2019 ● Series A funding via Unusual Ventures ● 32 Engineers & Domain Experts across San Francisco Bay Area and India ● 150+ Years of Combined DevSecOps Experience ● Team Hails from companies such as AppDynamics, Inmobi, Wallarm, IDF, Amazon, Informatica & Redis Labs ● Hypertrace released as open source project July 2020 Sanjay Nagaraj Buchi Reddy CTO/Co-Founder,Traceable VP Engineering,AppDynamics Platform Engineering Lead,Traceable Director of Engg, Data Platform, AppDynamics Jyoti Bansal CEO/Co-Founder,Traceable CEO/Co-Founder,Harness.io CEO/Founder,AppDynamics
  • 5. Security gaps new in Microservices 5 Single source of logs from the monolith Difficult to trace root-cause analysis across systems Release every 3-6 months; firewall and WAF rules developed over years Pace of development much higher than the pace of security Most threats are network or legacy static OWASP Existing tools are ineffective against emerging threats Monolothic systems and multi- page apps. Proliferation of APIs with poor lifecycle management Microservices Monolithic MODERN SECURITY_ For almost half of those adopting microservices, security is a top concern.
  • 7. Evolution: From Monolith to Microservices 7 Stages: ● Start with Monolith 1. Microservices, but with Tight Coupling 2. Microservices with Loosely Coupled Services, but Temporal Data 3. Microservices with Loosely Coupled Services AND Decoupled Data
  • 8. Start: Monolith 8 Database 1 Application Status ● All code in one application service ● In-process calls to other modules Pros ● Fewer moving parts. Less complex ● Simpler deployment & management ● Fewer failure points Cons ● Teams can’t deploy services independently ● Teams can’t use different languages, versions ● Can’t scale parts independently ● Single point of failure
  • 9. 1. Microservices, but with Tight Coupling 9 Database 1 Application Progress ● Separated the services, but database is still shared Pros ● Teams can deploy services independently ● Teams can use different languages and versions Cons ● Must be careful not to overwrite data or schema owned by other services ● Tight coupling because each service is dependent on each other
  • 10. 2. Microservices with Loose Coupling, but Temporal Data 10 Progress ● Completely separated the databases. so each service has its own databases. None are shared. Pros ● Can deploy services AND database changes independently Cons ● You must access other services data via synchronous APIs ● Still ‘tight coupling’ because each service requires the other services data Database 1 Database 2 Application
  • 11. 3. Microservices with Loose Coupling AND Nontemporal 11 Progress ● Event-driven Architecture ● Each Service maintains a local query view of external data Pros ● Fast access to data ● All data needed is local Cons ● Data duplication ● Local data is eventually consistent Database 1 Database 2 Application
  • 12. 12 Considerations when migrating from a monolith to microservices
  • 13. Migrating to Microservices: Build pain points 13 ● Need fairly new ways to build, version, package artifacts ○ Be ready to invest in a lot of *new* build tooling ● Components are often too tightly coupled ○ Start small and have a plan; baby steps are the key ○ First create modularity within the monolith ○ Re-architect parts of the system? ○ Re-write a service? ● Intimidated to break down some parts ○ Evolve slowly: Monolith → tight coupling → temporal coupling → fully decoupled ● Integration testing is harder ○ Mocking services FTW
  • 14. Migrating to Microservices: Build pain points 14 ● Functionality is often broken ○ Start caring about backward and forward compatibility ○ Test the API and data format compatibility in the CI ○ Resiliency ○ Idempotency? ○ Mocks needed for integration testing ○ Automated testing as guardrails ○ Continuous end-to-end product feature validation ● No control over what Docker images or OS are used ○ Common base images, security controls, standards ○ Standards around service user, accounts, etc
  • 15. Migrating to Microservices: Maintenance pain points 15 ● Deploying and managing multiple services isn’t as simple ○ Have (pick) a framework to orchestrate multiple services at scale ○ Pick service packaging model, versioning ● Impossible to debug a broken deployment ○ Continuously deliver to reduce payload ○ Canary or B/G deployment ○ Tooling to surface issues easily ● Old school APM tools aren’t enough to monitor ○ Welcome to distributed tracing! ○ Use Hypertrace (shameless promotion) ● Logs aren’t in single place ○ Invest in a logging solution
  • 16. Migrating to Microservices: Security posture 16 ● Service to service communication isn’t as secure anymore ○ Secure service to service communication ○ Embrace a service mesh and mTLS, if it makes sense ○ Zero-touch certificate management and rotation ● Larger attack surface for your APIs ○ Invest in proper security tools to detect security attacks and protect ○ Shift left ● AuthN & AuthZ can’t be enforced in a single place now ○ Centralized Auth servers or distributed? ○ Latency is super critical ○ Distributed policy rollout
  • 17. Microservices: Are you overdoing them? 17 ● Too many microservices ○ Mini services? ○ API inventory tools ○ Service discovery tools ● Too many repositories ○ Unless you’re Google, you have separate repositories. Tooling to easily work across repos ○ Consider macro repos ● Who should own the on-call issues? ○ Automate alert routing and trivial triaging ○ RCA tools ○ SLAs, SLOs
  • 19. Hypertrace provides observability into your application architecture. It includes global, service and backend dashboards, allowing teams fast insight into service level objectives. Hypertrace & OpenTelemetry 19 ● Collect distributed traces ● Enrich your tracing data ● Visualize real-time activity Deploy Using: http://hypertrace.orgMore at: Hypertrace Supports Tracers and Agents:
  • 20. Thank you very much! sincerely,

Editor's Notes

  1. Thank you all for taking the time. Buchi and I will share some of the lessons we learnt in our own journeys in microservices.
  2. At traceable, we are enabling application security for your cloud-native applications. We are combining the power of distributed tracing and machine learning to help our customers discover and understand the security posture of their Applications and Protect those applications. We also enable investigation of potential attacks with insights from the distributed trace data.
  3. Over the years we have seen the migration of monolithic services to Microservices. The rapid adoption of K8S has further enabled the migration. The applications are becoming distributed API driven and mobile driven and exposing the business logic directly to the outside world. The biggest problems with these complex architectures is in understanding the performance, security and business impact.
  4. Since traceables goal is to help our customers protect their applications. Let me take security as an example in the world of microservices and discuss why it is a concern for a majority of security practitioners as they adopt microservices.
  5. Having introduced traceable and the problem we set out to solve. Let us take a step back and start to think about the migration to microservices and some of the challenges with it and learnings on our end.
  6. Thanks Buchi. As we discussed Microservices is hard and takes a lot of effort to operate them. At traceable we recognized this and internally we were using a distributed tracing platform to build application security solutions for our customers. We decided that what we were using ourselves can be helpful for the broader microservices community and hence we open sourced the project called Hypertrace. One of the best things that happend in the tracing community was the formation of Opentelemetry as a project. OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. We fully support otel with hypertrace. We hope with hypertrace we are doing our part in enhancing the use of distributed tracing with your microservices