SlideShare a Scribd company logo
Microservices Delivery Platform.
Tips and Tricks
Solution Architect @ EPAM
Andriy Trubitsyn
17 years of software development;
Solution architect @ microservice accelerator in EPAM
Speaker @ XP Days Ukraine
Speaker @ meetups and events
Microservices delivery platform
=
Microservices platform + CI/CD
+
What Microservices Platform is ?
https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes
One Microservices Platform
7
ECS Cluster ECS Cluster
Amazon API
Gateway
Amazon
RDS
Amazon
DynamoDB
Amazon
ElastiCache
Amazon ES Amazon
S3
AWS
CloudFormation
Amazon
CloudWatch
Legacy DB
Amazon
SQS
Amazon
SNS
AWS Lambda
for AAA
Sumologic
OpsGenie
Parameter
Store
 Mixed AWS Cloud & OnPrem
 Platforms relies on Netflix OSS
 Dozens ECS clusters
 Hundreds of microservices
 Heterogenous ecosystem: Java,
.Net, NodeJS
 Synchronous and asynchronous
microservices communication
8
Microservice
CI/CD pipelines
CI/CD Pipelines
Code Build DevQA INT LIVE
ECR registry AWS CloudFormation
Image
Build
CI/CDCI
OWASP ZAP
Code Build
CI/CD Pipelines shared
library & templates
CI/CD pipeline templateShared libraries
• Pipeline Building blocks
• API for tools
• Agents injection
• Default CI/CD pipelines
• Sample book
Lessons Learnt
1 C I / C D P I P E L I N E S A R E V E RY S I M I L A R
5
2
3
4
M A K E S S E N S E TO D I F F C I A N D C D P I P E L I N E S
T E M P L AT E P I P E L I N E I S H E L P F U L
T E M P L AT E P I P E L I N E I S TO B E C U S TO M I Z A B L E
T E M P L AT E U P DAT E S D I S T R I B U T I O N I S A D I S A S T E R
Microservice
Generators
Microservices generator
• Integrates with Service Discovery Eureka
• Sends tracing meta information to a
tracing tool Zipkin.
• Sends metrics to a monitoring tool
DataDog
• Sends logs to SumoLogic
• Cloudformation script includes ECS
Service and TaskDefinition configuration
AWS
CloudFormation
A buildable java project with CI/CD pipeline which
Microservices generator
• Default scaling strategy by CPU
• Can be build and deployed to all
environments DEV, INT, LIVE
• Configuration for Cost Optimization
function
• Imported CI/CD pipeline in Jenkins with
configured hooks and integrated with
SonarQube and Jfrog artifactory
AWS
CloudFormation
A buildable java project with CI/CD pipeline which
Lessons Learnt
1 G E N E R ATO R S S AV E I N C R E D I B L E A M O U N T O F E F F O R T S
2
3
4
O N E G E N E R ATO R N E E D S P E R E A C H L A N G UA G E
G E N E R ATO R S B R I N G V E R S I O N I M P L I C I T C O N F L I C T S
V I R T UA L T E A M TO O W N G E N E R ATO R S
Dedicated repo for
DTO objects and Contracts
DTO
Dedicated repo for DTO objects
Dedicated Artifactory Section
for Contracts
Catalog
microservice
Order
microservice
Search
microservice
Lessons Learnt
1 S I N G L E S O U R C E O F T R U T H F O R A L L M I C R O S E R V I C E S
2
3
4
A R C H I T E C T S G O V E R N A C T I V I T Y V I A N F R S
A R C H I T E C T S O W N S R E P O S
N E E D S A C H A N N E L O F S C H E M A U P DAT E N O T I F I C AT I O N S
Microservices
Naming and Versioning
Naming Strategy
my.little.pony
Entire System Domain Sub Domain
Microservice
Microservice
Microservice
Versioning Strategy
Microservice
Order
Endpoint
Microservice
OrderExtendedSchema
Non Backward
Compatible Endpoint
Lessons Learnt
1 S I M P L E B U T I M P O R TA N T O T H E R W I S E TO TA L M E S S
5
2
3
4
A R C H I T E C T S T R A C K A L L N E W R E P O & M I C R O S E R V I C E S
A LWAY S L AT E S T I S S I M P L E B U T M U C H D U P L I C AT I O N
S T I L L U S E V E R S I O N S F O R S H A R E D T E M P L AT E S / L I B S
H A R D TO I N V E N T N E W N A M E S
24/7 support
24/7 support
Boss
Amazon CloudWatch
OpsGenie
27
Lessons Learnt
1 H A R D TO E S TA B L I S H T H E P R O C E S S
2
3
C O D E Q UA L I T Y B E C O M E S M U C H B E T T E R
T E A M V E LO C I T Y S O M E W H AT D E C R E A S E D
4 S O M E P EO P L E R E F U S E W O R K S H I F T S
Cloud Infrastructure Cost
Infrastructure Cost Function
microservice
Amazon
S3
Amazon
RDS
Amazon
ElastiCache
Tagging in CF:
• Domain
• SubDomain
• Team
Lessons Learnt
1 TA G YO U R R E S O U R C E S
2
3
T R A C K I N F R A C O S T O F A N Y C H A N G E S
C L E A N R E S O U R C E S A U TO M AT I C A L LY
4 D E V E LO P E R S D O E S N O T U S E R E S O U R C E S E F F I C I E N T LY
Dedicated Platform Team
Cross-
Functional
Team
Platform
Team
Dedicated Platform Team
https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/
Team Team Team
…
Domain/ART
Platform Team
SA
SM
PO
On Call
Support
Lessons Learnt
1 T H E R E I S W O R K N O T F O R C R O S S F U N C T I O N A L T E A M S
2
3 D I R E C T I N VO LV E M E N T W O R K S
C R O S S F U N C T I O N A L T E A M S A R E N O T F U L LY I N D E P E N D E N T
Architecture Documentation
Architecture Documentation
• Entire Domain C&C diagram
• Microservice C&C diagrams
• Microservice interfaces & batch jobs sequence diagrams
Architecture Documentation
• Microservice cost estimations
• Dedicated project with Swagger documentation
• NFRs check lists
Lessons Learnt
1
2
3 D O C U M E N TAT I O N T E M P L AT E S M A N DATO RY
T E X T I S N O T U S E F U L , D I A G R A M S I S M O R E H E L P F U L
D I F F E R E N T D O C U M E N TAT I O N F O R D I F F E R E N T P U R P O S E S
4 N F R S C H E C K L I S T A R E R EQ U I R E D
Testing
Microservices
Dedicated Test Projects
• Dedicated e2e tests ( nightly run )
- Positive & negative scenarios
- Cloud & OnPrem
• Dedicated Performance tests ( by demand )
- Scaling
- Resource usage
- Performance
Microservices
In Cloud
On Prem Apps
On Prem DBs
together
Lessons Learnt
1
2
3
4
P E R F O R M A N C E T E S T S A R E Q U I T E E X PA N S I V E
D E D I C AT E D A Q A T E A M M AY B E A N A N S W E R
A L L K I N D S O F T E S T S D O N ’ T F I T O N E M I C R O S E R V I C E
P E R F O R M A N C E T E S T S A R E Q U I T E T I M E C O N S U M I N G
Conclusion
Microservices Delivery Platform. Tips & Tricks

