Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/combatpoodle/2016-devops-boise
https://github.com/combatpoodle/2016-devops-boise
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/combatpoodle/2016-devops-boise
- Owner: combatpoodle
- Created: 2016-06-18T01:16:02.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-06-18T01:16:38.000Z (over 8 years ago)
- Last Synced: 2024-11-13T17:11:55.691Z (about 2 months ago)
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 2016-devops-boise notes
# Jit Kumar
sp?Intro Gary Gruver - works with execs of large trad orgs to implement agile/devops
# Gary Gruver - starting and scaling devops
# Grady ?, alertsense
## Software arch to support CD
UML'd it :'(
LEAN, AGILE, DEVOPS, CD -> delops
### Arch provides:
* incremental change
* commit test with easy to use frameworks
* release benign changes
* Feature flagging
* automated db migrations
* evolutionary db design, schema management, etc
* commit pipeline for CD changes### CI/CD pipeline design
Commit early/often
### Architectural/VC continuum
Video by laurie voss (npm) - monolith vs microservice - evolve to scalable### To arch/microservices
Migration to microservices as APIs are defined and used to isolate### takeaways
Start with modular monolith
Feature flag# Eugene Dina - engineering manager at Bodybuilding
## Why decops?
* Deployments are slow
* Resource Contention
* Large monoliths## How did we accomplish it?
* Empower devs (with root access)
* Responsibility for what happens (good ideas end up winning)
* No one to call when something goes wrong
* Forces testing and quality to be a priority
* Deployments happen as necessary
* Automate everything
* Monitor everything## Challenges
* Separation of duties
* ownership/oversight on critical components - you have to account for X, Y, Z - tools are up to devs
* MFA, strict with a small group and opens up as needed
* Infrastructure design
* VPCs, subnets, IAM rules
* Consider your resources## Benefits
* Short dev cycles, frequent/small deployments
* Smaller technical issues
* Roll forwards/back easily
* Reduction of bottlenecks
* Devs are empowered and encouraged to experiment
* Leads to employee satisfaction## Tools
* Jenkins
* slack
* puppet
* github
* terraform
* datadog
* pagerduty
* packer
* consul## Automation
* lots of small deployments
* 2287 last year
* environment consistency
* ability to scale quickly via config/autoscaling
* 100 servers same as 1
* Have a tagging strategy## Monitoring
## CMS Implementation
* 40k articles
* 500k assets
* 30M visitors/month
* team of 3 engineers
* 3 months## Demo
Free network topology map for all! (Ok, just staging)# Greg Lonnon, continuous agile consultant, arch at thuron
## Jenkins 2.0 IAC
Demo on bitbucket somewhere - bitbucket/boise_devops_2016Cloudbees released pipeline stage view
Back-compat with 1.6
BlueOcean UI - material design
Maturing job DSL and pipeline
REST UI (?)Job DSL is new, developed/supported by netflix, written in groovy
### Pipeline
Groovy/DSL based
Developed by cloudbees
Modern-ish### Best practice
* CI/CD using IAC
* CI/CD as releasable component
* Pipeline/jenkinsfiles as future; ad hoc pipeline jobs# Scentsy - Matt Eagy and Chris Johnson
Application of CD at Scentsy
120k consultants
1000 employees
24M orders in 5 yearsNeeds rapid integration of new ideas
### Custom SW platforms:
* Business tools for consultants, marketing material, etc
* Ecommerce platform for consultants to sell with
* Corporate Back Office
* 3rd party integrationsScentsy 5.0 core MVC/API
### Why CD
Culture/business reqs -> technical challenges -> adverse business business impact### business objectives
Stability
Lredictability
Quality
Safety/fast failure
Validate customer value
Business Alignment
Scalability/predictability/quality### Measurable Goals
* 75% boost in deoy freq
* decrease cycle time 33%
* 50% defect decrease
* 70% increase in on task work### CD theory/understanding
High rate of controlled change through rapid and reliable delivery
Build/measure/learn cycleIt's about organization/architecture/process
### constraints
* dates
* multiple teams/applications
* tightly coupled apps
* db deployments
* stakeholder communication/UAT
* deployment schedules### Team/culture
Moving to same room improved collab
Involved ops early on organically### Deployment Systems
* Monolithic systems
* Branching Model - releases
* constraint is lack of automated testing
* Microservice Systems
* deploy off master/trunk
### Deployment over iew
Repo->build->qa->staging->prod->drMicroservices build on a dev's box
### Tools
M$### Devops wins
Blue/green
DC migration
Deployment automation/orchestration
Virtualization
Automated Tests
Integration of SDLC
Monitoring dashboards### KPIs
* Downtime dropped near 0, was originally near 1hr/deploy
* Days between deployments 30 days -> several per day
* Number of features in dev up 1/3
* Cycle time - 50 days to 40 days
* Defects down a bunch### Recipe
Config management
Hiring mixed dev/ops backgrounds
Automation orchestration
Perf tests
Crawl/walk/run on deployments
Build trust with partners### takeaways
* Understand why you want to change
* reserve capacity
* start with agile/scrum
* try things and revert
* get measurable fast### People are key
* communicate
* be transparent
* continuous improvement### q
* what was biggest challenge?
* building a plan, not affecting prod systems, align repos, apply SOC.... Organization
* How to test usability/etc?
* Feature flag, deploy to prod# Macy's - Penny Garrison and Tommy Mouser
Suits largely care about bottom line
Success measured in business *and* technology metrics
Macy's passed its first billion dollar year, quarter, month, aiming for week
Penny/paul are focused on iOS/Android - 50% of traffic to their site is mobile
DevOps drives business fundamentals/goals - allows quick movement
### Why automate
* test in minutes not weeks
* cheaper medium/long term
* requires upfront investment in vms, frameworks, automated tests
* reduce manual resources
* keep trunk stable
* increase release cadence with more features and higher quality### Case: iOS
#### ObjectiveCadence, cycle, replace manual resources
### Considerations
* Framework (web apps vs apps); automated testing was nonexistant
* releases/sprints - continue manual cadence while adding automation
* manual resources - retool/replace - how to change minds, headless testing, etc### Benefits/objectives overview
* 30% release cadence improvement
* 60% regression improvement
* reduce/replace manual resources; 100% automation engineers - automation people get nagged by manual tasks
* automation on sim, manual on device### Case study B - android (WIP)
#### Objective
* Unifying framework, teams
* Tests run on both platforms
* Deterministic tests - don't bother automating if it's not deterministic
* concurrently scale tests across devices#### Beginning State
* 2 teams in 5 locations
* 2 frameworks
* 2 tests for same behavior
* manual device testing#### Considerations
* start from scratch vs combining current frameworks
* latest tools and their benefits - language or solution change?
* setting common standards and practices
* device farm
* automated testing solution influences
* mocking solution
* tests run in both real and mocked environments to determine if failures are internal/external#### Expected benefits
* combined tests
* maintain release cadence
* reduce resources 2:1 dev:qe
* deterministic test results
* trust testing results
* mocking allows determination of environment or code issues causing failures
* concurrently scale testing across multiple devices
* test in actual hardware# Mike Young, Agile Planning/WIP
## Why?
Managing ask, expectations, process and communicating it outwardsThroughput = k/WIP
Feature estimation activities: (non-JIT)
* drive up WIP
* Lock-in featuresControlling WIP in-flow to increase throughput
### Taming planning
* In 2008, business required final feature list 12 months in advance; estimation blocked progress for ~1 month; all estimation was a wash due to incomplete execution, design changes, etc* Prioritize Everything - priorities self-drive organization; rank drives what feature gets help/etc
* Light-touch prediction for story sizes - t-shirt sizing
* system engineers doing jit design and light-touch sizing
* commit by delivering, not by estimating
* predict throughput based on history
* deliver smallest possible feature to field, deliver independently### Getting mgmt/mktg buy in to agile planning
* prioritize product turn-on delivery/qualification ahead of new features
* separate new feature requests from make it work
* you get 20% more features this way because we aren't wasting effort
* externals decide together on priorities
* governors approve feature req list
* ability to work on last-minute requests### Over-drove the WIP
* mgmt would treat non-delivered as pre-commit to next release### Features and stories must earn their way on
* requestors have to follow through to end product now and can't force release date
* nothing on list is automatic
* single continuous train with 2-month on/off cycle
* solution test groups clean subepics for 2 months instead of 5-6 months
* dedicated teams work until a feature until it's done
* they commit at under 50%; commit to things marketing is going to stick on the box
* Feature requests require business analysis for ROI; helps prioritization and allows removal of tasks which really aren't needed/used