SlideShare a Scribd company logo
TOWARDS A RESPONSIVE BUSINESS
The Developer Way
@nigelfds
github.com/nigelfds
@venetiabird
github.com/venetiabird
Understanding
the problems
“We make a change in one place and
somewhere, something else breaks”
“It feels like it takes
a long time to
complete what
should be a simple
thing”
“Feels like all we have done are patches, hacks
and short term tactical fixes to meet deadlines”
Part of any problem is: people & process
We’re going to focus on
the technical parts
www.laputan.org
1. Legacy Systems
2. Kitchen Sink Applications
3. Monolithic Applications
4. Complexity
We’ll talk about dealing with 4 things:
…and what we learnt along the way.
1. Legacy Systems
Strangler Pattern
Legacy systems grow arms and legs…
…because the world needs to continue
2. Kitchen Sink
Applications
Kitchen Sink
Different speeds
of evolution
Factoring systems by
Value Stream
You aren’t
going to get it
right at first go
Using WebAPI and
Areas to build
services within a
service
3. Monolithic
Applications
Eliminating batch
processes is hard
4. Complexity
“I do believe that complexity is the enemy.
Until we better understand complexity, our
chances of building better IT systems is
limited. The first thing we must understand
about complexity is that not all complexity is
equal. And the complexity on which most
people focus is probably the least complex
complexity of all.”
http://simplearchitectures.blogspot.com/2009/03/cancer-of-complexity.html
Roger Sessions
Complexity
Accidental complexity vs Planned complexity
Dealing with artifacts…
Managing Pipelines
Make it Visible!
Drilling down...
to package our apps
What’s inside the nuget
package?
Puppet manifests
Environment
Configurations as JSON
Install Script in
Powershell
Zip’ed up application
Proget to manage
the packages for the
environments
Dev Feed
Test Feed
Staging Feed
Production Feed
Push button deployment
1. Hey Bamboo,
deploy v0.1.7 to
staging
3. Hey Choclatey,
install version 10
4. Proget Staging
Feed, give me, v0.1.7
6. Unpacks the
box and
runs the install
script
2. Powershell over winRM
5. Here you go!
Staging
Server
Checks for
the correct
environment
Uses the environment
configuration with
puppet to configure the
environment
IIS configuration,
Folder permissions
etc
What’s interesting!!?
Packages shipped with ability configure their environment
Testing deployment scripts…
…with Canary packages
Guarantees at every every stage in
pipeline
Unit Testing
Integration Testing
Systems
The test pyramid.
Status Checks
5 Months +scope
9 weeks +scope
4 weeks +scope
Thank you.

More Related Content

Viewers also liked

Microservices meetup
Microservices meetupMicroservices meetup
Microservices meetup
Nigel Fernandes
 
DevOps Days Melbourne meet-up
DevOps Days Melbourne meet-upDevOps Days Melbourne meet-up
DevOps Days Melbourne meet-up
Nigel Fernandes
 
Seek test-invaders
Seek test-invadersSeek test-invaders
Seek test-invaders
Nigel Fernandes
 
Freddah M
Freddah MFreddah M
Elisabet Kinnunen OPH
Elisabet Kinnunen OPHElisabet Kinnunen OPH
Elisabet Kinnunen OPH
Verkkosemma
 
Markku Rimpela OPH
Markku Rimpela OPHMarkku Rimpela OPH
Markku Rimpela OPH
Verkkosemma
 
Jari Halonen WSOY
Jari Halonen WSOYJari Halonen WSOY
Jari Halonen WSOY
Verkkosemma
 
Keep Your Money For Life
Keep Your Money For LifeKeep Your Money For Life
Keep Your Money For Life
Mestizo Media Group, Inc
 
HAPPY_BIRTHDAY_MOM
HAPPY_BIRTHDAY_MOMHAPPY_BIRTHDAY_MOM
HAPPY_BIRTHDAY_MOM
Mestizo Media Group, Inc
 