More Related Content

What's hot

Kubernetes best practices
Kubernetes best practicesKubernetes best practices
Kubernetes best practices
Bill Liu
 
Building Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech StackBuilding Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech Stack
Bret Fisher
 
Transforming Infrastructure into Code - Importing existing cloud resources u...
Transforming Infrastructure into Code  - Importing existing cloud resources u...Transforming Infrastructure into Code  - Importing existing cloud resources u...
Transforming Infrastructure into Code - Importing existing cloud resources u...
Shih Oon Liong
 
DCEU 18: High Availability with Docker Enterprise
DCEU 18: High Availability with Docker EnterpriseDCEU 18: High Availability with Docker Enterprise
DCEU 18: High Availability with Docker Enterprise
Docker, Inc.
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
daisuke awaji
 
Cloud infrastructure as code
Cloud infrastructure as codeCloud infrastructure as code
Cloud infrastructure as code
Tomasz Cholewa
 
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian AndersonWhy I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Docker, Inc.
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeAcademy
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
Docker, Inc.
 
Dev ops with smell v1.2
Dev ops with smell v1.2Dev ops with smell v1.2
Dev ops with smell v1.2
Antons Kranga
 
Docker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker storage designing a platform for persistent data
Docker storage designing a platform for persistent data
Docker, Inc.
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Roberto Hashioka
 
TIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containersTIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containers
The Incredible Automation Day
 
Drone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryDrone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / Delivery
Patrick Jahns
 
CI/CD with AWS Code Services
CI/CD with AWS Code ServicesCI/CD with AWS Code Services
CI/CD with AWS Code Services
Pulkit Gupta
 
Unlimited Staging Environments
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging Environments
Codefresh
 
Zombies in Kubernetes
Zombies in KubernetesZombies in Kubernetes
Zombies in Kubernetes
Thomas Fricke
 
DCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDCEU 18: State of the Docker Engine
DCEU 18: State of the Docker Engine
Docker, Inc.
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in Kubernetes
QAware GmbH
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content ServicesDocker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
Sujay Pillai
 

What's hot (20)

Kubernetes best practices
Kubernetes best practicesKubernetes best practices
Kubernetes best practices
 
Building Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech StackBuilding Your Docker Swarm Tech Stack
Building Your Docker Swarm Tech Stack
 
Transforming Infrastructure into Code - Importing existing cloud resources u...
Transforming Infrastructure into Code  - Importing existing cloud resources u...Transforming Infrastructure into Code  - Importing existing cloud resources u...
Transforming Infrastructure into Code - Importing existing cloud resources u...
 
DCEU 18: High Availability with Docker Enterprise
DCEU 18: High Availability with Docker EnterpriseDCEU 18: High Availability with Docker Enterprise
DCEU 18: High Availability with Docker Enterprise
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
Cloud infrastructure as code
Cloud infrastructure as codeCloud infrastructure as code
Cloud infrastructure as code
 
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian AndersonWhy I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
 
Dev ops with smell v1.2
Dev ops with smell v1.2Dev ops with smell v1.2
Dev ops with smell v1.2
 
Docker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker storage designing a platform for persistent data
Docker storage designing a platform for persistent data
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
 
TIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containersTIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containers
 
Drone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryDrone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / Delivery
 
CI/CD with AWS Code Services
CI/CD with AWS Code ServicesCI/CD with AWS Code Services
CI/CD with AWS Code Services
 
Unlimited Staging Environments
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging Environments
 
Zombies in Kubernetes
Zombies in KubernetesZombies in Kubernetes
Zombies in Kubernetes
 
DCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDCEU 18: State of the Docker Engine
DCEU 18: State of the Docker Engine
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in Kubernetes
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content ServicesDocker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
 

Similar to Microservices Delivery Platform. Tips & Tricks

Keynote - AWS Summit Milano 2018
Keynote - AWS Summit Milano 2018Keynote - AWS Summit Milano 2018
Keynote - AWS Summit Milano 2018
Amazon Web Services
 
SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019
Samuel Vandecasteele
 
talk
talktalk
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
Databricks
 
AWS re:Invent 2017 Recap - Strategy & Direction
AWS re:Invent 2017 Recap - Strategy & DirectionAWS re:Invent 2017 Recap - Strategy & Direction
AWS re:Invent 2017 Recap - Strategy & Direction
Amazon Web Services
 
Deployments in one click!
Deployments in one click!Deployments in one click!
Deployments in one click!
Manuel de la Peña Peña
 
PAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan YadavPAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan Yadav
Neotys
 
AWS re:Invent Recap 2016 Taiwan part 2
AWS re:Invent Recap 2016 Taiwan part 2AWS re:Invent Recap 2016 Taiwan part 2
AWS re:Invent Recap 2016 Taiwan part 2
Amazon Web Services
 
Scaling AI in production using PyTorch
Scaling AI in production using PyTorchScaling AI in production using PyTorch
Scaling AI in production using PyTorch
geetachauhan
 
App sec and quality london - may 2016 - v0.5
App sec and quality   london -  may 2016 - v0.5App sec and quality   london -  may 2016 - v0.5
App sec and quality london - may 2016 - v0.5
Dinis Cruz
 
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptxADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
ShikhaSrivastava820471
 
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptxADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
Shikha Srivastava
 
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
Amazon Web Services
 
Scaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlowScaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlow
Databricks
 
UNICORN PROJECT - PAGE BROCHURE
UNICORN PROJECT - PAGE BROCHUREUNICORN PROJECT - PAGE BROCHURE
UNICORN PROJECT - PAGE BROCHURE
UNICORN
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
Jessica Deen
 
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
johnpainter_id_au
 
CloudStack - Apache's best kept secret
CloudStack - Apache's best kept secretCloudStack - Apache's best kept secret
CloudStack - Apache's best kept secret
ShapeBlue
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
Satya Syam
 
SOA Latam 2015
SOA Latam 2015SOA Latam 2015
SOA Latam 2015
Domingo Suarez Torres
 

Similar to Microservices Delivery Platform. Tips & Tricks (20)

Keynote - AWS Summit Milano 2018
Keynote - AWS Summit Milano 2018Keynote - AWS Summit Milano 2018
Keynote - AWS Summit Milano 2018
 
SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019
 
talk
talktalk
talk
 
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
 
