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.

Voxxed Days Microservices Paris 2018 - Keynote

138 views

Published on

In November 2010 Thomas Thwaites - a designer from the UK - gave a TED talk about his idea to build a toaster from scratch. He bought a cheap toaster from his local appliance store and was very surprised that this cheap toaster was consisting of 404 different parts made of 100+ materials. His journey was paved with failure and setbacks, but nine month later he came up with ... let's say with something that looked remotely like a toaster, but was only working for 2 seconds, before it melted down. Thomas Thwaites' journey reminded me in some kind of the struggles with transforming a monolith to microservices - especially in terms of the myriad of infrastructure complexities that comes with microservices. In this keynote I am talking about some options how a small team can handle infrastructure complexities and deliver business value.

This keynote was held at Voxxed Days Microservices in Paris on 29th October 2018.

Published in: Technology
  • Be the first to comment

Voxxed Days Microservices Paris 2018 - Keynote

  1. 1. Preparing For a Future Microservices Journey CTO at Just Software @JustSocialApps Susanne Kaiser Independent Tech Consultant @suksr
  2. 2. @suksr#VoxxedMicroservices
  3. 3. @suksr#VoxxedMicroservices
  4. 4. @suksr#VoxxedMicroservices Source: http://www.thomasthwaites.com
  5. 5. @suksr#VoxxedMicroservices
  6. 6. @suksr#VoxxedMicroservices Source: http://www.thomasthwaites.com
  7. 7. @suksr#VoxxedMicroservices
  8. 8. @suksr#VoxxedMicroservices
  9. 9. Data Store @suksr#VoxxedMicroservices
  10. 10. Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  11. 11. API Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  12. 12. API APIAPIService Discovery 1. Register 3. Connect 2. Discover Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  13. 13. API APIAPIService Discovery Load-Balancer Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  14. 14. API APIAPIService Discovery Load-Balancer API Timeout-Handling Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  15. 15. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  16. 16. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Idempotency Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  17. 17. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  18. 18. API APIAPIService Discovery Load-Balancer API Timeout-Handling Retries Bulk- Heads Circuit Breaker Idempotency Hardware O/S Virtualization Container Runtime @suksr#VoxxedMicroservices
  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#VoxxedMicroservices
  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#VoxxedMicroservices
  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#VoxxedMicroservices
  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#VoxxedMicroservices
  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
  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
  25. 25. µService @suksr#VoxxedMicroservices
  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#VoxxedMicroservices
  27. 27. Hardware Data Store API API-Gateway Service Discovery Load-Balancer Message Broker Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker Configuration Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM O/SVirtualization Container Runtime Checkout TestBuild CI/CD Pipeline Deploy µService Team Structure Skillset Size Strategy New Features Timeline / Milestones Legacy Maintenance effort Runtime environment Backup Recovery @suksr#VoxxedMicroservices
  28. 28. Source: http://www.thomasthwaites.com/folio5/wp-content/uploads/2010/10/Toaster_Project1-PhotoCredit-Daniel_Alexanderx630.jpg @suksr#VoxxedMicroservices Source: http://www.thomasthwaites.com
  29. 29. How can a small team handle infrastructure complexities and deliver business value? @suksr#VoxxedMicroservices
  30. 30. Business Domain Focus Visible Business Value @suksr#VoxxedMicroservices
  31. 31. Build the things that differentiate you, offload the things that don’t. Core Domain Distinguishes your organization competitively from all others Subdomain Subdomain @suksr#VoxxedMicroservices
  32. 32. Build the things that differentiate you Offload the things that don’t @suksr#VoxxedMicroservices
  33. 33. Build the things that differentiate you Offload the things that don’t @suksr#VoxxedMicroservices
  34. 34. Hardware O/S Virtualization Container Runtime Managed Services O/S Orchestration Data Store µService Offload by getting common building blocks managed
  35. 35. Cloud Native 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 w/ Container Orchestration @suksr#VoxxedMicroservices
  36. 36. Cloud Native 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 w/ Container Orchestration Message Broker Data Store Backup API-Gateway @suksr#VoxxedMicroservices
  37. 37. Kubernetes Primitives Container Runtime µService Pod ReplicaSet Deployment StatefulSet Service Volume ConfigMap Secret PersistentVolumeClaim CronJob Job DaemonSet Replication ControllerIngress Horizontal Pod AutoScalerEndpoint + a lot more @suksr#VoxxedMicroservices
  38. 38. Cloud Native Citizen Principles Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam Single Concern Reusabilty Replacability @suksr#VoxxedMicroservices
  39. 39. Cloud Native Citizen Principles Single Concern Reusage Replacability High Observability Process Health Readiness Liveliness Metrics Tracing Logs Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr#VoxxedMicroservices
  40. 40. Cloud Native Citizen Principles Single Concern Reusage Replacability High Observability Process Health Readiness Liveliness Metrics Tracing Logs Life-Cycle Conformance SIGTERM SIGKILL PreStop PostStart Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr#VoxxedMicroservices
  41. 41. Cloud Native Citizen Principles Single Concern Reusage Replacability High Observability Process Health Readiness Liveliness Metrics Tracing Logs Life-Cycle Conformance SIGTERM SIGKILL PreStop PostStart Image Immutability Dev Test Prod Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr#VoxxedMicroservices
  42. 42. Cloud Native Citizen Principles Single Concern Reusage Replacability High Observability Process Health Readiness Liveliness Metrics Tracing Logs Life-Cycle Conformance SIGTERM SIGKILL PreStop PostStart Image Immutability Dev Test Prod Self-Containment BuildTime Configuration Storage Runtime Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr#VoxxedMicroservices
  43. 43. Cloud Native Citizen Principles Single Concern Reusage Replacability High Observability Process Health Readiness Liveliness Metrics Tracing Logs Life-Cycle Conformance SIGTERM SIGKILL PreStop PostStart Image Immutability Dev Test Prod Process Disposability Start/Stop Self-Containment BuildTime Configuration Storage Runtime Externalized State Small Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr#VoxxedMicroservices
  44. 44. Cloud Native Citizen Principles Single Concern Reusage Replacability High Observability Process Health Readiness Liveliness Metrics Tracing Logs Life-Cycle Conformance SIGTERM SIGKILL PreStop PostStart Image Immutability Dev Test Prod Process Disposability Self-Containment BuildTime Configuration Storage Runtime Runtime Confinement Memory CPU Container Size Start/Stop Externalized State Small Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr#VoxxedMicroservices
  45. 45. Separation Of Concerns Service Discovery Load-Balancer Circuit Breaker Timeouts Retries Bulkheads Application Networking Concerns Business Logic @suksr#VoxxedMicroservices
  46. 46. Separation Of Concerns Service Discovery Load-Balancer Circuit Breaker Timeout Retries Bulkheads Kubernetes / Service Mesh Proxy Proxy Business Logic Service Mesh Application Networking Concerns @suksr#VoxxedMicroservices
  47. 47. Service Mesh Primitives Container Runtime µService Pod ReplicaSet Deployment StatefulSet Service Volume ConfigMap Secret PersistentVolumeClaim CronJob Job DaemonSet Replication ControllerIngress Horizontal Pod AutoScalerEndpoint + a lot more Sidecar Proxy Pilot Mixer Control Plane Data Plane Auth @suksr#VoxxedMicroservices
  48. 48. Hardware O/S Virtualization Container Runtime O/S Orchestration Data Store µService Hardware O/S Virtualization Container Runtime O/S Orchestration Data Store Function Managed by YOU Managed by Third Party Unit of Work @suksr#VoxxedMicroservices
  49. 49. 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#VoxxedMicroservices
  50. 50. Serverless Functions listCustomers One function per endpoint and action API getCustomer createCustomer updateCustomer deleteCustomer API-Gateway GET /customers GET /customers/{id} POST /customers PUT /customers/{id} DELETE /customers/{id} CustomerService @suksr#VoxxedMicroservices
  51. 51. Serverless Example Image Processing ● Backend API ● Data Processing ● Format Conversion ● Encoding ● Integrating of 3rd Party Services @suksr#VoxxedMicroservices File Storage (S3) File Storage (S3) Create Thumbnail Update Search ServiceNotification Service (SNS)Write Log Log Service (CloudWatch) Compute as glue Additional Use Cases
  52. 52. Serverless AWS Primitives Lambda API Gateway SNS SQS DynamoDB Step Functions Core AWS Serverless Building Blocks S3 Kinesis CloudWatch Cognito @suksr#VoxxedMicroservices IAM and more
  53. 53. Be aware of ... @suksr#VoxxedMicroservices New primitives Cognitive load
  54. 54. Build the things that differentiate you, offload the things that don’t @suksr#VoxxedMicroservices
  55. 55. @suksr#VoxxedMicroservices
  56. 56. Susanne Kaiser Independent Tech Consultant @suksr CTO at Just Software @JustSocialApps

×