DevOps
Flávio Secchieri Mariotti
Enterprise Architect
CSC Proprietary and Confidential
 Motivação (Drivers e Benefícios)
 DevOps
 Cultura, Tecnologia e Processo
 DevOps nas Empresas
 Maturidade
 DevOps, Como começar?
 CSC - Cases de Sucesso
Agenda
CSC Proprietary and Confidential
DevOps
Desenvolvimento de Software e Operação de TI
CSC Proprietary and Confidential
DevOps
Drivers e Benefícios
 Redução no tempo de
interrupção operacional e
de implantação
 Redução de erros
“humanos”
 Suportar a pressão por
entregas de alta
qualidade e mais
rapidamente
Drivers
 Implantação acelerada
com automatização
 Colaboração entre os
departamentos (Dev, QA, TI
Operação)
 Redução nos gastos com
“retrabalho”
Redução do tempo de ciclo de
TI
Benefícios
CSC Proprietary and Confidential
DevOps
ROI – Retorno do Investimento
 66% das empresas adotaram ou planejam adotar métodos DevOps.
 Crescimento em até 3X em atualizações de aplicativos ou
implantações.
 21% de redução no tempo lidando com casos de suporte.
 37% de redução no tempo “apagando incêndios”.
 50% menos falhas.
 30% mais rápido na entrega de novas funcionalidades.
 33% de aumento em melhoria no ambiente de infraestrutura
CSC Proprietary and Confidential
DevOps
promove colaboração entre Dev + Ops de modo a aumentar a cooperação
através da entrega contínua sem sacrificar a qualidade de software em
produção
DevOps é um conjunto de
princípios, métodos e tecnologias para
lidar com o desafio de liberar
rapidamente a evolução do software
de alta qualidade desde o
desenvolvimento até a produção,
onde tudo se torna programável:
aplicação, testes e Infra-estrutura.
CSC Proprietary and Confidential
DevOps
Mas afinal, como fazemos hoje?
Any organization that designs a system (defined broadly) will produce a design
whose structure is a copy of the organization's communication structure.
-- Melvyn Conway, 1967
8
Devops é uma mudança
cultural que fomenta comunicação,
colaboração e alinhamento de
objetivos entre as diversas áreas de
tecnologia da informação
▪ Entrega contínua via sprints
▪ Integra processos, pessoas e
ferramentas visando agilidade ao
negócio e minimizando retrabalhos.
▪ É a interseção produtiva da cooperação
entre times multidisciplinares;
DEVOPS enfatiza:
 Flexibilidade
 Agilidade
 Automação
 Colaboração
 Comunicação
 Cooperação entre equipes
 Responsabilidade
Abordagem
DevOps
Transformação
CSC Proprietary and Confidential
CADS DevOps
Integrando processos
Methodologies
Development Methodology Quality Assurance
SCRUM++ Peer Review & Audits
5 Stars Build
Quality Standards
Development Guidelines
C-RUP
Software Configuration Management
Processes and Tools
Software Configuration
Management Software Quality Management
Software Release
Management
Branching Strategy
Features Traceability
Version Control
Continuous Integration
Defect Tracking
Unit Testing & Code Coverage
Automated Functional Tests
Code Analyzers
Automated Provisioning
Release Workflow
Policies & Security
Cloud Orchestration
Custom Apps Development Services
Test Driven Development
Waterfall
CSC Proprietary and Confidential
CSC DevOps
Framework e Tecnologia
11
CSC’s
‘DevOps Acceleration’ offering relies on delivery lifecycle key pilars to
accelerate the move to DevOps
DEV OPS
Continuous
Testing
Continuous
Deployment
Continuous
Integration
Continuous Provisioning
Continuous Delivery
12
DevOps - abordagem que integra melhores práticas, baseada nos conceitos
de Lean Manufacturing, visando maior agilidade na resposta da organização as
necessidades do mercado.
Agile Development + CI + CT + Continuous Deployment
Agile Development + Continuous Integration
Agile Development
Inception Elaboration Construction Transition
Development Team
Agile Development + CI + Continuous Testing
Operations Team
Plan Design OperateBuild Integrate Test Deploy
Capacity
Planning
Automated DeploymentAutomated Provisioning
CollaborativeAppsDevelopmentTeam
13
DevOps
traz benefícios tanto no SDLM (Software Development Lifecycle Management)
quanto no ALM (Application Lifecycle Management)
 TDD – Abordagem Test Driven Deployment já no
