innovate faster! 6 steps to daily software releases

45
Victoria Livschitz, CEO of Qubell @vlivschitz @qubellinc Innovate Faster! 6 Steps to Daily Software Releases

Upload: victoria-livschitz

Post on 15-Jul-2015

470 views

Category:

Technology


0 download

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

Next 10 years will bring more change than last 50 combined!

–2014 survey of 250 global retail CEOs

CIOs can summarizeboth their priorities and challenges in one word: agility”

–2014 NRF report on CIO priorities

AGENDA

Teaching the Elephant to Dance

Purpose-Defined Computing

The Golden Age of the Developer

Enabling Enterprises to Compete

Teaching the Elephant to Dance

Myth #1

“Once we implement “agile” process, we will become an agile organization”

Core Conflict

Speed and Self-service

Stability and Control

VS

Deep Cultural Divide

Bureaucrats(Ops as seen by developers)

Cowboys(Developers as seen by Ops)

“Help Me Help You”

Changing Role of IT – Zero to Hero

The Age of DevOps

Step #1: Admit we have a problem

(with agility)

Commit focus and budget to re-think agile application development, delivery and operations

The Making of Magic Buttons

Purpose-Defined Computing

Myth #2

Goal of automation = simplify life of system administrators

Button Makers and Button Users

The complete computing system emerges in response to a business need.

Purpose-Defined Computing

Search eCommerce Personalization

Payment Gateway

Search eCommerce Personalization

Payment Gateway

Search eCommerce Personalization

Update Index

Patch OS

Upgrade Schema

Payment Gateway

Search eCommerce Personalization

Update Index

Patch OS

Upgrade Schema

Payment Gateway

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

Myth #3

Automation = blueprints & scripts

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.

Myth #4

“All we have to do it automate application deployment”

Configuration Change Management vs. Deployment

Configuration Change Management vs. Deployment

Running Application (t) =

F (Application (t), Environment (t),

Policy (t))

Step #4: Understand your dependencies and how they change over time

Automation without configuration and change management is investment in a quick sand

Enabling Creativity and Productivity

The Golden Age of the Developer

Myth #5

“We can always hire more programmers”

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

Pre-Commit: Creator’s Lab

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

Myth #6

“We have a CI server, therefore we have continuous delivery”

Post-Commit: Automated Quality Control

Agile Software Factory

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”

Innovate Faster!

Thank you

Victoria Livschitz

[email protected]@vlivschitz@qubellinc