AWS re:Invent 2017 Recap - Strategy & Direction
AWS re:Invent 2017 Recap - Strategy & DirectionAWS re:Invent 2017 Recap - Strategy & Direction
AWS re:Invent 2017 Recap - Strategy & Direction
 
Deployments in one click!
Deployments in one click!Deployments in one click!
Deployments in one click!
 
PAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan YadavPAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan Yadav
 
AWS re:Invent Recap 2016 Taiwan part 2
AWS re:Invent Recap 2016 Taiwan part 2AWS re:Invent Recap 2016 Taiwan part 2
AWS re:Invent Recap 2016 Taiwan part 2
 
Scaling AI in production using PyTorch
Scaling AI in production using PyTorchScaling AI in production using PyTorch
Scaling AI in production using PyTorch
 
App sec and quality london - may 2016 - v0.5
App sec and quality   london -  may 2016 - v0.5App sec and quality   london -  may 2016 - v0.5
App sec and quality london - may 2016 - v0.5
 
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptxADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
 
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptxADDO_2022_SRE Architectural Patterns_Nov10.pptx
ADDO_2022_SRE Architectural Patterns_Nov10.pptx
 
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
Create an IoT Gateway and Establish a Data Pipeline to AWS IoT with Intel - I...
 
Scaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlowScaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlow
 
UNICORN PROJECT - PAGE BROCHURE
UNICORN PROJECT - PAGE BROCHUREUNICORN PROJECT - PAGE BROCHURE
UNICORN PROJECT - PAGE BROCHURE
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
 
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
 
CloudStack - Apache's best kept secret
CloudStack - Apache's best kept secretCloudStack - Apache's best kept secret
CloudStack - Apache's best kept secret
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
 
SOA Latam 2015
SOA Latam 2015SOA Latam 2015
SOA Latam 2015
 

Recently uploaded

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 

Recently uploaded (20)

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 

Microservices Delivery Platform. Tips & Tricks

Editor's Notes

  1. Briefly discuss about all microservices concerns shown on the slide Tell about attempts to build a microservices reference architecture and platforms then
  2. 1. Describe this case study microservices platform
  3. Let’s start talking about practices. What kind of practices I am talking about some things which can not be found in internet
  4. Many microservices with similar pipelines PoC showed we need a templates
  5. Jenkins, groovy Describe steps Continuous delivery Three AWS environments Each commit to master goes to LIVE in ~25 minutes Dozens cross-functional teams
  6. Library and utils to build pipelines Agents to collect logs and metrics Stop deployment if this is a branch
  7. JS consumes JSON JSONJAVA POJO  JFROG – consumed by JAVA
  8. Hard to find a miroservice at GitHub “Order management” is taken
  9. 1. Domain driven design
  10. Can add changes backward compatible Hard to name Always last version Simple to support changes Code duplication
  11. AWS do 24/7
  12. Talk to teams Schedule shifts ( with reward ) Create escalation rules
  13. Why we need to track costs (experiments, tests, inefficient resource usage, ELBs) Why we need to tag resources Untagged to be deleted in 5 minutes AWS gives infrastructure grouping/tag grouping. Because organizational structure does not reflect AWS resources. Some teams use AWS resources in efficient way ( too much cpu, memory, disk. The same for all three envs – serverless RDS, no HA in Dev, etc)
  14. Even with cross-functional teams we have the classic dev & ops problem.
  15. SAFe, Spotify, Cross-functional teams – BE+AQA, FE+BE+AQA, (+DBA) , (+DevOps), BIs Need of a platform team for user and roles creation, platform deployment, CI/CD and tools support Problems with the dedicated platform team OnCall support from the platform team
  16. We have MRA, PoCs.
  17. Entire domain C&C diagram shows connections between microservices, gives a high level vision (no details) C&C diagrams to understand how many new microservices we need, what microservices to change, integration points, work spread Microservice interface description Sequence diagrams for developers it means they understand steps to implement business logic, sync & async intercommunication
  18. Cost is to permanently grow. We need to estimate cost before microservice release to plan our infrastructure spending's NFRs check list to ensure a microservice is built according to microservice reference architecture It is useful to have a dedicated project with all swagger documents ( refer to sandox) for external B2B integration
  19. Tell about different type of tests and why we need them Describe envs to involve, when each of them is to start E2E involve Cloud & Prem TDD & BDD Developers write tests Each commit takes 20 minutes to release Priority queues.
  20. Problems: 1. Time consuming vs 20 minutes release cycle what to do?
  21. Microservices delivery platform is not a simple thing, I will have to build it as your scale growths. But now you know my mistakes and can your life a little easier But definitely during this year you and I will have to overcome many challenges at our way So see you next time and we will share our finding and become wiser.