levantamento de requerimentos
 Sprints de grupos de funcionalidades
 Ambientes Dev, QA e Produção permitindo a
integração contínua
 Testes Automatizados
 Procedimentos padronizados e automatizados em
todas as etapas do processo (incluindo promoção a
produção)
 Orquestração dos ambientes incluindo nuvens híbridas
 KPIs medindo e monitorando as etapas do processo
CSC Proprietary and Confidential
IDE
CADS AppWorks
Continuous
Build
Automated
Code Analysis
Build Scan Integrate OperateTest
Activity Panel
Repository
Code Analysis
Cont. Integration
Unit Test
Functional Test
Cloud & Release
Orchestration
THE BUSINESS MARKET
Deploy to
DEV
Pre-configured
DEV
Environment
Deploy to
UAT
Pre-configured
UAT
Environment
Pre-configured
PROD
Environment
Auto
Test
Auto
Test
Deploy to
PROD
DEV UAT PROD
Enterprise DevOps
Isto é mais do que desenvolvimento Ágil
Configurable
Workflows
PaaS
Also available for Microsoft Technologies
CSC Proprietary and Confidential
CSC DevOps
Maturidade
16
Level 1
Initial
Level 2
Managed
Level 3
Defined
Level 4
Measured
Level 5
Optimized
•Dev & Ops are part of
multidisciplinary delivery
team and share
responsibilities
• Time-to-market and ROI is
benchmarked
•Dev & Ops collaborate to
accelerate delivery cycle,
sharing knowledge and
feedbacks
• KPIs measure delivery
process efficiency
• Dev & Ops are striving to
ensure end-to-end delivery
process and limit non-added
value task
• Workflows and tools are
integrated
•Dev & Ops work together
when it is required
•Delivery process interfaces
are managed (eg: release
notes)
• Organization is siloed ; Dev
& Ops objectives and
practices strongly differ
•Operations are involved at
the end of the projects /
deliveries
•Continuous integration,
fully automated: every day
the system’s components
are integrated, analyzed,
measured and tested
together
• Integration tests are fully
automated and performed
as often as possible to
detect bugs
•Everyone commits to the
baseline every day
•The integration
environment is used on a
regular basis to develop,
test and deploy
•Integration tests are mainly
automated
•An integration env. (clone
of production env.) is
available to test all the
components of the release
at least once together
before the roll out
•Integration tests are lately
and partially done
•Lately and partially
integrated in the pre-
production environment
•Tests are fully automated
• Continuous testing +
efficient environment
provisioning reduce test
cycle and failures impacts
•Test driven deployment
(TDD) and automation is the
rule
•Load testing is integrated
early in the dev. cycle
•Automated tests are
generalized to the
downstream phases
• Tests design + execution
early in the delivery cycle
(Dev-Test-Ops approach)
•Automated tests are
initiated with a focus on
unit testing
•Test phases anticipated in
the project plan
•Tests require mainly
manual activities
•Tests partially written and
done at the end of the
project (bottleneck effects)
•Continuous end-to-end
deployment implemented
•Tools used to monitor
deployment performance
•One single, repeatable
deployment process
defined and tested over the
multiple environments
•Rollback is automated
•Roll out of applications is
automated (performed by a
‘push button’ )
•Deployment is repeatable
and automatically executed
•Effort made to automate
and define deployment
standards across the
delivery phases
•Self service deployment to
development and test
•Deployments are realized
manually or through
separate scripts for
installations of applications
and DB per environments
•Continuous and automated
provisioning with self
service portal implemented
• Virtualized and as a service
infrastructure
•Environment can be
created and torn down by a
push of the button (end-to-
end provisioning approach)
•Operating system is
virtualized
• Environments are
standardized
• Several tools are used to
provision and configure an
environment
• Scripted installations per
component for each server
• Request and configuration
management process is
initialized
•Manual installation and
configuration of
environments with no
standards / patterns
•Request Management
process is not normalized
Operating
Model
Continuous
Integration
Continuous
Testing
Continuous
Deployment
Continuous
Provisionning
CSC ‘DevOps Maturity Model: qual meu nível de maturidade?
17
1 – Assess
ORGANIZATION
(People, Culture)
PROCESSES &
GOVERNANCE
TECHNOLOGIES &
TOOLS
MEASUREMENT
(KPI, ROI)
3 –Accelerate
transformation
Scoping
• Organization Maturity
• Dev/Ops interface
• HR review
• Delivery process and
governance efficiency
• Tools cartography
• Automation level
• Technologies capabilities
• As is key metrics and
cost model benchmark
Assessment Synthesis (Key improvement axes)
Final review, continuous improvement setup
Mid-term transformation assessment (maturity model) and roadmap adjustments
• Operating Model
transformation
• DevOps promotion &
cultural shift
• Tools integration
• Technologies changes
• Automation
Transformation launching & communication
• Processes alignment and
integration
• Governance model setup
• Dashboard
implementation
• KPI and ROI
measurement
1 month approx.
6 months approx
2 – Define
Target
Target Evaluation, transformation scenarios evaluation & Strategic orientations validation
1month approx.
CSC DevOps
transformation framework sets up an accelerated path to continuous delivery,
automation and teams cooperation
Overall Assessment (DevOps maturity model)
• Target operating Model
• People & cultural change
• Target delivery
processes and
governance model
• Target Architecture and
toolset
• Automation strategy
• Target key metrics and
objectives
• Impacts on organization,
culture and people
• Impacts on architecture,
technologies and tools
• Impacts on processes
and governance
• Impacts on
measurement/reporting
Project organization and deployment roadmap planning
CSC Proprietary and Confidential
DevOps
Próximos Passos
19
Próximos passos
Sugestões para começar…
Escolha entre 1 e 2 aplicações
Java, SharePoint, .NET
Piloto
Avaliação portfólio / Legados para Aplicações Modernas
Transformação de Aplicações / Modernização para Nuvem
Adoção de Operacionalização ServiceMesh Alavancando
(para cenários de nuvem híbrida)
Pós Piloto
20
Continuous Delivery
 Set up end-to-end continuous delivery integrating Dev & Ops processes and tooling
 Mix resources from Dev & Ops in new organizational schemes (central release team)
 Sustain collaboration and continuous improvement sharing knowledge and feedback