Opetus Time
Opetus TimeOpetus Time
Opetus Time
Verkkosemma
 
My career lessons - for Monash Students at Battle of the Brains 215
My career lessons - for Monash Students at Battle of the Brains 215My career lessons - for Monash Students at Battle of the Brains 215
My career lessons - for Monash Students at Battle of the Brains 215
Nigel Fernandes
 
Olli Luukkainen OAJ
Olli Luukkainen OAJOlli Luukkainen OAJ
Olli Luukkainen OAJ
Verkkosemma
 
Lessons learnt the hard way.
Lessons learnt the hard way.Lessons learnt the hard way.
Lessons learnt the hard way.
Nigel Fernandes
 
Lean Programmer Anarchy
Lean Programmer Anarchy Lean Programmer Anarchy
Lean Programmer Anarchy
Nigel Fernandes
 
LAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous DeliveryLAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous Delivery
Nigel Fernandes
 
Continuous Delivery in the AWS Cloud
Continuous Delivery in the AWS CloudContinuous Delivery in the AWS Cloud
Continuous Delivery in the AWS Cloud
Nigel Fernandes
 

Viewers also liked (20)

Microservices meetup
Microservices meetupMicroservices meetup
Microservices meetup
 
DevOps Days Melbourne meet-up
DevOps Days Melbourne meet-upDevOps Days Melbourne meet-up
DevOps Days Melbourne meet-up
 
Seek test-invaders
Seek test-invadersSeek test-invaders
Seek test-invaders
 
Phoffa
PhoffaPhoffa
Phoffa
 
Nte
NteNte
Nte
 
Freddah M
Freddah MFreddah M
Freddah M
 
Elisabet Kinnunen OPH
Elisabet Kinnunen OPHElisabet Kinnunen OPH
Elisabet Kinnunen OPH
 
COMTECH
COMTECHCOMTECH
COMTECH
 
Markku Rimpela OPH
Markku Rimpela OPHMarkku Rimpela OPH
Markku Rimpela OPH
 
Jari Halonen WSOY
Jari Halonen WSOYJari Halonen WSOY
Jari Halonen WSOY
 
Keep Your Money For Life
Keep Your Money For LifeKeep Your Money For Life
Keep Your Money For Life
 
HAPPY_BIRTHDAY_MOM
HAPPY_BIRTHDAY_MOMHAPPY_BIRTHDAY_MOM
HAPPY_BIRTHDAY_MOM
 
Numbers 1 20
Numbers 1 20Numbers 1 20
Numbers 1 20
 
Opetus Time
Opetus TimeOpetus Time
Opetus Time
 
My career lessons - for Monash Students at Battle of the Brains 215
My career lessons - for Monash Students at Battle of the Brains 215My career lessons - for Monash Students at Battle of the Brains 215
My career lessons - for Monash Students at Battle of the Brains 215
 
Olli Luukkainen OAJ
Olli Luukkainen OAJOlli Luukkainen OAJ
Olli Luukkainen OAJ
 
Lessons learnt the hard way.
Lessons learnt the hard way.Lessons learnt the hard way.
Lessons learnt the hard way.
 
Lean Programmer Anarchy
Lean Programmer Anarchy Lean Programmer Anarchy
Lean Programmer Anarchy
 
LAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous DeliveryLAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous Delivery
 
Continuous Delivery in the AWS Cloud
Continuous Delivery in the AWS CloudContinuous Delivery in the AWS Cloud
Continuous Delivery in the AWS Cloud
 

Similar to Towards a responsive business, the developer way

Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next Generation
Travis Thieman
 
Docker all the way
Docker all the wayDocker all the way
Docker all the way
Johan Vergeer
 
DevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdfDevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdf
Vishwas N
 
Developing in production
Developing in productionDeveloping in production
Developing in production
Damien PLARD
 
Micro services
Micro servicesMicro services
Micro services
Alex Punnen
 
