SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
November	15,	2016
Continuous Delivery Pipeline –
Patterns and Anti-patterns
Juni	Mukherjee (@JuniTweets)	
Consultant,	CI/CD,	LifeLock
(Views	are	my	own.)
November	15,	2016
November	15,	2016
November	15,	2016
Domain-driven Design (DDD) for Continuous Delivery
Thank	you	Eric	Evans	for	DDD!	
Entity :		Defined	by	ID,	not	attributes Value	Object :	Defined	by	attributes,	no	ID
Aggregate	:	Collection	of	objects	 Domain	:	Sphere	of	activity	and	influence
Model	:	System	of	abstractions Domain	Event	:	Domain	experts	care	for
Ubiquitous Language :	Shared	language Domain	Services	:	Shared	functionality
Connect	the	implementation	to	an	evolving domain	model
Continuous	Delivery	is	a	journey,	not	a	destination.
November	15,	2016
Domain Model Integrity – Bounded Context, Context Map
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Fragmentation, Blurred Edges, Bounded Context, Context Map
© 2016 CloudBees, Inc. All Rights Reserved
Node,	
Java,	
iOS,
Android,
Database,
::::::
::::
November	15,	2016
Domain Model Integrity – Ubiquitous Language
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Ubiquitous Language – [Soft | Hard | Firm]ware, Embedded, IoT
Component
The	smallest	distributable	and	
testable	unit
Unit,	SCA	– Linter,	SCA	– Security	
Vulnerabilities
Modules,	Libraries
Subsystem
The	smallest	deployable	and	
runnable	unit
Functional	(Security,
I18N,	L10N,	…),	Performance
JAR	|	IPA	|		APK	|	Emulators		|	
Simulators	…
System
Loosely	coupled	subsystems
Integration	(Interfaces,	
Network),	Performance
JAR	&	IPA	&	APK	&	Real	Devices	
&	Accessories	…
Rate of Change, Supply Chain
November	15,	2016
Domain Model Integrity – Continuous Integration
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Continuous Integration, Continuous Delivery, Value Stream Map
Product :	System	Under	Test	(SUT) Configuration :	Application,	Environment
Test :	Unit,	Static,	Functional,	Integration,	Perf Infrastructure,	Platform:	Infra-As-Code,	*aaS
Pipeline-As-Code :	Dockerized Jenkins	2.0,	Jenkinsfile (Process-As-Code),	Shared	Kernel	(Utils.groovy,	Libs)	
VSM:	Automate	ONLY	the	value-adding	steps.	Discard	the	rest.
November	15,	2016
MVP - Continuous Delivery Pipeline, Slice over Dice
© 2016 CloudBees, Inc. All Rights Reserved
Product	Slice	:	System	Under	Test	(SUT) Configuration	Slice	:	Application,	Environment
Test	Slice	:	Unit,	Static,	Functional,	Int,	Perf Infrastructure,	Platform:	Infra-As-Code,	*aaS
Pipeline-As-Code :	Dockerized Jenkins	2.0,	Jenkinsfile (Process-As-Code),	Shared	Kernel	(Utils.groovy)
November	15,	2016
Domain Model Integrity – Big Ball of Mud (And Tests Too?)
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Pipeline – Graph – Tightly Coupled Product Architecture
November	15,	2016
Domain Model Integrity – Separate Ways
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Pipeline – Linear – Independently Deployable Artifact
November	15,	2016
Death by a thousand test-types!
… And by a thousand environments!
November	15,	2016
Domain Model Integrity – Customer/Supplier Teams
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Customer Supplier - Pipeline Design Pattern
November	15,	2016
Domain Model Integrity - Conformist
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Conformist – Pipeline Design Pattern
November	15,	2016
Domain Model Integrity – Shared Kernel, Anti-corruption Layer
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Shared Kernel, Anticorruption Layer
Domain Services,
Services Architecture,
Cloudy with a chance of
sharp interfaces
Network Latency,
Circuit Breaker
November	15,	2016
Pipeline-as-a-service: Scrum Teams sign a contract!
1. Process	drives	Architecture.	Process	drives	tools.
2. Pipeline	is	a	product,	based	off	the	Services	Architecture.	
3. The	suite	of	polyglot	Domain	Services,	with	sharp	interfaces,	could	be	developed	
by	anyone	in	the	organization,	based	off	protocol.
4. Exact	interfaces	should	declare	exact	intent.	Should	maintain	existing	interfaces	so	
that	customers	don’t	experience	service	disruption.	
5. Segregation/Separation	of	duties is	the	concept	of	having	more	than	one	person	
required	to	complete	a	task.	It	is	an	internal	control	intended	to	prevent	fraud	and	
error.	It	does	NOT	mean	Human	Being	A	does	not	trust	Human	Being	B	and	hence	
starts	a	new	department	of	clicking	buttons.	
6. Should	enable	Pipeline	customers	to	make	choices,	so	that	Scrum	Teams	could	
control	their	own	destiny.
Scrum Teams control their own destiny
November	15,	2016
Domain Model Integrity – Published Language
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
Published Language – DSL, It’s groovy!, 1-800-Plumber
Unmanageable	string	of	jobs	you’ve	become,
Pipeline	you	must	be,
Declarative,	versioned	and	ephemeral	become	you	must,
Or	the	dark	side	won’t	set	you	free.
Pipeline	analytics	report	you	must,
In	the	groove	you	must	get,
Make	happy	our	engineers	you	must,
Don’t	make	them	fret.
Jenkinsfile /	Jenkins	2.0
node ("${AGENT}") { }
stage ‘deploy’	
timeout (time:2,	unit:'DAYS')	
{input message:	’Proceed?”,	submitter:	
’Operations’}
stage ‘functional,	performance,	security	test’	
parallel (	parallel_task_stage_sauce :	{
},	parallel_task_stage_blazemeter :	{
},	parallel_task_stage_appspider :	{		})
try	{}	
catch	(InterruptedException x)	{	slackSend color:	'#008000',	
message:	””	}
November	15,	2016
Domain Model Integrity - Flying colors!
© 2016 CloudBees, Inc. All Rights Reserved
November	15,	2016
KPIs – Show Me the Money!
What can be measured, can be fixed!
November	15,	2016
On Closing : Conway’s Law, Maya Angelou’s Human Family
“Organizations which design systems ... are constrained to produce
designs which are copies of the communication
structures of these
organizations.”
Melvin Conway
“I note the obvious
differences between
each sort and type,
We are more alike,
my friends, than we
are unalike.”
Maya Angelou
November	15,	2016
Thank you AllDayDevOps,
Community, Sponsors and
Supporters!
Juni	Mukherjee (@JuniTweets)