Projeto Piloto
Princípios básicos do DevOps
Continuous
integration
Continuous
testing
Continuous
Deployment
 Review delivery cycle to accelerate time-to-market with no compromise on Software
Quality through automated testing and deployment industrialization
• Implement an integration environment (clone of prod.) to test components together
• Commit and test package deployment on a regular basis to detect bugs early
• Automate integration testing to ensure deployment integrity and limit cost / efforts
• Promote Test Driven Development to accelerate test cycle (Dev-test-Ops approach)
• Integrate testing design + execution (including load test) early in the dev. cycle
• Develop testing automation sustained with efficient environments provisioning
• Implement end-to-end continuous deployment : single, secured, tested and repeatable
process over the multiple environments
• Automate the deployments (“push button”) and monitor the performance
 Define standards for infrastructure and environments provisioning acceleration
(virtualized and as a service infrastructure approach)
 Automate the components provisioning, installation, configuration and administration
 Implement on demand portal aligned with capacity and costs measurement
Continuous
provisioning
Operating Model
Transformation
21
CSC DevOps
Lessons Learned from the DevOps Front Lines
CSC Proprietary and Confidential
CSC Cases
Nossa Experiência de Sucesso
CSC Proprietary and Confidential
DevOps
Cases de Sucesso
NICE V2: Construção de novo sistema de distribuição multi-canal
centrado no cliente com uma gestão integrada do ciclo de vida da
aplicação
Programa de Cartões & Pagamentos da Cedicam: construindo a
fábrica de integração de cartões
Uso do CSC AppWorks Method para alcançar a transformação
para um processo de desenvolvimento Agile e suite de ferramentas
de DevOps
Cloud DevOps: industrialização do ciclo de vida de entrega de
projetos do desenvolvimento ao ambiente de produção
Programa de Transformação (otimizar os custos de integração e
implantação com redução de prazos)
CSC Proprietary and Confidential

