4. THERE IS ONE PLATFORM
NOT A COLLECTION OF
PLATFORMS
Every difference between production and preproduction environments introduces
risk
4
D e v O p s
5. THE DESIRED STATE OF THE
PLATFORM MUST BE A
KNOWN QUANTITY
Must know every dependency, configuration, communication, required package,
infrastructure, etc
5
D e v O p s
6. THE KNOWN QUANTITY
MUST BE MACHINE
PARSEABLE
The manner in which the desired state is documented must be readable by the tools
that create and test the actual state
6
D e v O p s
7. THE ONLY AUTHORITATIVE
SOURCE FOR THE STATE OF
THE PLATFORM IS THE
PLATFORM
Not desired state documentation, not proxies, not knowledge or belief
7
D e v O p s
8. THE ACTUAL STATE OF THE
PLATFORM MUST SELF-
CORRECT TO THE DESIRED
STATE
Continuous testing to compare desired state to actual state and then correct
8
D e v O p s
9. THE ENTIRE PLATFORM
MUST BE DEPLOYABLE
USING SOURCE MEDIA AND
TEXT FILES
Everything is reduced to source or artifact repositories
9
D e v O p s
10. INFRASTRUCTURE ELEMENTS TO CONSIDER
Defined Networks or VLANs (routing)
IPAM
Provision/Configure of Virtual Machines
Load Balancing
SAN or NAS Storage access and rights
External Services (akamai, google)
Proxies
Monitoring
Log Aggregation
10
D e v O p s
11. INFRASTRUCTURE ELEMENTS TO CONSIDER
Authentication (AD-Windows Group Policy, ldap)
Name Resolution (internal and external)
Package/ISO Management (mirrors)
Artifact Management
Security implementation (Firewalls, hardware or software)
Recurring Patch Management (security)
Automation Orchestration
11
D e v O p s
13. AUTOMATION TO BUILD, TEST, AND OPERATE THE PLATFORM
Keep disparity between environments to absolute minimum
Conventions over Configuration
Test over Inspect
Avoid manual data transfers and data stores maintained manually
Author solutions you would buy
Do not improve manual processes - automate them
Keep disparity between environments to absolute minimum
13
D e v O p s
14. SOFTWARE OR TOOLS INCORPORATED INTO PLATFORM
Small tools that interoperate well, over one "do everything poorly" product
Must authenticate and authorize from configurable, external source
Only products that implement an API
API not restricted to one language
API includes functional examples and does not require an expert to use
Product configurations are machine readable and configurable
Data stored in product is accessible
Does not require installation on bare metal
14
D e v O p s
15. Portions adapted from the jameswhite
manifesto
email: nic.cheneweth@thoughtworks.com
THANK YOU