Scaling Engineering with Docker
Scaling Engineering with DockerScaling Engineering with Docker
Scaling Engineering with Docker
Tom Leach
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
Docker, Inc.
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the Enterprise
James Wickett
 
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCEDEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DrupalCamp Kyiv
 
Containers and Why They Matter
Containers and Why They MatterContainers and Why They Matter
Containers and Why They Matter
Ray Lukas
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
alexandru giurgiu
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️
Ori Pekelman
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
Kris Buytaert
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyondsantosh007
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
Docker-Hanoi
 
Kautilya: Teensy beyond shell
Kautilya: Teensy beyond shellKautilya: Teensy beyond shell
Kautilya: Teensy beyond shell
Nikhil Mittal
 
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
Cohesive Networks
 
Is Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic GascIs Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic Gasc
Pôle Systematic Paris-Region
 
DevOps and the Death & Rebirth of Childhood Innocence
DevOps and the Death & Rebirth of Childhood InnocenceDevOps and the Death & Rebirth of Childhood Innocence
DevOps and the Death & Rebirth of Childhood Innocence
Robert Douglass
 
More fun using Kautilya
More fun using KautilyaMore fun using Kautilya
More fun using Kautilya
Nikhil Mittal
 

Similar to Towards a responsive business, the developer way (20)

Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next Generation
 
Docker all the way
Docker all the wayDocker all the way
Docker all the way
 
DevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdfDevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdf
 
Developing in production
Developing in productionDeveloping in production
Developing in production
 
Micro services
Micro servicesMicro services
Micro services
 
Scaling Engineering with Docker
Scaling Engineering with DockerScaling Engineering with Docker
Scaling Engineering with Docker
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the Enterprise
 
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCEDEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
 
Containers and Why They Matter
Containers and Why They MatterContainers and Why They Matter
Containers and Why They Matter
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
Kautilya: Teensy beyond shell
Kautilya: Teensy beyond shellKautilya: Teensy beyond shell
Kautilya: Teensy beyond shell
 
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
 
Is Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic GascIs Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic Gasc
 
DevOps and the Death & Rebirth of Childhood Innocence
DevOps and the Death & Rebirth of Childhood InnocenceDevOps and the Death & Rebirth of Childhood Innocence
DevOps and the Death & Rebirth of Childhood Innocence
 
More fun using Kautilya
More fun using KautilyaMore fun using Kautilya
More fun using Kautilya
 

More from Nigel Fernandes

Digital Transformation Summit - Melbourne 2019
Digital Transformation Summit - Melbourne 2019Digital Transformation Summit - Melbourne 2019
Digital Transformation Summit - Melbourne 2019
Nigel Fernandes
 
Ipqc Enterprise Architecture Summit - Melbourne 2019
Ipqc  Enterprise Architecture Summit - Melbourne 2019Ipqc  Enterprise Architecture Summit - Melbourne 2019
Ipqc Enterprise Architecture Summit - Melbourne 2019
Nigel Fernandes
 
Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018
Nigel Fernandes
 
Looking at your Technology company through the "3 Horizons of growth" model.
Looking at your Technology company through the "3 Horizons of growth" model. Looking at your Technology company through the "3 Horizons of growth" model.
Looking at your Technology company through the "3 Horizons of growth" model.
Nigel Fernandes
 
Continuous Delivery and the Cloud
Continuous Delivery and the CloudContinuous Delivery and the Cloud
Continuous Delivery and the Cloud
Nigel Fernandes
 
RubyConf Uruguay 2011
RubyConf Uruguay 2011RubyConf Uruguay 2011
RubyConf Uruguay 2011
Nigel Fernandes
 
Thoughtworks Brazil, Code Quality
Thoughtworks Brazil, Code QualityThoughtworks Brazil, Code Quality
Thoughtworks Brazil, Code Quality
Nigel Fernandes
 
RubyConf Brazil 2011
RubyConf Brazil 2011RubyConf Brazil 2011
RubyConf Brazil 2011
Nigel Fernandes
 
