Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Preparing for a future microservices journey (with Wardley Maps)

3,334 views

Published on

How can a small team handle infrastructure complexities that come with Microservices and still deliver business and user value?

The short answer to that could be to build your core domain - that differentiates you from your competitors - in-house and outsource undifferentiating commodities to utility suppliers.

In this talk I have used Wardley Maps to visualise how the value chain can evolve when getting infrastructure components handled by different options: Going from open source software to Kubernetes' container orchestration, to Istio's service mesh and to Serverless technologies, such as AWS Lambda.

Published in: Technology

Preparing for a future microservices journey (with Wardley Maps)

  1. 1. Preparing For a Future Microservices Journey Susanne Kaiser Independent Tech Consultant @suksr
  2. 2. @suksr
  3. 3. @suksr
  4. 4. @suksrSource: http://www.thomasthwaites.com
  5. 5. @suksr
  6. 6. @suksrSource: http://www.thomasthwaites.com
  7. 7. @suksr
  8. 8. @suksr
  9. 9. Data Store @suksr
  10. 10. Hardware O/S Virtualization Container Runtime @suksr
  11. 11. API Hardware O/S Virtualization Container Runtime @suksr
  12. 12. API APIAPIService Discovery 1. Register 3. Connect 2. Discover Hardware O/S Virtualization Container Runtime @suksr
  13. 13. API APIAPIService Discovery Load-Balancer Hardware O/S Virtualization Container Runtime @suksr
  14. 14. API APIAPIService Discovery Load-Balancer API Timeout-Handling Hardware O/S Virtualization Container Runtime @suksr
  15. 15. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Hardware O/S Virtualization Container Runtime @suksr
  16. 16. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Idempotency Hardware O/S Virtualization Container Runtime @suksr
  17. 17. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Hardware O/S Virtualization Container Runtime @suksr
  18. 18. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- Heads Circuit Breaker Idempotency Hardware O/S Virtualization Container Runtime @suksr
  19. 19. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Circuit Breaker Idempotency Message Broker Hardware O/S Virtualization Container Runtime @suksr
  20. 20. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Circuit Breaker Idempotency Message Broker API-Gateway Hardware O/S Virtualization Container Runtime @suksr
  21. 21. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Hardware O/S Virtualization Container Runtime @suksr
  22. 22. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health ChecksHardware O/S Virtualization Container Runtime @suksr
  23. 23. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM Checkout TestBuild CI/CD Pipeline Deploy Hardware O/S Virtualization Container Runtime @suksr
  24. 24. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM Checkout TestBuild CI/CD Pipeline Deploy Hardware O/S Virtualization Container Runtime Backup Recovery @suksr
  25. 25. µService @suksr
  26. 26. Hardware Data Store API API-Gateway Service Discovery Load-Balancer Message Broker Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM O/SVirtualization Container Runtime Checkout TestBuild CI/CD Pipeline Deploy µService Backup Recovery @suksr
  27. 27. Hardware Data Store API API-Gateway Service Discovery Load-Balancer Message Broker Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM O/SVirtualization Container Runtime Checkout TestBuild CI/CD Pipeline Deploy Backup Recovery @suksr Complexities
  28. 28. Source: http://www.thomasthwaites.com/folio5/wp-content/uploads/2010/10/Toaster_Project1-PhotoCredit-Daniel_Alexanderx630.jpg @suksrSource: http://www.thomasthwaites.com
  29. 29. How can a small team handle infrastructure complexities and deliver user & business value? @suksr
  30. 30. Focus on Core Domain Offload commodities @suksr
  31. 31. Core Domain Focus User Value @suksr User Needs Build in-house
  32. 32. @suksr Offloading commodities Business Needs Business Value Core Domain Focus User ValueUser Needs Build in-house Outsource to utility suppliers
  33. 33. @suksr Software Delivery Performance Productivity Profitability Market Share
  34. 34. What to build in-house? What to outsource? @suksr
  35. 35. Wardley Maps ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Uncharted Industrialised Chaotic Uncertain Unpredictable Changing ... Ordered Known Measured Stable ... By Simon Wardley Position Movement Visualisation of a value chain’s evolution @suksr
  36. 36. Who are your users? ValueChain InvisibleVisible Wardley Maps Value Chain @suksr
  37. 37. Who are your users? What are your users’ needs? ValueChain InvisibleVisible Wardley Maps Value Chain @suksr
  38. 38. Who are your users? What are your users’ needs? What are the components/activities to fulfil your users’ needs incl. dependencies? ValueChain InvisibleVisible Wardley Maps Value Chain Position @suksr
  39. 39. ValueChain InvisibleVisible Evolution Wardley Maps Landscape Components along evolution axes Genesis Custom-Built Product (+rental) Commodity (+utility) Position Movement @suksr
  40. 40. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Everything evolves Past Current Future Supply Competition Demand Competition Wardley Maps Patterns Uncharted Industrialised @suksr
  41. 41. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Past Current Future Characteristics changeUncharted Undefined market Uncertain Unpredictable Rare Poorly understood Forming market Learning on use Increasing understanding Slowly increasing consumption Rapid increases in learning Growing market Learning on operation Increasing education Rapidly increasing consumption Rapid increase in use Mature market Known / accepted Stable Widespread and stabilising Commonly understood (in term of use) Industrialised Wardley Maps Patterns
  42. 42. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Everything evolves Past Current Future Continuous adaption Wardley Maps Patterns @suksr
  43. 43. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Wardley Maps Patterns @suksr
  44. 44. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Wardley Maps Patterns @suksr
  45. 45. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Wardley Maps Patterns @suksr
  46. 46. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Wardley Maps Patterns @suksr
  47. 47. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Past Current Success breeds inertia Wardley Maps Patterns @suksr
  48. 48. ValueChain InvisibleVisible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Success breeds inertia Past Current Inertia can kill an organisation Wardley Maps Patterns @suksr
  49. 49. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Speakers Feedback Focus on user needs @suksr
  50. 50. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Management Speaker Management Survey Platform Speakers Feedback Session Rating Ticketing Platform Position Understand the involved components and their dependencies (position) @suksr
  51. 51. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Management Speaker Management Survey Platform Speakers Feedback Session Rating Ticketing Platform Position Data Storage Understand the involved components and their dependencies (position) @suksr
  52. 52. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Management Speaker Management Survey Platform Speakers Feedback Session Rating Ticketing Platform Search Engine Position Data Storage Understand the involved components and their dependencies (position) @suksr
  53. 53. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Management Speaker Management Survey Platform Speakers Feedback Session Rating Ticketing Platform Search Engine Message Broker Position Data Storage Understand the involved components and their dependencies (position) @suksr
  54. 54. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Management Speaker Management Survey Platform Speakers Feedback Session Rating Ticketing Platform Search Engine Compute Platform Message Broker Position Data Storage Understand the involved components and their dependencies (position) @suksr
  55. 55. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Management Speaker Management Survey Platform Speakers Feedback Session Rating Ticketing Platform Search Engine Compute Platform Message Broker VM Position Data Storage Understand the involved components and their dependencies (position) @suksr
  56. 56. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Mgmnt. Speaker Mgmnt. Survey Platform Speakers Feedback Session Rating Ticketing Platform Search Engine Compute Platform Data Storage VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Movement Message Broker Plot components along evolution axes (movement) @suksr
  57. 57. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule Mgmnt. Speaker Mgmnt. Survey Platform Speakers Feedback Session Rating Ticketing Platform Search Engine Compute Platform Data Storage VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Movement Message Broker Discuss & plan @suksr
  58. 58. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Search Engine Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Movement Message Broker @suksr
  59. 59. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Search Engine Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Movement Message Broker Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Use appropriate methods per evolution stage @suksr
  60. 60. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Search Engine Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Movement Message Broker Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Use appropriate methods per evolution stage @suksr
  61. 61. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Search Engine Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Movement Message Broker Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Use appropriate methods per evolution stage @suksr
  62. 62. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Search Engine Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Movement Message Broker Build in-house Use/buy off-the-shelf product Outsource to utility suppliers @suksr Infrastructure & operational complexities Discuss & plan
  63. 63. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker @suksr Open Source Software Example
  64. 64. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker @suksr Discuss & plan Offload to container orchestration platform
  65. 65. Managed by YOU Managed by PlatformHardware O/S Virtualization Container Runtime O/S Orchestration µService Container Runtime µService Service Discovery Load Balancer Config-Mngmt. Monitoring Log Aggreation Health Checks Recovery Scaling @suksr Container Orchestration API Gateway
  66. 66. Containerized Microservices Container Orchestration Basic components of Kubernetes
  67. 67. Pod Volume Container Orchestration Basic components of Kubernetes Containerized Microservices
  68. 68. Containerized Microservice Pod Service Volume Container Orchestration Basic components of Kubernetes
  69. 69. Containerized Microservice Pod Service Volume Master Node Worker NodeWorker Node Container Orchestration Basic components of Kubernetes
  70. 70. Containerized Microservice Pod Service Volume Deployment Master Node Worker NodeWorker Node Container Orchestration Deployment Deployment Basic components of Kubernetes
  71. 71. Containerized Microservice Pod Service Volume Deployment Master Node Worker NodeWorker Node Ingress Container Orchestration Deployment Deployment Basic components of Kubernetes
  72. 72. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node @suksr Container Orchestration w/ Kubernetes
  73. 73. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node Pod Deploym. Service Volume New Primitives @suksr Container Orchestration w/ Kubernetes Ingress
  74. 74. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node Pod Deploym. Service Volume New Primitives Stateful Set Job Daemon Set Cron Job Ingress EgressSecret Config Map Persistent Volume Claim Replica Set Horizontal Pod Autoscaler … and more @suksr Container Orchestration w/ Kubernetes
  75. 75. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node Container Orchestration @suksr
  76. 76. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node Container Orchestration Offload application networking concerns to a service mesh @suksr Discuss & plan
  77. 77. Separation Of Concerns Service Discovery Load-Balancer Circuit Breaker Timeout Retries Bulkheads Kubernetes / Service Mesh Proxy Proxy Service Mesh Application Networking Concerns @suksr MetricsHealth Checks
  78. 78. Service Mesh Components of Istio Proxy Proxy Microservice Microservice Policy & Telemetry (Mixer) Discovery & Config to Proxies (Pilot) Config (Galley) TLS Certs to Proxies (Citadel) Data Plane Control Plane
  79. 79. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node Service Mesh w/ Istio New Primitives @suksr CitadelMixer PilotProxy Galley Container Orchestration
  80. 80. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node @suksr Container Orchestration Service Mesh
  81. 81. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS Compute Platform DB aaS VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Message Broker Worker Nodes Master Node @suksr Container Orchestration Service Mesh Discuss & plan Move to Serverless
  82. 82. Serverless FunctionEvent Event-Driven Workflow Hardware Data Store O/SVirtualization Container Runtime Fully Managed By Third Party Ephemeral Function Pay-per-ExecutionAuto-Scaling Characteristics @suksr triggers
  83. 83. Serverless AWS Building Blocks Lambda API Gateway SNS SQS DynamoDB Step Functions Core AWS Serverless Building Blocks S3 Kinesis CloudWatch Cognito @suksr IAM and more
  84. 84. Serverless Example Conference Solution Speaker Submit CfP API Gateway createCfP DynamoDB sendCfPSubmittedEmail CfP Handling
  85. 85. Serverless Example Conference Solution Speaker Submit CfP API Gateway createCfP DynamoDB sendCfPSubmittedEmail S3 updateCfPPicture CfP Handling
  86. 86. Serverless Example Conference Solution Speaker Organiser Submit CfP API Gateway createCfP DynamoDB sendCfPConfirmedEmail Confirm CfP getCfP confirmCfP sendCfPSubmittedEmail S3 updateCfPPicture SNS CfP Handling Schedule Management updateTalkDetails
  87. 87. Serverless Example Conference Solution Speaker Organiser Submit CfP API Gateway createCfP DynamoDB sendCfPConfirmedEmail Confirm CfP getCfP confirmCfP sendCfPSubmittedEmail S3 updateCfPPicture Create Schedule createSchedule API Gateway SNS DynamoDB updateSearchIndex updateTalkDetails CfP Handling Schedule Management
  88. 88. Serverless Example Conference Solution Speaker Organiser Attendee Submit CfP API Gateway createCfP DynamoDB sendCfPConfirmedEmail Confirm CfP getCfP confirmCfP sendCfPSubmittedEmail S3 updateCfPPicture Create Schedule createSchedule API Gateway SNS DynamoDB updateSearchIndex getSchedule Get Schedule updateTalkDetails CfP Handling Schedule Management
  89. 89. Serverless Example Conference Solution Speaker Organiser Attendee Submit CfP API Gateway createCfP DynamoDB sendCfPConfirmedEmail Confirm CfP getCfP confirmCfP sendCfPSubmittedEmail S3 updateCfPPicture Create Schedule createSchedule API Gateway SNS DynamoDB updateSearchIndex getSchedule Get Schedule updateTalkDetails CfP Handling Schedule Management Your code Use/Configure
  90. 90. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS DB VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Function Compute Platform @suksr Pub/Sub File Storage API Gateway Serverless
  91. 91. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS DynamoDB VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Serverless Application Repository (SAR) Lambda Compute Platform @suksr SNS S3 API Gateway Serverless Component
  92. 92. ValueChain InvisibleVisible Wardley Maps Example Conference Solution Attendee TicketSchedule Schedule M. Speaker M. Survey aaS Speakers Feedback Session Rating Ticketing aaS DynamoDB VM Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Search Engine Serverless Application Repository (SAR) Lambda Compute Platform @suksr SNS S3 API Gateway Serverless Component Efficiency enables innovation Q & A Q&A Handling
  93. 93. @suksr Fulfil user & business needs Focus on core domain & build in-house Identify & outsource commodities Continuously adapt
  94. 94. @suksr
  95. 95. Susanne Kaiser Independent Tech Consultant @suksr

×