DevOps - Motivadores e Benefícios

  • 1.
  • 2.
    CSC Proprietary andConfidential  Motivação (Drivers e Benefícios)  DevOps  Cultura, Tecnologia e Processo  DevOps nas Empresas  Maturidade  DevOps, Como começar?  CSC - Cases de Sucesso Agenda
  • 3.
    CSC Proprietary andConfidential DevOps Desenvolvimento de Software e Operação de TI
  • 4.
    CSC Proprietary andConfidential DevOps Drivers e Benefícios  Redução no tempo de interrupção operacional e de implantação  Redução de erros “humanos”  Suportar a pressão por entregas de alta qualidade e mais rapidamente Drivers  Implantação acelerada com automatização  Colaboração entre os departamentos (Dev, QA, TI Operação)  Redução nos gastos com “retrabalho” Redução do tempo de ciclo de TI Benefícios
  • 5.
    CSC Proprietary andConfidential DevOps ROI – Retorno do Investimento  66% das empresas adotaram ou planejam adotar métodos DevOps.  Crescimento em até 3X em atualizações de aplicativos ou implantações.  21% de redução no tempo lidando com casos de suporte.  37% de redução no tempo “apagando incêndios”.  50% menos falhas.  30% mais rápido na entrega de novas funcionalidades.  33% de aumento em melhoria no ambiente de infraestrutura
  • 6.
    CSC Proprietary andConfidential DevOps promove colaboração entre Dev + Ops de modo a aumentar a cooperação através da entrega contínua sem sacrificar a qualidade de software em produção DevOps é um conjunto de princípios, métodos e tecnologias para lidar com o desafio de liberar rapidamente a evolução do software de alta qualidade desde o desenvolvimento até a produção, onde tudo se torna programável: aplicação, testes e Infra-estrutura.
  • 7.
    CSC Proprietary andConfidential DevOps Mas afinal, como fazemos hoje? Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. -- Melvyn Conway, 1967
  • 8.
    8 Devops é umamudança cultural que fomenta comunicação, colaboração e alinhamento de objetivos entre as diversas áreas de tecnologia da informação ▪ Entrega contínua via sprints ▪ Integra processos, pessoas e ferramentas visando agilidade ao negócio e minimizando retrabalhos. ▪ É a interseção produtiva da cooperação entre times multidisciplinares; DEVOPS enfatiza:  Flexibilidade  Agilidade  Automação  Colaboração  Comunicação  Cooperação entre equipes  Responsabilidade Abordagem DevOps Transformação
  • 9.
    CSC Proprietary andConfidential CADS DevOps Integrando processos Methodologies Development Methodology Quality Assurance SCRUM++ Peer Review & Audits 5 Stars Build Quality Standards Development Guidelines C-RUP Software Configuration Management Processes and Tools Software Configuration Management Software Quality Management Software Release Management Branching Strategy Features Traceability Version Control Continuous Integration Defect Tracking Unit Testing & Code Coverage Automated Functional Tests Code Analyzers Automated Provisioning Release Workflow Policies & Security Cloud Orchestration Custom Apps Development Services Test Driven Development Waterfall
  • 10.
    CSC Proprietary andConfidential CSC DevOps Framework e Tecnologia
  • 11.
    11 CSC’s ‘DevOps Acceleration’ offeringrelies on delivery lifecycle key pilars to accelerate the move to DevOps DEV OPS Continuous Testing Continuous Deployment Continuous Integration Continuous Provisioning Continuous Delivery
  • 12.
    12 DevOps - abordagemque integra melhores práticas, baseada nos conceitos de Lean Manufacturing, visando maior agilidade na resposta da organização as necessidades do mercado. Agile Development + CI + CT + Continuous Deployment Agile Development + Continuous Integration Agile Development Inception Elaboration Construction Transition Development Team Agile Development + CI + Continuous Testing Operations Team Plan Design OperateBuild Integrate Test Deploy Capacity Planning Automated DeploymentAutomated Provisioning CollaborativeAppsDevelopmentTeam
  • 13.
    13 DevOps traz benefícios tantono SDLM (Software Development Lifecycle Management) quanto no ALM (Application Lifecycle Management)  TDD – Abordagem Test Driven Deployment já no levantamento de requerimentos  Sprints de grupos de funcionalidades  Ambientes Dev, QA e Produção permitindo a integração contínua  Testes Automatizados  Procedimentos padronizados e automatizados em todas as etapas do processo (incluindo promoção a produção)  Orquestração dos ambientes incluindo nuvens híbridas  KPIs medindo e monitorando as etapas do processo
  • 14.
    CSC Proprietary andConfidential IDE CADS AppWorks Continuous Build Automated Code Analysis Build Scan Integrate OperateTest Activity Panel Repository Code Analysis Cont. Integration Unit Test Functional Test Cloud & Release Orchestration THE BUSINESS MARKET Deploy to DEV Pre-configured DEV Environment Deploy to UAT Pre-configured UAT Environment Pre-configured PROD Environment Auto Test Auto Test Deploy to PROD DEV UAT PROD Enterprise DevOps Isto é mais do que desenvolvimento Ágil Configurable Workflows PaaS Also available for Microsoft Technologies
  • 15.
    CSC Proprietary andConfidential CSC DevOps Maturidade
  • 16.
    16 Level 1 Initial Level 2 Managed Level3 Defined Level 4 Measured Level 5 Optimized •Dev & Ops are part of multidisciplinary delivery team and share responsibilities • Time-to-market and ROI is benchmarked •Dev & Ops collaborate to accelerate delivery cycle, sharing knowledge and feedbacks • KPIs measure delivery process efficiency • Dev & Ops are striving to ensure end-to-end delivery process and limit non-added value task • Workflows and tools are integrated •Dev & Ops work together when it is required •Delivery process interfaces are managed (eg: release notes) • Organization is siloed ; Dev & Ops objectives and practices strongly differ •Operations are involved at the end of the projects / deliveries •Continuous integration, fully automated: every day the system’s components are integrated, analyzed, measured and tested together • Integration tests are fully automated and performed as often as possible to detect bugs •Everyone commits to the baseline every day •The integration environment is used on a regular basis to develop, test and deploy •Integration tests are mainly automated •An integration env. (clone of production env.) is available to test all the components of the release at least once together before the roll out •Integration tests are lately and partially done •Lately and partially integrated in the pre- production environment •Tests are fully automated • Continuous testing + efficient environment provisioning reduce test cycle and failures impacts •Test driven deployment (TDD) and automation is the rule •Load testing is integrated early in the dev. cycle •Automated tests are generalized to the downstream phases • Tests design + execution early in the delivery cycle (Dev-Test-Ops approach) •Automated tests are initiated with a focus on unit testing •Test phases anticipated in the project plan •Tests require mainly manual activities •Tests partially written and done at the end of the project (bottleneck effects) •Continuous end-to-end deployment implemented •Tools used to monitor deployment performance •One single, repeatable deployment process defined and tested over the multiple environments •Rollback is automated •Roll out of applications is automated (performed by a ‘push button’ ) •Deployment is repeatable and automatically executed •Effort made to automate and define deployment standards across the delivery phases •Self service deployment to development and test •Deployments are realized manually or through separate scripts for installations of applications and DB per environments •Continuous and automated provisioning with self service portal implemented • Virtualized and as a service infrastructure •Environment can be created and torn down by a push of the button (end-to- end provisioning approach) •Operating system is virtualized • Environments are standardized • Several tools are used to provision and configure an environment • Scripted installations per component for each server • Request and configuration management process is initialized •Manual installation and configuration of environments with no standards / patterns •Request Management process is not normalized Operating Model Continuous Integration Continuous Testing Continuous Deployment Continuous Provisionning CSC ‘DevOps Maturity Model: qual meu nível de maturidade?
  • 17.
    17 1 – Assess ORGANIZATION (People,Culture) PROCESSES & GOVERNANCE TECHNOLOGIES & TOOLS MEASUREMENT (KPI, ROI) 3 –Accelerate transformation Scoping • Organization Maturity • Dev/Ops interface • HR review • Delivery process and governance efficiency • Tools cartography • Automation level • Technologies capabilities • As is key metrics and cost model benchmark Assessment Synthesis (Key improvement axes) Final review, continuous improvement setup Mid-term transformation assessment (maturity model) and roadmap adjustments • Operating Model transformation • DevOps promotion & cultural shift • Tools integration • Technologies changes • Automation Transformation launching & communication • Processes alignment and integration • Governance model setup • Dashboard implementation • KPI and ROI measurement 1 month approx. 6 months approx 2 – Define Target Target Evaluation, transformation scenarios evaluation & Strategic orientations validation 1month approx. CSC DevOps transformation framework sets up an accelerated path to continuous delivery, automation and teams cooperation Overall Assessment (DevOps maturity model) • Target operating Model • People & cultural change • Target delivery processes and governance model • Target Architecture and toolset • Automation strategy • Target key metrics and objectives • Impacts on organization, culture and people • Impacts on architecture, technologies and tools • Impacts on processes and governance • Impacts on measurement/reporting Project organization and deployment roadmap planning
  • 18.
    CSC Proprietary andConfidential DevOps Próximos Passos
  • 19.
    19 Próximos passos Sugestões paracomeçar… Escolha entre 1 e 2 aplicações Java, SharePoint, .NET Piloto Avaliação portfólio / Legados para Aplicações Modernas Transformação de Aplicações / Modernização para Nuvem Adoção de Operacionalização ServiceMesh Alavancando (para cenários de nuvem híbrida) Pós Piloto
  • 20.
    20 Continuous Delivery  Setup end-to-end continuous delivery integrating Dev & Ops processes and tooling  Mix resources from Dev & Ops in new organizational schemes (central release team)  Sustain collaboration and continuous improvement sharing knowledge and feedback Projeto Piloto Princípios básicos do DevOps Continuous integration Continuous testing Continuous Deployment  Review delivery cycle to accelerate time-to-market with no compromise on Software Quality through automated testing and deployment industrialization • Implement an integration environment (clone of prod.) to test components together • Commit and test package deployment on a regular basis to detect bugs early • Automate integration testing to ensure deployment integrity and limit cost / efforts • Promote Test Driven Development to accelerate test cycle (Dev-test-Ops approach) • Integrate testing design + execution (including load test) early in the dev. cycle • Develop testing automation sustained with efficient environments provisioning • Implement end-to-end continuous deployment : single, secured, tested and repeatable process over the multiple environments • Automate the deployments (“push button”) and monitor the performance  Define standards for infrastructure and environments provisioning acceleration (virtualized and as a service infrastructure approach)  Automate the components provisioning, installation, configuration and administration  Implement on demand portal aligned with capacity and costs measurement Continuous provisioning Operating Model Transformation
  • 21.
    21 CSC DevOps Lessons Learnedfrom the DevOps Front Lines
  • 22.
    CSC Proprietary andConfidential CSC Cases Nossa Experiência de Sucesso
  • 23.
    CSC Proprietary andConfidential DevOps Cases de Sucesso NICE V2: Construção de novo sistema de distribuição multi-canal centrado no cliente com uma gestão integrada do ciclo de vida da aplicação Programa de Cartões & Pagamentos da Cedicam: construindo a fábrica de integração de cartões Uso do CSC AppWorks Method para alcançar a transformação para um processo de desenvolvimento Agile e suite de ferramentas de DevOps Cloud DevOps: industrialização do ciclo de vida de entrega de projetos do desenvolvimento ao ambiente de produção Programa de Transformação (otimizar os custos de integração e implantação com redução de prazos)
  • 24.
    CSC Proprietary andConfidential