Containing
Your
Microservice
Sprawl
Your fast path to
business agility
A discussion on 3 basic challenges to controlling
your microservice sprawl:
1) Lack of organization.
2) Ambiguous service ownership and profile.
3) Reactive approach – lack of visibility.
Microservices without the complexity.
Meet Tracy Ragan
Microservice Evangelist, Passionate About
Configuration Management and Continuous
Deployment
• DeployHub CEO and Co-Founder
• Community Director – Ortelius Open-Source
Project
• TechBeacon.com Top 100 DevOps Visionaries
• Founding Board Member Eclipse Foundation
• Founding Board member of the CD Foundation
• DevOps Institute Ambassador
• 20+ DevOps Experience
Let’s chat – reach me on LinkedIn
https://www.linkedin.com/in/tracy-ragan-oms/
Introducing DeployHub and Ortelius
• Ortelius is a microservice management platform that versions and tracks microservices,
their blast radius, and inventory across clusters providing a proactive view of your
microservice architecture as it changes overtime.
• Ortelius is an incubating project under the governance of the CD. Foundation (Linux
Foundation).
• Our mission is to simplify the adoption of microservices through a world-class
microservice management platform driven by a supportive and diverse global open-
source community
• DeployHub contributed 80% of the DeployHub codebase to the open-source
community.
A Microservice Architecture
A service-oriented
architecture (SOA) that
uses APIs instead of a
‘service bus.’
In MSA, the concept of
an ‘application’ is
‘logical.’ SOA was still
monolithic.
‘fine-grained SOA’
Microservices require new DevOps Solutions
New markets for a massive shift in how we write and deliver software
“ 92% - Use containers in production. Up from 84% last year, and up 300% from the first
CNCF survey in 2016.
83% - Use Kubernetes in production. Up from 78% last year.”
CNCF – Linux Foundation 2020 Survey
“Trend #1: Emergence of the Service Catalog. Potential $500M Market That Redefines the
Foundational Nature of Development Infrastructure.”
“Trend #2: Convergence of Continuous Delivery, GitOps, and Experimentation Vendors Are
Creating the Potential for a $500M ARR Progressive Delivery Mega-Market.”
2021 Trends Foretell New Approaches to DevOps, Tyler Jewell, Dell Capital
Moving to
Microservices
We are taking our
static application
and breaking it into
smaller puzzle
pieces.
"What happened is we would release an update to a library, and
then one service would use the new service and now all of a
sudden all these other services were using an older version and
we had to try to keep track of which service was using what
version of the library."
Alexandra Noonan, Software Engineer, Segment
SDTimes April 2019 "Microservices: More isn't always better”
Microservice development “falls apart without coherent, disciplined
management”
Randy Heffner, VP and Research Analyst, Forrester
“3 Big Mistakes When It Comes to APIs and Microservices,”
Akana Webinar
Benefits
• Service
Granularity
• Independently
Deployed
• Polyglot
programming
• Reusable but
loosely coupled
• Fault Tolerance
and Auto Scaling
The Problem
• Lack of Organization
• Microservice sprawl is common as
multiple services are written by multiple
teams to do the same function.
• Lack of Service ownership and Profile
• Who wrote it and who uses it?
• What Version are we using?
• Reactive approach
• Impact of a service discovered after a
deployment using observability
Container
Image
Registry
Container
Image
Build
Problem - Lack of Organization
Implement a Domain Driven Design
Domain-driven design (DDD)
facilitates the organization and
modeling of services based on
relevant business ‘problem spaces.’
DDD defines ‘problem spaces’ as
Bounded Context.
DDD identifies patterns to further
organize the development and
usage of services in defined ‘layers.’ Source - Microsoft Docs -
https://docs.microsoft.com/en-
us/dotnet/architecture/microservices/microservice-ddd-cqrs-
patterns/ddd-oriented-microservice
Problem - Lack of Organization
Solution - DeployHub’s Domain
Driven Design
DeployHub provides a DDD model to
publish and centralize services based on
the Domain Model with Sub-Domains to
represent all ‘layers.’
DeployHub’s Domain Model encourages
reuse of microservices by providing a
central catalog organized by ‘problem
spaces’ making sharing easy.
Problem - Lack of Service Ownership and Profile
Tracking Ownership and Versions.
Unclear:
• Who created the service?
• Who uses the service?
• What version of the service is
running where?
• What is the deployment meta data,
like Key Value Pairs?
The DeployHub
Service Catalog is a
logical collection of
microservices and
how they relate to
logical applications.
Problem - Lack of Service Ownership and Profile
Solution - DeployHub’s Microservice Catalog
Who
How
What
Problem - Lack of Service Ownership and Profile
Solution - DeployHub’s Microservice Catalog
Problem - Lack of Service Ownership and Profile
Solution - DeployHub’s Microservice Catalog
Problem Reactive Approach
A new version of a microservice impacts all consuming ‘logical’ applications.
We call this the ‘Blast Radius.’
Solution - DeployHub’s Proactive Visibility
Knowing your Blast Radius can reduce errors and incidents
while increasing your microservice sharing by as much as
50%.
Problem Reactive Approach
Solution - DeployHub’s Proactive Visibility
Before you ever release a
microservice, DeployHub can
tell you which consuming
application teams will be
impacted and where the
updates need to be installed
across Clusters and
Namespaces.
Bonus – Tracking Logical Applications
DeployHub starts the process by defining a logical application based on what services
it consumes.
The Blast Radius is tracked based on this Application ‘base version’ information.
DeployHub Automated Configuration Managment
1
Container Registry Push.
Triggers DeployHub to version microservices,
track application configuration management
and builds relationship maps.
2
Scheduled, on-demand or
CD triggers the deployment.
3
DeployHub records and tracks
inventory across all clusters.
4
DeployHub
APIs
PostgreSQL
Datastore
DeployHub Automated Configuration Management
As new container images are registered, DeployHub creates a new version of the
microservices, and a new version of the ‘logical’ application.
DeployHub’s secret sauce is a version control engine, built on top of a relational
model and datastore.
BOM Report Blast Radius Report
Difference Report
DeployHub Maps
DeployHub Pro Comparison Reports
Environment Comparisons
Application Comparisons
Summary – Microservices without Complexity
Controlling the Sprawl
DeployHub’s microservice catalog simplifies microservices by providing a proactive
view of microservices, their versions and usage across all of your clusters.
• Improve confidence and eliminate risk - know your microservice ‘blast radius’ before you go.
• Restore control - create your ‘logical application’ with
versions and change tracking.
• Add visibility - version your microservices and track their
inventory across all clusters.
• Reduce development cost - encourage microservice reuse organized by domains, relationships,
and usage.
The Results
Visibility gives Site
Reliability Engineers
the clarity of what’s
going on and the
ability to make data-
driven decisions
quickly before a
deployment.
Automated
configuration
Management saves
1-2 hours of manual
work per deployment
and breaks down
release bottlenecks.
Microservice catalog
reduces sprawl and
redundant coding by
up to 50%.
Delivers successful
high frequency
updates, achieving
business agility.
Feedback from our early adopters
Pricing
DeployHub Pro Value Add
Feature DeployHub
Team
DeployHub
Pro
Enterprise Level Support.
Secured User Groups.
Additional Domains for modeling organizational structure.
Secured Deployments to Endpoints (Clusters, VMs, etc.).
Comparison Reports, Burn Down Rates, Change Request Tracking.
Smart Calendars for Deployment Scheduling and Control.
Release Train Management for coordination of multiple deployments.
Microservice Catalog for improving reuse.
Microservice Versioning with core deployment metadata.
Logical application mapping with BOM, Difference Maps and
microservice ‘blast radius.’
Microservice inventory tracking across all clusters.
• Join the Open-Source Community
• Ortelius.io
• https://github.com/ortelius
• Sign-up for the Free SaaS Version – DeployHub Team:
– https://www.deployhub.com/deployhub-team/
• Follow me:
• @tracyragan
• in/tracy-ragan-oms/
More Information
Containing your microservice sprawl

