Towards a Responsive Business
-
Upload
venetia-bird -
Category
Technology
-
view
548 -
download
0
description
Transcript of Towards a Responsive Business
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 Pa6ern
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. Un7l we be9er understand complexity, our chances of building be9er 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.”
h6p://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 ConfiguraOons as JSON Install Script in Powershell Zip’ed up applicaOon
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 configuraOon with puppet to configure the environment
IIS configuraOon, 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 Testing
The test pyramid.
Status Checks
5 Months +scope
9 weeks +scope
4 weeks +scope
Thank you.