SlideShare a Scribd company logo
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_8
MizuhoHoshino
 
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
D.Rajesh Kumar
 
Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18Richmond MuleSoft Meetup 2021-08-18
Richmond MuleSoft Meetup 2021-08-18
Tom 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_uploadedversion
MizuhoHoshino
 
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
Angel Alberici
 
A Visual Language for Systems Integration
A Visual Language for Systems IntegrationA Visual Language for Systems Integration
A Visual Language for Systems Integration
Matt 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-july
Vikalp 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) - VirtualMuleys63
Angel Alberici
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
Nicholas Bowman
 
Perth Meetup August 2021
Perth Meetup August 2021Perth Meetup August 2021
Perth Meetup August 2021
Michael Price
 
Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021
Daniel 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 Integrations
Akshata 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_2021
Lalit 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 Microservices
Steve 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 sockets
JohnMathewPhilip
 
Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8
ManjuKumara GH
 
#2 connected apps_calicut_31_july
#2 connected apps_calicut_31_july#2 connected apps_calicut_31_july
#2 connected apps_calicut_31_july
JohnMathewPhilip
 

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, Anywhere
VMware 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 Experience
ThousandEyes
 
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
ThousandEyes
 
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
ThousandEyes
 
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 2019
Julian Douch
 
Twelve factor-app
Twelve factor-appTwelve factor-app
Twelve factor-app
José Javier Vélez Colón
 
Taw opening session
Taw opening sessionTaw opening session
Taw opening session
Michel Burger
 
ciscothousandeyesusecase
ciscothousandeyesusecaseciscothousandeyesusecase
ciscothousandeyesusecase
RENJITHKNAIR5
 
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
Ieva 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 Concepts
ThousandEyes
 
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
Ishaan 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 Cloud
NETSCOUT
 
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
 
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
 
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
Tonny 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 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 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
 
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

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 

Recently uploaded (20)

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 

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