Contenu connexe

En vedette

Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Improving software quality using Continuous Integration
Improving software quality using Continuous IntegrationImproving software quality using Continuous Integration
Improving software quality using Continuous IntegrationWouter Konecny
 
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...CA Technologies
 
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Amazon Web Services
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...Puppet
 
Agile Release Planning
Agile Release PlanningAgile Release Planning
Agile Release PlanningAdnan Aziz
 

En vedette (8)

Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Improving software quality using Continuous Integration
Improving software quality using Continuous IntegrationImproving software quality using Continuous Integration
Improving software quality using Continuous Integration
 
Continuous Delivery e-book
Continuous Delivery e-bookContinuous Delivery e-book
Continuous Delivery e-book
 
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
 
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
 
Agile Release Planning
Agile Release PlanningAgile Release Planning
Agile Release Planning
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 

Similaire à Continuous Delivery Pipeline - Patterns and Anti-patterns

Adobe vs. Sketch
Adobe vs. SketchAdobe vs. Sketch
Adobe vs. SketchRob Musser
 
APIdays 2016 - The State of Web API Languages
APIdays 2016  - The State of Web API LanguagesAPIdays 2016  - The State of Web API Languages
APIdays 2016 - The State of Web API LanguagesRestlet
 
Choosing a Cloud Provider: Public-Private-Hybrid
Choosing a Cloud Provider: Public-Private-HybridChoosing a Cloud Provider: Public-Private-Hybrid
Choosing a Cloud Provider: Public-Private-HybridRobert Starmer
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersCA Technologies
 
