48. Strategic Goals
Architectural
Principles
Design and Delivery
Practices
Enable scalable
business
More customers/transactions
Self-service for customers
Support entry into
new markets
Flexible operational processes
New products and operational
processes
Support innovation
in existing markets
Flexible operational processes
New products and operational
processes
Reduce inertia
Make choices that favour rapid
feedback and change, with reduced
dependencies across teams.
Eliminate accidental
complexity
Aggressively retire and replace
unnecessarily complex processes,
systems, and integrations so that we
can focus on the essential
complexity.
Consistent interfaces
and data flows
Eliminate duplication of data and
create clear systems of record, with
consistent integration interfaces.
No silver bullets
Off the shelf solutions deliver early
value but create inertia and
complexity.
Standard REST/HTTP
Encapsulate legacy
Eliminate integration
databases
Consolidate and
cleanse data
Published integration
model
Small independent
Services
Continuous
deployment
Minimal customisation
of COTS/SAAS
49. Strategic Goals
Architectural
Principles
Design and Delivery
Practices
Enable scalable
business
More customers/transactions
Self-service for customers
Support entry into
new markets
Flexible operational processes
New products and operational
processes
Support innovation
in existing markets
Flexible operational processes
New products and operational
processes
Reduce inertia
Make choices that favour rapid
feedback and change, with reduced
dependencies across teams.
Eliminate accidental
complexity
Aggressively retire and replace
unnecessarily complex processes,
systems, and integrations so that we
can focus on the essential
complexity.
Consistent interfaces
and data flows
Eliminate duplication of data and
create clear systems of record, with
consistent integration interfaces.
No silver bullets
Off the shelf solutions deliver early
value but create inertia and
complexity.
Standard REST/HTTP
Encapsulate legacy
Eliminate integration
databases
Consolidate and
cleanse data
Published integration
model
Small independent
Services
Continuous
deployment
Minimal customisation
of COTS/SAAS
53. Netscaler configs. Firewall rules. Name all the things consistently.
Configured package repository. Cron jobs. Service healthcheck
Run the specs. Run code hygiene. Keep all the gems up to Configure monitoring. Enable NRPE. Configure apache.
Build an RPM. Configure dependencies. Ruby version. Configure
Passenger configs. Logrotate. Splunk forwarder. Logger
Create users. Configure NewRelic. Load rake tasks. Load
Connect to a database. Make connection pooling work.
Externalise configuration. Run database migrations. Chkconfigs.
59. Integration Complexity
Environment Provisioning
Operational Complexity
Testing Complexity
Single service maintainability
Fit-for-purpose technology choice
Team managed infrastructure
If you build it, you support it
Microservices Monoliths
133. Single service maintainability
Fit-for-purpose technology choice
Team managed infrastructure
If you build it, you support it
Service Template
Consumer Driven Contracts
Early detection
Rapid Recovery
Integration Complexity
Environment Provisioning
Operational Complexity
Testing Complexity
Microservices Monoliths
141. “We aim to remove hurdles … and ensure
the whole team has the knowledge to
responsibly operate the system.”
- Hydra’s Vision
142. Single service maintainability
Fit-for-purpose technology choice
Team managed infrastructure++
If you build it, you support it
Service Template
Consumer Driven Contracts
Early detection (MTTD)
Rapid Recovery
Integration Complexity
Environment Provisioning
Operational Complexity
Testing Complexity
Microservices Monoliths
152. Service Service Service Service Service
Service Service Service Service Service
Service Service Service Service Service
Service Service Service Service
Service
Library
153. Service Service Service Service Service
Service Service Service Service Service
Service Service Service Service Service
Service Service Service Service
Service
Library
166. If you build it, you support it
Harvest a service template
Early detection of failures
Microservices is a long term
strategy
Fast feedback in isolation
Rapid Recovery
Delivery Engineering
Deliberate sharing
Service Custodianship