Presented at NRF Big Show, the main technology in retail conference of the year, on January 13, 2015 in NYC. A discussion of challenges faced by big enterprises, particularly retailers, on their quest to become more agile, and what to do to enable agility through devops principles and pervasive automation in technology operations. It is the adaptation of the talk I gave at the CloudExpo 2 months earlier.
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Innovate Faster! 6 Steps to Daily Software Releases
1. Victoria Livschitz, CEO of Qubell
@vlivschitz
@qubellinc
Innovate Faster!
6 Steps to Daily Software Releases
2. 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-2006
First public cloud service, predating Amazon by 2 years. Pioneered
$1/CPU/hour pricing model
3. Next 10 years
will bring more change than last 50 combined!
–2014 survey of 250 global retail CEOs
4. CIOs can summarize
both their priorities and challenges in one word: agility”
–2014 NRF report on CIO priorities
21. 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
24. Configuration A Configuration B
CentOS
CentOS
EC2
20Mb
Data
WebLogic
Stub
API
Automation by “Script & Fork”
Blueprint A Blueprint B
Testing
Production
RedHat
2Tb
Data
WebLogic
API
WebLogic
RedHat
25. 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
26. Step #3: Make applications “adaptive” to
purpose and environment
Behavior of applications is different in different
business context. Not the applications themselves.
27. Myth #4
“All we have to do it automate
application deployment”
31. Step #4: Understand your dependencies
and how they change over time
Automation without configuration and change
management is investment in a quick sand
34. 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 Nikiforov
Russian Federation, Communications and Mass Media Minister
35. 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 million
software developers worldwide,
a number that is due to rise to
26.4 million by 2019,
a 45% increase.”
–Nikolai Nikiforov
Russian 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
36. 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
38. 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
39. Myth #6
“We have a CI server, therefore we have
continuous delivery”
41. Post-Commit: Enforcing Release Pipeline
Commit UpgradeCI
Regression
Integration
Performance
User
Acceptance
Mobile
Staging
CI
Regression
Integration
Performance
User
Acceptance
Mobile
Staging
Dynamic Environments
42. 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.
43. 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”