Bridging Microservices, APIs and Integration
Bridging Microservices, APIs and IntegrationBridging Microservices, APIs and Integration
Bridging Microservices, APIs and IntegrationKasun Indrasiri
 
Introduction to Developing for Mobile with AWS
Introduction to Developing for Mobile with AWSIntroduction to Developing for Mobile with AWS
Introduction to Developing for Mobile with AWSAmazon Web Services
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationLahav Savir
 
Introduction to Development for Mobile with AWS
Introduction to Development for Mobile with AWSIntroduction to Development for Mobile with AWS
Introduction to Development for Mobile with AWSAmazon Web Services
 
AWS Initiate Day Manchester 2019 – AWS Breaking Down the Monoliths
AWS Initiate Day Manchester 2019 – AWS Breaking Down the MonolithsAWS Initiate Day Manchester 2019 – AWS Breaking Down the Monoliths
AWS Initiate Day Manchester 2019 – AWS Breaking Down the MonolithsAmazon Web Services
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016Amazon Web Services
 
Building Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWSBuilding Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWSAmazon Web Services
 
Enterprise Applications, Microservices and SAP HANA Cloud Platform
Enterprise Applications, Microservices and SAP HANA Cloud PlatformEnterprise Applications, Microservices and SAP HANA Cloud Platform
Enterprise Applications, Microservices and SAP HANA Cloud Platformmsg systems Romania
 
IMMERSE 2016 IST Mark Szulc Keynote
IMMERSE 2016 IST Mark Szulc KeynoteIMMERSE 2016 IST Mark Szulc Keynote
IMMERSE 2016 IST Mark Szulc KeynoteAdobeMarketingCloud
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17Phil Wilkins
 
How to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndHow to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndLahav Savir
 
Responsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User ExperienceResponsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User ExperiencePerfecto by Perforce
 
Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs VMware Tanzu
 

Similaire à Continuous Delivery Pipeline - Patterns and Anti-patterns (20)

Adobe vs. Sketch
Adobe vs. SketchAdobe vs. Sketch
Adobe vs. Sketch
 
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
APIdays 2016 - The State of Web API Languages
APIdays 2016  - The State of Web API LanguagesAPIdays 2016  - The State of Web API Languages
APIdays 2016 - The State of Web API Languages
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Choosing a Cloud Provider: Public-Private-Hybrid
Choosing a Cloud Provider: Public-Private-HybridChoosing a Cloud Provider: Public-Private-Hybrid
Choosing a Cloud Provider: Public-Private-Hybrid
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for Developers
 
Bridging Microservices, APIs and Integration
Bridging Microservices, APIs and IntegrationBridging Microservices, APIs and Integration
Bridging Microservices, APIs and Integration
 
Clouds in 2016
Clouds in 2016Clouds in 2016
Clouds in 2016
 
Introduction to Developing for Mobile with AWS
Introduction to Developing for Mobile with AWSIntroduction to Developing for Mobile with AWS
Introduction to Developing for Mobile with AWS
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentation
 
Introduction to Development for Mobile with AWS
Introduction to Development for Mobile with AWSIntroduction to Development for Mobile with AWS
Introduction to Development for Mobile with AWS
 
AWS Initiate Day Manchester 2019 – AWS Breaking Down the Monoliths
AWS Initiate Day Manchester 2019 – AWS Breaking Down the MonolithsAWS Initiate Day Manchester 2019 – AWS Breaking Down the Monoliths
AWS Initiate Day Manchester 2019 – AWS Breaking Down the Monoliths
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
 
Building Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWSBuilding Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWS
 
Enterprise Applications, Microservices and SAP HANA Cloud Platform
Enterprise Applications, Microservices and SAP HANA Cloud PlatformEnterprise Applications, Microservices and SAP HANA Cloud Platform
Enterprise Applications, Microservices and SAP HANA Cloud Platform
 
IMMERSE 2016 IST Mark Szulc Keynote
IMMERSE 2016 IST Mark Szulc KeynoteIMMERSE 2016 IST Mark Szulc Keynote
IMMERSE 2016 IST Mark Szulc Keynote
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
How to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndHow to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-End
 
Responsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User ExperienceResponsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User Experience
 
Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs
 

Plus de Sonatype

DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019Sonatype
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference ArchitecturesSonatype
 
RSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all EquifaxRSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all EquifaxSonatype
 
DevSecOps reference architectures 2018
DevSecOps reference architectures 2018DevSecOps reference architectures 2018
DevSecOps reference architectures 2018Sonatype
 
30+ Nexus Integrations to Accelerate DevOps
30+ Nexus Integrations to Accelerate DevOps30+ Nexus Integrations to Accelerate DevOps
30+ Nexus Integrations to Accelerate DevOpsSonatype
 
2017 DevSecOps Survey
2017 DevSecOps Survey2017 DevSecOps Survey
2017 DevSecOps SurveySonatype
 
Starting and Scaling DevOps In the Enterprise
Starting and Scaling DevOps In the EnterpriseStarting and Scaling DevOps In the Enterprise
Starting and Scaling DevOps In the EnterpriseSonatype
 
DevOps Friendly Doc Publishing for APIs & Microservices
DevOps Friendly Doc Publishing for APIs & MicroservicesDevOps Friendly Doc Publishing for APIs & Microservices
DevOps Friendly Doc Publishing for APIs & MicroservicesSonatype
 
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason HandThe Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason HandSonatype
 
DevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen BealDevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen BealSonatype
 
Serverless and the Way Forward
Serverless and the Way ForwardServerless and the Way Forward
Serverless and the Way ForwardSonatype
 
A Small Association's Journey to DevOps w/ Edward Ruiz
A Small Association's Journey to DevOps w/ Edward RuizA Small Association's Journey to DevOps w/ Edward Ruiz
A Small Association's Journey to DevOps w/ Edward RuizSonatype
 
What's My Security Policy Doing to My Help Desk w/ Chris Swan
What's My Security Policy Doing to My Help Desk w/ Chris SwanWhat's My Security Policy Doing to My Help Desk w/ Chris Swan
What's My Security Policy Doing to My Help Desk w/ Chris SwanSonatype
 
Characterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-ors
Characterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-orsCharacterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-ors
Characterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-orsSonatype
 
Static Analysis For Security and DevOps Happiness w/ Justin Collins
Static Analysis For Security and DevOps Happiness w/ Justin CollinsStatic Analysis For Security and DevOps Happiness w/ Justin Collins
Static Analysis For Security and DevOps Happiness w/ Justin CollinsSonatype
 
Automated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSSAutomated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSSSonatype
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using AnsibleSonatype
 
There is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless ArchitectureThere is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless ArchitectureSonatype
 
Getting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with JenkinsGetting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with JenkinsSonatype
 
Modern Infrastructure Automation
Modern Infrastructure AutomationModern Infrastructure Automation
Modern Infrastructure AutomationSonatype
 

Plus de Sonatype (20)

DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019
 
2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference Architectures
 
RSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all EquifaxRSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all Equifax
 
DevSecOps reference architectures 2018
DevSecOps reference architectures 2018DevSecOps reference architectures 2018
DevSecOps reference architectures 2018
 
30+ Nexus Integrations to Accelerate DevOps
30+ Nexus Integrations to Accelerate DevOps30+ Nexus Integrations to Accelerate DevOps
30+ Nexus Integrations to Accelerate DevOps
 
2017 DevSecOps Survey
2017 DevSecOps Survey2017 DevSecOps Survey
2017 DevSecOps Survey
 
Starting and Scaling DevOps In the Enterprise
Starting and Scaling DevOps In the EnterpriseStarting and Scaling DevOps In the Enterprise
Starting and Scaling DevOps In the Enterprise
 
DevOps Friendly Doc Publishing for APIs & Microservices
DevOps Friendly Doc Publishing for APIs & MicroservicesDevOps Friendly Doc Publishing for APIs & Microservices
DevOps Friendly Doc Publishing for APIs & Microservices
 
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason HandThe Unrealized Role of Monitoring & Alerting w/ Jason Hand
The Unrealized Role of Monitoring & Alerting w/ Jason Hand
 
DevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen BealDevOps and All the Continuouses w/ Helen Beal
DevOps and All the Continuouses w/ Helen Beal
 
Serverless and the Way Forward
Serverless and the Way ForwardServerless and the Way Forward
Serverless and the Way Forward
 
A Small Association's Journey to DevOps w/ Edward Ruiz
A Small Association's Journey to DevOps w/ Edward RuizA Small Association's Journey to DevOps w/ Edward Ruiz
A Small Association's Journey to DevOps w/ Edward Ruiz
 
What's My Security Policy Doing to My Help Desk w/ Chris Swan
What's My Security Policy Doing to My Help Desk w/ Chris SwanWhat's My Security Policy Doing to My Help Desk w/ Chris Swan
What's My Security Policy Doing to My Help Desk w/ Chris Swan
 
Characterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-ors
Characterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-orsCharacterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-ors
Characterizing and Contrasting Kuhn-tey-ner Awr-kuh-streyt-ors
 
Static Analysis For Security and DevOps Happiness w/ Justin Collins
Static Analysis For Security and DevOps Happiness w/ Justin CollinsStatic Analysis For Security and DevOps Happiness w/ Justin Collins
Static Analysis For Security and DevOps Happiness w/ Justin Collins
 
Automated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSSAutomated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSS
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using Ansible
 
There is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless ArchitectureThere is No Server: Immutable Infrastructure and Serverless Architecture
There is No Server: Immutable Infrastructure and Serverless Architecture
 
Getting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with JenkinsGetting out of the Job Jungle with Jenkins
Getting out of the Job Jungle with Jenkins
 
Modern Infrastructure Automation
Modern Infrastructure AutomationModern Infrastructure Automation
Modern Infrastructure Automation
 

Dernier

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 

