innovate faster! 6 steps to daily software releases
TRANSCRIPT
Victoria Livschitz, CEO of Qubell@vlivschitz@qubellinc
Innovate Faster!
6 Steps to Daily Software Releases
About the speaker
Founder & CEO, Qubell. Booth #531
First autonomic application delivery and management platform for web, commerce and big data applications
Founder, Grid Dynamics
Leading provider of open, scalable, next-generation technology solutions for Tier 1 retailers
Principal Architect, SunGrid: 2005-2006First public cloud service, predating Amazon by 2 years. Pioneered
$1/CPU/hour pricing model
CIOs can summarizeboth their priorities and challenges in one word: agility”
–2014 NRF report on CIO priorities
Step #1: Admit we have a problem
(with agility)
Commit focus and budget to re-think agile application development, delivery and operations
Step #2: Optimize for 95% (button users), not 5% (button makers)
Value of automation is to enable EVERYONE to get their job done without involving specialists
Configuration A
CentOS
CentOS
EC2
20Mb Data
WebLogic
Stub
API
Automation by “Script & Fork”
Blueprint ATesting
Configuration A Configuration B
CentOS
CentOS
EC2
20Mb Data
WebLogic
Stub
API
Automation by “Script & Fork”
Blueprint A Blueprint BTesting
Production
RedHat
2Tb Data
WebLogic
API
WebLogic
RedHat
Configuration A Configuration B
CentOS
CentOS
EC2
20Mb Data
WebLogic
Stub
API
2Tb Data
WebLogic
API
A Better Way: Adaptive Configuration
Policy BPolicy A
WebLogic
Testing Production
RedHat
RedHat
Step #3: Make applications “adaptive” to purpose and environment
Behavior of applications is different in different business context. Not the applications themselves.
Step #4: Understand your dependencies and how they change over time
Automation without configuration and change management is investment in a quick sand
Demand for Developers Exceeds Supply
“ We will need to increase the number of programmers from
350,000 to 1 million to achieve self-sufficiency.
–Nikolai NikiforovRussian Federation, Communications and Mass Media Minister
Demand for Developers Exceeds Supply
“ We will need to increase the number of programmers from
350,000 to 1 million to achieve self-sufficiency.
“ There are about 18.2 millionsoftware developers worldwide, a number that is due to rise to
26.4 million by 2019, a 45% increase.”
–Nikolai NikiforovRussian Federation, Communications and Mass Media Minister
“ Employment of software developers is projected to
grow 22 percent from 2012 to 2022, much faster than the average for all occupations.”
–The U.S. Bureau of Labor Statistic –Evans Data Corp, Global Developer Population and Demographic Study
With Great Power Comes Great Responsibility
Lower the barrier to learn new technologies
• No luxury of spending “10-years to master C”
Shorten time-to-value on new projects
• Join by 9:00am, first commit by 5:00pm
Faster feedback loop on every change
• Discover and fix bugs before commit
Step #5: Invest in developer productivity by providing safe dynamic environments to experiment in
You can’t hire enough programmers; you have to make the ones you have more productive
Post-Commit: Enforcing Release Pipeline
Commit UpgradeCI
Regression
Integration
Performance
User Acceptance
Mobile
Staging
CI
Regression
Integration
Performance
User Acceptance
Mobile
Staging
Dynamic Environments
Step #6: Build an automated test conveyor from “commit” to “ship”
Continuous integration is the first step. Continuous testing is second. Only then you can have continuous delivery.
1. Admit we have a problem with agility
2. Optimize for 95% (button users), not 5% (button makers)
3. Make applications “adaptive” to purpose and environment
4. Understand your dependencies and how they change over time
5. Invest in developer productivity by providing safe dynamic environments to experiment in
6. Build an automated test conveyor from “commit” to “ship”