Test Engineering
Test EngineeringTest Engineering
Test Engineering
Nigel Fernandes
 

More from Nigel Fernandes (9)

Digital Transformation Summit - Melbourne 2019
Digital Transformation Summit - Melbourne 2019Digital Transformation Summit - Melbourne 2019
Digital Transformation Summit - Melbourne 2019
 
Ipqc Enterprise Architecture Summit - Melbourne 2019
Ipqc  Enterprise Architecture Summit - Melbourne 2019Ipqc  Enterprise Architecture Summit - Melbourne 2019
Ipqc Enterprise Architecture Summit - Melbourne 2019
 
Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018
 
Looking at your Technology company through the "3 Horizons of growth" model.
Looking at your Technology company through the "3 Horizons of growth" model. Looking at your Technology company through the "3 Horizons of growth" model.
Looking at your Technology company through the "3 Horizons of growth" model.
 
Continuous Delivery and the Cloud
Continuous Delivery and the CloudContinuous Delivery and the Cloud
Continuous Delivery and the Cloud
 
RubyConf Uruguay 2011
RubyConf Uruguay 2011RubyConf Uruguay 2011
RubyConf Uruguay 2011
 
Thoughtworks Brazil, Code Quality
Thoughtworks Brazil, Code QualityThoughtworks Brazil, Code Quality
Thoughtworks Brazil, Code Quality
 
RubyConf Brazil 2011
RubyConf Brazil 2011RubyConf Brazil 2011
RubyConf Brazil 2011
 
Test Engineering
Test EngineeringTest Engineering
Test Engineering
 

Recently uploaded

Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 

Recently uploaded (20)

Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 

Towards a responsive business, the developer way

Editor's Notes

  1. Legacy systems tend to be organic meaning they are used so difficult to not add new features
  2. Rather than trying to get the right decision now, look for a way to either put off the decision until later (when you'll have more information) or make the decision in such a way that you'll be able to reverse it later on without too much difficulty.
  3. Typical pipeline and tasks
  4. Once the compile has completed, and the test have passed we use Nuget to create a package.
  5. The CI server/Bamboo publishes the packages to Proget.Proget is the tool we used to host our packages for each environment (DEV, TEST, STAGE, PROD)
  6. Request / trigger to deploy2. Our CI server (Bamboo) runs Powershell script over winrm session to the target machine to tell chocatelycmd to go and install a particular version of the application (package name and version3. A choclatelycmd on the target env (say Development) makes a request to the proget server requesting the version of the application4. Proget responds and the application is downloaded 5. The choclatelycmd unpacks the downloaded packages and runs the install script.
  7. Checks its on the right target envFinds envconfig, thenUses envconfig with puppet manifest to configure the envThings like iis, folder permission, copies files and whatever else it needs to doHas everything it needs to install itself onto the environment
  8. The shipped package has everything it needs in order to install itself on the environment. Single application per server.
  9. Tested the deployment scripts by:Creating a dummy packagingKinda like the canary testing for gas down a mineshaftCreated orchestration project to test our deployment scripts.By creating a dummy package and then using our deployment scripts to get this package through all the environments
  10. Testing means different things to different people in different contexts:Context of pipeline, in order to get to the next stage of the pipeline, a suite of tests need to be satisfied.For example:After checkout and compilation  ran unit and integration tests
  11. Testing of a single class
  12. Class would call out to say a repository -> testing the integration worked between those parts of the system. Testing classes interacting with soap end-points.
  13. TEST tests or black box testing, where we test different parts of the application are working together as they should. (IIS Express for example)After deployed to target env (DEV)Finally UI acceptance tests, which is testing how different applications and systems are interacting to complete user journeys in the Value Stream. Represents direct business value. i.e sponsoring a child
  14. Timing & costLots of unit tests  fast, cheap easy to maintainService  integration / black box testsMinimal UI acceptance tests  most expensive, slowest and brittle
  15. So how do we know if all this effort is working.. Are we becoming more responsive..
  16. Release cadence