Dernier (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

Continuous Delivery Pipeline - Patterns and Anti-patterns

  • 1. November 15, 2016 Continuous Delivery Pipeline – Patterns and Anti-patterns Juni Mukherjee (@JuniTweets) Consultant, CI/CD, LifeLock (Views are my own.)
  • 4. November 15, 2016 Domain-driven Design (DDD) for Continuous Delivery Thank you Eric Evans for DDD! Entity : Defined by ID, not attributes Value Object : Defined by attributes, no ID Aggregate : Collection of objects Domain : Sphere of activity and influence Model : System of abstractions Domain Event : Domain experts care for Ubiquitous Language : Shared language Domain Services : Shared functionality Connect the implementation to an evolving domain model Continuous Delivery is a journey, not a destination.
  • 5. November 15, 2016 Domain Model Integrity – Bounded Context, Context Map © 2016 CloudBees, Inc. All Rights Reserved
  • 6. November 15, 2016 Fragmentation, Blurred Edges, Bounded Context, Context Map © 2016 CloudBees, Inc. All Rights Reserved Node, Java, iOS, Android, Database, :::::: ::::
  • 7. November 15, 2016 Domain Model Integrity – Ubiquitous Language © 2016 CloudBees, Inc. All Rights Reserved
  • 8. November 15, 2016 Ubiquitous Language – [Soft | Hard | Firm]ware, Embedded, IoT Component The smallest distributable and testable unit Unit, SCA – Linter, SCA – Security Vulnerabilities Modules, Libraries Subsystem The smallest deployable and runnable unit Functional (Security, I18N, L10N, …), Performance JAR | IPA | APK | Emulators | Simulators … System Loosely coupled subsystems Integration (Interfaces, Network), Performance JAR & IPA & APK & Real Devices & Accessories … Rate of Change, Supply Chain
  • 9. November 15, 2016 Domain Model Integrity – Continuous Integration © 2016 CloudBees, Inc. All Rights Reserved
  • 10. November 15, 2016 Continuous Integration, Continuous Delivery, Value Stream Map Product : System Under Test (SUT) Configuration : Application, Environment Test : Unit, Static, Functional, Integration, Perf Infrastructure, Platform: Infra-As-Code, *aaS Pipeline-As-Code : Dockerized Jenkins 2.0, Jenkinsfile (Process-As-Code), Shared Kernel (Utils.groovy, Libs) VSM: Automate ONLY the value-adding steps. Discard the rest.
  • 11. November 15, 2016 MVP - Continuous Delivery Pipeline, Slice over Dice © 2016 CloudBees, Inc. All Rights Reserved Product Slice : System Under Test (SUT) Configuration Slice : Application, Environment Test Slice : Unit, Static, Functional, Int, Perf Infrastructure, Platform: Infra-As-Code, *aaS Pipeline-As-Code : Dockerized Jenkins 2.0, Jenkinsfile (Process-As-Code), Shared Kernel (Utils.groovy)
  • 12. November 15, 2016 Domain Model Integrity – Big Ball of Mud (And Tests Too?) © 2016 CloudBees, Inc. All Rights Reserved
  • 13. November 15, 2016 Pipeline – Graph – Tightly Coupled Product Architecture
  • 14. November 15, 2016 Domain Model Integrity – Separate Ways © 2016 CloudBees, Inc. All Rights Reserved
  • 15. November 15, 2016 Pipeline – Linear – Independently Deployable Artifact
  • 16. November 15, 2016 Death by a thousand test-types! … And by a thousand environments!
  • 17. November 15, 2016 Domain Model Integrity – Customer/Supplier Teams © 2016 CloudBees, Inc. All Rights Reserved
  • 18. November 15, 2016 Customer Supplier - Pipeline Design Pattern
  • 19. November 15, 2016 Domain Model Integrity - Conformist © 2016 CloudBees, Inc. All Rights Reserved
  • 21. November 15, 2016 Domain Model Integrity – Shared Kernel, Anti-corruption Layer © 2016 CloudBees, Inc. All Rights Reserved
  • 22. November 15, 2016 Shared Kernel, Anticorruption Layer Domain Services, Services Architecture, Cloudy with a chance of sharp interfaces Network Latency, Circuit Breaker
  • 23. November 15, 2016 Pipeline-as-a-service: Scrum Teams sign a contract! 1. Process drives Architecture. Process drives tools. 2. Pipeline is a product, based off the Services Architecture. 3. The suite of polyglot Domain Services, with sharp interfaces, could be developed by anyone in the organization, based off protocol. 4. Exact interfaces should declare exact intent. Should maintain existing interfaces so that customers don’t experience service disruption. 5. Segregation/Separation of duties is the concept of having more than one person required to complete a task. It is an internal control intended to prevent fraud and error. It does NOT mean Human Being A does not trust Human Being B and hence starts a new department of clicking buttons. 6. Should enable Pipeline customers to make choices, so that Scrum Teams could control their own destiny. Scrum Teams control their own destiny
  • 24. November 15, 2016 Domain Model Integrity – Published Language © 2016 CloudBees, Inc. All Rights Reserved
  • 25. November 15, 2016 Published Language – DSL, It’s groovy!, 1-800-Plumber Unmanageable string of jobs you’ve become, Pipeline you must be, Declarative, versioned and ephemeral become you must, Or the dark side won’t set you free. Pipeline analytics report you must, In the groove you must get, Make happy our engineers you must, Don’t make them fret. Jenkinsfile / Jenkins 2.0 node ("${AGENT}") { } stage ‘deploy’ timeout (time:2, unit:'DAYS') {input message: ’Proceed?”, submitter: ’Operations’} stage ‘functional, performance, security test’ parallel ( parallel_task_stage_sauce : { }, parallel_task_stage_blazemeter : { }, parallel_task_stage_appspider : { }) try {} catch (InterruptedException x) { slackSend color: '#008000', message: ”” }
  • 26. November 15, 2016 Domain Model Integrity - Flying colors! © 2016 CloudBees, Inc. All Rights Reserved
  • 27. November 15, 2016 KPIs – Show Me the Money! What can be measured, can be fixed!
  • 28. November 15, 2016 On Closing : Conway’s Law, Maya Angelou’s Human Family “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.” Melvin Conway “I note the obvious differences between each sort and type, We are more alike, my friends, than we are unalike.” Maya Angelou
  • 29. November 15, 2016 Thank you AllDayDevOps, Community, Sponsors and Supporters! Juni Mukherjee (@JuniTweets)