Containing your microservice sprawl

  • 1.
  • 2.
    A discussion on3 basic challenges to controlling your microservice sprawl: 1) Lack of organization. 2) Ambiguous service ownership and profile. 3) Reactive approach – lack of visibility. Microservices without the complexity.
  • 3.
    Meet Tracy Ragan MicroserviceEvangelist, Passionate About Configuration Management and Continuous Deployment • DeployHub CEO and Co-Founder • Community Director – Ortelius Open-Source Project • TechBeacon.com Top 100 DevOps Visionaries • Founding Board Member Eclipse Foundation • Founding Board member of the CD Foundation • DevOps Institute Ambassador • 20+ DevOps Experience Let’s chat – reach me on LinkedIn https://www.linkedin.com/in/tracy-ragan-oms/
  • 4.
    Introducing DeployHub andOrtelius • Ortelius is a microservice management platform that versions and tracks microservices, their blast radius, and inventory across clusters providing a proactive view of your microservice architecture as it changes overtime. • Ortelius is an incubating project under the governance of the CD. Foundation (Linux Foundation). • Our mission is to simplify the adoption of microservices through a world-class microservice management platform driven by a supportive and diverse global open- source community • DeployHub contributed 80% of the DeployHub codebase to the open-source community.
  • 5.
    A Microservice Architecture Aservice-oriented architecture (SOA) that uses APIs instead of a ‘service bus.’ In MSA, the concept of an ‘application’ is ‘logical.’ SOA was still monolithic. ‘fine-grained SOA’
  • 6.
    Microservices require newDevOps Solutions New markets for a massive shift in how we write and deliver software “ 92% - Use containers in production. Up from 84% last year, and up 300% from the first CNCF survey in 2016. 83% - Use Kubernetes in production. Up from 78% last year.” CNCF – Linux Foundation 2020 Survey “Trend #1: Emergence of the Service Catalog. Potential $500M Market That Redefines the Foundational Nature of Development Infrastructure.” “Trend #2: Convergence of Continuous Delivery, GitOps, and Experimentation Vendors Are Creating the Potential for a $500M ARR Progressive Delivery Mega-Market.” 2021 Trends Foretell New Approaches to DevOps, Tyler Jewell, Dell Capital
  • 7.
    Moving to Microservices We aretaking our static application and breaking it into smaller puzzle pieces. "What happened is we would release an update to a library, and then one service would use the new service and now all of a sudden all these other services were using an older version and we had to try to keep track of which service was using what version of the library." Alexandra Noonan, Software Engineer, Segment SDTimes April 2019 "Microservices: More isn't always better” Microservice development “falls apart without coherent, disciplined management” Randy Heffner, VP and Research Analyst, Forrester “3 Big Mistakes When It Comes to APIs and Microservices,” Akana Webinar
  • 8.
    Benefits • Service Granularity • Independently Deployed •Polyglot programming • Reusable but loosely coupled • Fault Tolerance and Auto Scaling
  • 9.
    The Problem • Lackof Organization • Microservice sprawl is common as multiple services are written by multiple teams to do the same function. • Lack of Service ownership and Profile • Who wrote it and who uses it? • What Version are we using? • Reactive approach • Impact of a service discovered after a deployment using observability Container Image Registry Container Image Build
  • 10.
    Problem - Lackof Organization Implement a Domain Driven Design Domain-driven design (DDD) facilitates the organization and modeling of services based on relevant business ‘problem spaces.’ DDD defines ‘problem spaces’ as Bounded Context. DDD identifies patterns to further organize the development and usage of services in defined ‘layers.’ Source - Microsoft Docs - https://docs.microsoft.com/en- us/dotnet/architecture/microservices/microservice-ddd-cqrs- patterns/ddd-oriented-microservice
  • 11.
    Problem - Lackof Organization Solution - DeployHub’s Domain Driven Design DeployHub provides a DDD model to publish and centralize services based on the Domain Model with Sub-Domains to represent all ‘layers.’ DeployHub’s Domain Model encourages reuse of microservices by providing a central catalog organized by ‘problem spaces’ making sharing easy.
  • 12.
    Problem - Lackof Service Ownership and Profile Tracking Ownership and Versions. Unclear: • Who created the service? • Who uses the service? • What version of the service is running where? • What is the deployment meta data, like Key Value Pairs?
  • 13.
    The DeployHub Service Catalogis a logical collection of microservices and how they relate to logical applications.
  • 14.
    Problem - Lackof Service Ownership and Profile Solution - DeployHub’s Microservice Catalog Who How
  • 15.
    What Problem - Lackof Service Ownership and Profile Solution - DeployHub’s Microservice Catalog
  • 16.
    Problem - Lackof Service Ownership and Profile Solution - DeployHub’s Microservice Catalog
  • 17.
    Problem Reactive Approach Anew version of a microservice impacts all consuming ‘logical’ applications. We call this the ‘Blast Radius.’ Solution - DeployHub’s Proactive Visibility Knowing your Blast Radius can reduce errors and incidents while increasing your microservice sharing by as much as 50%.
  • 18.
    Problem Reactive Approach Solution- DeployHub’s Proactive Visibility Before you ever release a microservice, DeployHub can tell you which consuming application teams will be impacted and where the updates need to be installed across Clusters and Namespaces.
  • 19.
    Bonus – TrackingLogical Applications DeployHub starts the process by defining a logical application based on what services it consumes. The Blast Radius is tracked based on this Application ‘base version’ information.
  • 20.
    DeployHub Automated ConfigurationManagment 1 Container Registry Push. Triggers DeployHub to version microservices, track application configuration management and builds relationship maps. 2 Scheduled, on-demand or CD triggers the deployment. 3 DeployHub records and tracks inventory across all clusters. 4 DeployHub APIs PostgreSQL Datastore
  • 21.
    DeployHub Automated ConfigurationManagement As new container images are registered, DeployHub creates a new version of the microservices, and a new version of the ‘logical’ application. DeployHub’s secret sauce is a version control engine, built on top of a relational model and datastore.
  • 22.
    BOM Report BlastRadius Report Difference Report DeployHub Maps
  • 23.
    DeployHub Pro ComparisonReports Environment Comparisons Application Comparisons
  • 24.
    Summary – Microserviceswithout Complexity Controlling the Sprawl DeployHub’s microservice catalog simplifies microservices by providing a proactive view of microservices, their versions and usage across all of your clusters. • Improve confidence and eliminate risk - know your microservice ‘blast radius’ before you go. • Restore control - create your ‘logical application’ with versions and change tracking. • Add visibility - version your microservices and track their inventory across all clusters. • Reduce development cost - encourage microservice reuse organized by domains, relationships, and usage.
  • 25.
    The Results Visibility givesSite Reliability Engineers the clarity of what’s going on and the ability to make data- driven decisions quickly before a deployment. Automated configuration Management saves 1-2 hours of manual work per deployment and breaks down release bottlenecks. Microservice catalog reduces sprawl and redundant coding by up to 50%. Delivers successful high frequency updates, achieving business agility. Feedback from our early adopters
  • 26.
  • 27.
    DeployHub Pro ValueAdd Feature DeployHub Team DeployHub Pro Enterprise Level Support. Secured User Groups. Additional Domains for modeling organizational structure. Secured Deployments to Endpoints (Clusters, VMs, etc.). Comparison Reports, Burn Down Rates, Change Request Tracking. Smart Calendars for Deployment Scheduling and Control. Release Train Management for coordination of multiple deployments. Microservice Catalog for improving reuse. Microservice Versioning with core deployment metadata. Logical application mapping with BOM, Difference Maps and microservice ‘blast radius.’ Microservice inventory tracking across all clusters.
  • 28.
    • Join theOpen-Source Community • Ortelius.io • https://github.com/ortelius • Sign-up for the Free SaaS Version – DeployHub Team: – https://www.deployhub.com/deployhub-team/ • Follow me: • @tracyragan • in/tracy-ragan-oms/ More Information