SlideShare a Scribd company logo
1 of 64
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 (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 GenerationTravis Thieman
 
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.pdfVishwas N
 
Developing in production
Developing in productionDeveloping in production
Developing in productionDamien PLARD
 
Scaling Engineering with Docker
Scaling Engineering with DockerScaling Engineering with Docker
Scaling Engineering with DockerTom Leach
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1Docker, Inc.
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseJames 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 INNOCENCEDrupalCamp Kyiv
 
Containers and Why They Matter
Containers and Why They MatterContainers and Why They Matter
Containers and Why They MatterRay Lukas
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environmentsalexandru giurgiu
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️Ori Pekelman
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris Buytaert
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyondsantosh007
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: KeynoteDocker-Hanoi
 
Kautilya: Teensy beyond shell
Kautilya: Teensy beyond shellKautilya: Teensy beyond shell
Kautilya: Teensy beyond shellNikhil 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
 
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 InnocenceRobert Douglass
 
More fun using Kautilya
More fun using KautilyaMore fun using Kautilya
More fun using KautilyaNikhil 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 2019Nigel Fernandes
 
Ipqc Enterprise Architecture Summit - Melbourne 2019
Ipqc  Enterprise Architecture Summit - Melbourne 2019Ipqc  Enterprise Architecture Summit - Melbourne 2019
Ipqc Enterprise Architecture Summit - Melbourne 2019Nigel Fernandes
 
Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018Nigel 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 CloudNigel Fernandes
 
Thoughtworks Brazil, Code Quality
Thoughtworks Brazil, Code QualityThoughtworks Brazil, Code Quality
Thoughtworks Brazil, Code QualityNigel 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

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.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