Maintenance is Dead! A path
to a New Paradigm
Director - Expresscommerce
Ali Hashmi
• Maintenance is Dead!
• The paradigm Shift – Your website is a living thing
• Role of DevOps in website Maintenance
• Our Journey
Today’s Plan
Maintenance is Dead!
“What do you mean it’s not fixed yet?? I told him we
needed that new button three weeks ago!!”
Maintenance is Dead…the way it is currently practiced
• Maintenance is a chore, even a hassle.”
• Reactive instead of proactive
• Working in a Silo approach
– Assigned to the ‘B Team’
– Lack of familiarity with project history
– Lack of communications with PM, Account Manager or original Dev
team
– Not integrated with marketing, BA or other departments
• Interruptions in service or features
• Random approach with no guiding methodology
…Innovate or die!!
“Maintenance reframed becomes an opportunity.”
New ParadigmCultivate – Your website is a living Entity
“...Maintenance reframed becomes an opportunity….”
Don’t be reactive Be proactive
“...Maintenance reframed becomes an opportunity….”
Breaking Barriers
A new mentality and
corporate culture that makes
development work in an
integral way with
operations
“...Maintenance reframed becomes an opportunity….”
Traditional Approach
V1.0 Release V2.0 Release
Risk/Cost
Time
Continuous Delivery
Risk/Cost
Release with Ease
“Keep a reactive approach to maintenance and you’ll see a periodic increase on
costs and risks. Reframe it to continuous and smaller releases and your
development risk and cost will remain constant”
Time
DevOpsA working philosophy to handle Change
better, faster and cheaper
“...Maintenance reframed becomes an opportunity….”
Keyword: DevOps
Source: Google Trends
Opposing or Complementary?
Systems Thinking
- Holistic vs Silos
- More Visibility
- Process vs
Individual
Feedback
- Interdependence
- Mutual Feeds
- Meta culture
Continual Learning
- Iterate and Learn
- Experiment and fail
fast
Socio-technical system
- A mindset change
- Common objective
DEVOPS
CAMS
John Willis & Damon Edwards
Adoption Barriers
0% 10% 20% 30% 40%
Organizational Culture
Lack of Integrated Development and Operations
Technical Hurdles
Lack of Understanding
Business Readiness
Source: DevOpsGuys.com
What DevOps is not?
• DevOps is not only for “born on the web
companies”
• DevOps is not only for internal teams and not
for outsourced partner
• DevOps only works in cloud environment
• DevOps is not only about communication
• DevOps doesn’t mean that you are doing
continuous change deployment
"The hardest part is getting the business culture right, particularly
when trying to transplant these DevOps ideas into a larger company.
You may have to deal with stakeholders at different levels who may
not like this idea of relinquishing some power or giving people
access to systems they previously haven’t had"
Jon Cowie, Etsy
From our journeyUsing DevOps to Reach Goals
DevOps challenges in maintaining your site
Issues
• Staging mirror Production
• Works on development but not
on staging/production
• Manual work in moving
changes across environment
• Which features to move which
not to?
• Are we doing enough testing?
Solutions
• Use tools for Continuous
integration and Continuous
Delivery
• No manual interaction
• Builds should be self contained
• Use Feature toggle
• Unit tests, Integration tests and
Regression tests
Continuous Integration
Continuous Delivery
Code Done Unit Tests IntegrateAcceptance
TestDEPLOY TO
PRODUCTION
AUTO AUTO AUTO MANUAL
Code Done Unit Tests IntegrateAcceptance
TestDEPLOY TO
PRODUCTION
AUTO AUTO AUTO AUTO
Adopting DevOps
• Bringing Development and Operations together
– Get the process on the paper
– Identify your constraints
– Identify roles and fill in the gaps
– Develop a feedback loop
– Team Accountability vs Individual
• Automation
– Development environment setup
– Streamline build process
– Staging and Production environments
– Establish Metrics to monitor and provide feedback
Delivering new capabilities quickly and safely
Uptime, Security
Code Quality
More Code
Dev + Ops
Think Big, Start Small, Move Fast - Automation
DevOps Tools 2016 Trends
Overall DevOps adoption rises from 66 to 74 percent, with enterprises reaching 81 percent.
CI/CD Tools that works well with Magento
Develop, Build, Test, Deploy and Release
• Docker
• Vagrant
• Jenkins
• Travis CI
• Puppet
• Chef
• Bamboo
• Selenium
• And the list goes on
Build
Test
Deploy
Monitor
Development
Tools Selection
Who is Docker For?
It is designed to benefit both developers and system administrators.
Developers:-
• Can focus on writing code without worrying on which platform
application will run on.
• No worry of Dependencies.
System Administrators:- (Infrastructure as a code)
• Docker gives flexibility and potentially reduces the number of
systems needed because of its small footprint and lower overhead
Features of Docker and Docker registry
Lightweight
• Containers running on a single machine sharing same OS
• Provides instant start, efficient use of RAM.
• Images are constructed from layered filesystems so they can share common files, making
disk usage and image downloads much more efficient.
Open Standards
• Containers to run on all major Linux distributions and Microsoft operating systems.
Security
• Containers isolate applications the underlying infrastructure to provide additional security
layer.
Docker registry
• Docker registry is used to store docker images from where you can pull and push images
from docker on servers.
Several hundred Magento repository images available on http://hub.docker.com
Database Dump
Media Directory
Building and Testing - Jenkins
An Open source Mature Continuous Integration tool with 1000s of plugins
Building and Testing - Jenkins
Deployment Pipeline
Continuous Testing
Static Code Analysis (php-pmd, php-depend, codesniffer, etc)
Unit Tests (php-unit, MTF (Magento Testing Framework))
Integration Testing (MTF, conflict checker, link checker, etc)
Stress Test (Jmeter, Selenium, etc)
Continuous Monitoring
Monitoring is essential to cultivate your site
• Monitoring provides data to Development, Operations, QA, lines of
business personnel and other stakeholders.
• Monitoring should be done in all environments from development to
production
• Quality metrics should be defined in the planning phase
• Insights and alerts
You can’t manage what you can’t measure
Knitting the DevOps Fabric
• Begin with the end in Mind
• Start with People
• Identify Burning areas
• Don’t overkill with tools
Don’t Maintain --- Cultivate
Thank You
Visit us at: www.expresscommerce.co
http://expresscommerce.co/devops50/