Top Banner
Victoria Livschitz, CEO of Qubell @vlivschitz @qubellinc Innovate Faster! 6 Steps to Daily Software Releases
45
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Innovate Faster! 6 Steps to Daily Software Releases

Victoria Livschitz, CEO of Qubell@vlivschitz@qubellinc

Innovate Faster!

6 Steps to Daily Software Releases

Page 2: 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

Page 3: Innovate Faster! 6 Steps to Daily Software Releases

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

–2014 survey of 250 global retail CEOs

Page 4: Innovate Faster! 6 Steps to Daily Software Releases

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

–2014 NRF report on CIO priorities

Page 5: Innovate Faster! 6 Steps to Daily Software Releases

AGENDA

Teaching the Elephant to Dance

Purpose-Defined Computing

The Golden Age of the Developer

Page 6: Innovate Faster! 6 Steps to Daily Software Releases

Enabling Enterprises to Compete

Teaching the Elephant to Dance

Page 7: Innovate Faster! 6 Steps to Daily Software Releases

Myth #1

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

Page 8: Innovate Faster! 6 Steps to Daily Software Releases

Core Conflict

Speed and Self-service

Stability and Control

VS

Page 9: Innovate Faster! 6 Steps to Daily Software Releases

Deep Cultural Divide

Bureaucrats(Ops as seen by developers)

Cowboys(Developers as seen by Ops)

Page 10: Innovate Faster! 6 Steps to Daily Software Releases

“Help Me Help You”

Page 11: Innovate Faster! 6 Steps to Daily Software Releases

Changing Role of IT – Zero to Hero

The Age of DevOps

Page 12: Innovate Faster! 6 Steps to Daily Software Releases

Step #1: Admit we have a problem

(with agility)

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

Page 13: Innovate Faster! 6 Steps to Daily Software Releases

The Making of Magic Buttons

Purpose-Defined Computing

Page 14: Innovate Faster! 6 Steps to Daily Software Releases

Myth #2

Goal of automation = simplify life of system administrators

Page 15: Innovate Faster! 6 Steps to Daily Software Releases

Button Makers and Button Users

Page 16: Innovate Faster! 6 Steps to Daily Software Releases

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

Purpose-Defined Computing

Page 17: Innovate Faster! 6 Steps to Daily Software Releases

Search eCommerce Personalization

Payment Gateway

Page 18: Innovate Faster! 6 Steps to Daily Software Releases

Search eCommerce Personalization

Payment Gateway

Page 19: Innovate Faster! 6 Steps to Daily Software Releases

Search eCommerce Personalization

Update Index

Patch OS

Upgrade Schema

Payment Gateway

Page 20: Innovate Faster! 6 Steps to Daily Software Releases

Search eCommerce Personalization

Update Index

Patch OS

Upgrade Schema

Payment Gateway

Page 21: Innovate Faster! 6 Steps to Daily Software Releases

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

Page 22: Innovate Faster! 6 Steps to Daily Software Releases

Myth #3

Automation = blueprints & scripts

Page 23: Innovate Faster! 6 Steps to Daily Software Releases

Configuration A

CentOS

CentOS

EC2

20Mb Data

WebLogic

Stub

API

Automation by “Script & Fork”

Blueprint ATesting

Page 24: Innovate Faster! 6 Steps to Daily Software Releases

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

Page 25: Innovate Faster! 6 Steps to Daily Software Releases

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

Page 26: Innovate Faster! 6 Steps to Daily Software Releases

Step #3: Make applications “adaptive” to purpose and environment

Behavior of applications is different in different business context. Not the applications themselves.

Page 27: Innovate Faster! 6 Steps to Daily Software Releases

Myth #4

“All we have to do it automate application deployment”

Page 28: Innovate Faster! 6 Steps to Daily Software Releases

Configuration Change Management vs. Deployment

Page 29: Innovate Faster! 6 Steps to Daily Software Releases

Configuration Change Management vs. Deployment

Page 30: Innovate Faster! 6 Steps to Daily Software Releases

Running Application (t) =

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

Policy (t))

Page 31: Innovate Faster! 6 Steps to Daily Software Releases

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

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

Page 32: Innovate Faster! 6 Steps to Daily Software Releases

Enabling Creativity and Productivity

The Golden Age of the Developer

Page 33: Innovate Faster! 6 Steps to Daily Software Releases

Myth #5

“We can always hire more programmers”

Page 34: Innovate Faster! 6 Steps to Daily Software Releases

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

Page 35: Innovate Faster! 6 Steps to Daily Software Releases

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

Page 36: Innovate Faster! 6 Steps to Daily Software Releases

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

Page 37: Innovate Faster! 6 Steps to Daily Software Releases

Pre-Commit: Creator’s Lab

Page 38: Innovate Faster! 6 Steps to Daily Software Releases

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

Page 39: Innovate Faster! 6 Steps to Daily Software Releases

Myth #6

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

Page 40: Innovate Faster! 6 Steps to Daily Software Releases

Post-Commit: Automated Quality Control

Agile Software Factory

Page 41: Innovate Faster! 6 Steps to Daily Software Releases

Post-Commit: Enforcing Release Pipeline

Commit UpgradeCI

Regression

Integration

Performance

User Acceptance

Mobile

Staging

CI

Regression

Integration

Performance

User Acceptance

Mobile

Staging

Dynamic Environments

Page 42: Innovate Faster! 6 Steps to Daily Software Releases

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.

Page 43: Innovate Faster! 6 Steps to Daily Software Releases

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”

Page 44: Innovate Faster! 6 Steps to Daily Software Releases

Innovate Faster!

Page 45: Innovate Faster! 6 Steps to Daily Software Releases

Thank you

Victoria Livschitz

[email protected]@vlivschitz@qubellinc