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 Infraestrutura.
2. 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
3. CSC Proprietary and Confidential
DevOps
Desenvolvimento de Software e Operação de TI
4. 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
5. 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
6. 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.
7. 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. 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
9. 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
11. 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. 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. 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
14. 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
16. 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. 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
19. 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. 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
23. 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)