SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Encontro Rational de Desenvolvimento de Software – 12 de março de 2013 – São Paulo




                              DevOps
 Agilidade além do desenvolvimento, rumo à entrega contínua


Felipe Freire – pfreire@br.ibm.com




        Encontro Rational de Desenvolvimento de Software

                            Building better software
                                                                                     © 2012 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Agenda

 Introdução DevOps

    –Desafios

    –Princípios e valores

    –Enterprise DevOps

 SmartCloud Continuous Delivery

    –Solução

    –Demonstração


2                                                                                 © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Painel: Você conhece e aplica no seu dia-a-dia?

                                          Agile
                           Scrum / Desenvolvimento Iterativo
                                 Integração contínua


                                           ITIL
                                   Release management
                                          CMDB



                              Cloud Computing

                                          ALM
                                     Plataforma Jazz
                                  Rational Team Concert
3                                                                              © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


Desafios na entrega
                                                                            Pessoas

Hoje as necessidades de negócio e também técnicas                           Processos
estão exigindo mais do que as abordagens
tradicionais de entrega podem suportar                                      Informação




                                            Desenvolvimento
   Clientes           Negócio (LoB)                                         Operações
                                                e Teste


                                       1º                         2º
                                      Gap                        Gap

    Inovação rápida                               Código e                Serviços para o
       e contínua      Requisitos
                                                   Testes                    Negócio




                                                                                      © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


Solucionando os GAPs no ciclo de entregas de software


                                            Desenvolvimento
  Clientes           Negócio (LoB)                                         Operações
                                                e Teste


                                       1º                          2º
                                      Gap                         Gap

   Inovação rápida                               Código e                Serviços para o
      e contínua      Requisitos
                                                  Testes                    Negócio

                        Endereçado por…               Endereçado por…




                                                                  Dev
                                 Agile                            Ops

                                                                                     © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Desafios de entregar no prazo com qualidade
    34% de todos os novos projetos de TI implantam com atraso**

                    41%                     51%                      45%
             experimenta atrasos das aplicações sofrem experimentam atrasos
                na integração,        roll-back por     para identificação de
             configuração ou teste   problemas de       problemas e ajustes
                 da aplicação          qualidade           em produção



                                                                       Produção
     4-6          Desenvolvimento              Testes
                                                                                      3-4
Semanas                             GAP                     GAP                     Semanas
 tempo médio                                                                         tempo médio
para entregar                                                                       para isolar um
uma mudança                                                                             defeito
   simples

         1. Dificuldade em atender às requisições de desenvolvimento e testes para
         configuração de ambientes – infraestrutura, middleware e aplicações
         2. Defeitos em aplicações e problemas de desempenho causam 50% dos rollbacks
6                                                                                    © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013



DevOps é…
Um conjunto de princípios e valores
que visam facilitar a colaboração entre
disciplinas para…
                                                                  Pessoas

1. Possibilitar a rápida evolução da                              Processos
   implantação de serviços para o
   negócio                                                        Informação

2. Reduzir riscos e custos e aumentar
   a qualidade em todo o portfólio



                                                                                           7
                                                                            © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

DevOps: Casos de Sucesso no Mercado




 400 servidores por                            Pode desabilitar código
 administrador                                  sem a necessidade de
                                                roll-back
 Roll-outs diários para
 subconjuntos dos seus    Múltiplas implantações
 750 milhões de usuários planejadas por dia


8                                                                              © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


Como eles obtiveram esses resultados?

Automatizaram tudo


Projetam e desenvolvem com esses objetivos

                     • Por que outras empresas não
                       conseguem?
                        • As vezes elas não podem
                        • Não está no DNA


9                                                                             © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Adoção de DevOps no meio corporativo

 Algumas práticas podem ser adotadas agora

                                                                               Operations
                       Development
                                                                                 Team
                          Team

                                                               Run
             Line
         of Business                                                   Agile
                          Develop                                    Operations
                                   Agile
                                Development
                                                 Build                        Manage



             Analyze                                            Monitor
                                    Test
                           Development                 QA     Staging         Production
                                                     Incident
                                                   Management
                   Development and Test server                       Production Severs




10                                                                                          © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


IBM SmartCloud Continuous Delivery – Valor para o cliente

 Reduzir ciclos de 3 semanas para algumas horas
 Configurar ambientes de testes 90% mais rápido
 98% de melhoria no atingimento de SLAs




                                                                              © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Como Boas Equipes entregam Bons Softwares


 Código modular
 Gerenciamento de configuração e mudanças
 Test-driven development
 Integração Contínua
 Refactoring




12                                                                             © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


E depois que o software é construído?




     Normalmente
     nós não nos
     importamos!


13                                                                             © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

E depois que o software é construído?




     Instruções de Instalação

           Red Hat Linux

     Nanana na nana na nanana. Na
     nanana na nana. Nana nanana
     nananan na nana na nana
     nanana na na nanana.

         Apache Web Server

     Nanana na nana na nanana. Na
     nanana na nana. Nana nanana
     nananan na nana na nana
     nanana na na nanana.




14                                                                               © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

O que limita a agilidade no ambiente de TI?




     HARDWARE
       não é
      maleável
       como
     SOFTWARE



15                                                                              © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

E depois que o software é construído?



                        deploy.rb
               Instruções de Instalação
     cookbook_file "/home/jazz/.jrubyrc" do

         # handle segfaults that occur when using JRuby w/ the IBM JDK

                              Red Hat Linux
         # see: http://jira.codehaus.org/browse/JRUBY-5700

         source "jrubyrc"




                                                                                        CLOUD
         mode "0644"
               Nanana na nana na nanana. Na
     end
                 nanana na nana. Nana nanana
     env_options nananan na nana na nana
                 = {

                 nanana na na nanana.
       # ensure that build scripts can easily access Java and Jruby from the normal
     path

         'ANT_HOME' => node[:ant][:ant_home],

                            Apache Web Server
         'JAVA_HOME' => node[:java][:java_path],

       'PATH' =>
     "#{node[:java][:java_path]}/bin:#{node[:jruby][:install_dir]}/jruby/bin:#{ENV[
     "PATH"]}"
               Nanana na nana na nanana. Na
     }
                 nanana na nana. Nana nanana
     # install external gem libs na nana na nana
                 nananan
     %w{cucumber nanana na na net-scp httpclient jruby-openssl json-
                 httpclient rake net-ssh nanana.
     jruby rubyzip}.each do |gem_name|

         execute "install_#{gem_name}" do

           action :run

           command "#{node[:jruby][:install_dir]}/jruby/bin/jgem install #{gem_name}"

           environment(env_options)

         end




16                                                                                                © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013



DevOps: Princípios e Valores
    Colaboração entre disciplinas

    Desenvolver e testar em um ambiente
                                                                      Pessoas
     próximo ao de produção
                                                                      Processos
    Implantar frequentemente usando
                                                                      Informação
     processos repetitíveis e confiáveis

    Monitorar continuamente e validar
     características operacionais de
     qualidade

                                                                                               17
                                                                                © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


Alavancando uma infraestrutura programável
#!/usr/bin/env ruby

class DevopsDeployer
  def initialize(build_url, build_id)
    @log = Logger.new(LOG_FILE)
    @log.level = LOG_LEVEL

    @iaas_gateway = IaasGateway.new(HsltProvider.new(),
LOG_FILE, LOG_LEVEL)
    @server_instance = nil
            .jsp                        .html
    rtc_build_system_provider = RtcBuildSystemProvider.new(
RTC_REPOSITORY_URL, RTC_USER_ID, RTC_PASSWORD_FILE)
    @build = rtc_build_system_provider.resolve_build(
build_url, ENV['buildResultUUID'], build_id)
                                                              Infrastructure
    @build_system_gateway = BuildSystemGateway.new(
                      .java
rtc_build_system_provider, LOG_FILE, LOG_LEVEL)
  end                                                            as Code
  def add_build_stamp
    template_file = WEB_APP_ROOT +
"/app/templates/pages/page.html"
    @log.info "Adding build ID stamp #{@build.id} to 
            .sh
#{template_file}"              chef recipes
    # Read in the file's contents as a string, replace
    # the build_id, then overwrite the original contents
    # of the file
    text = File.read(template_file)
    new_text = text.gsub(/{{ build_id }}/,
              Source Artifacts
"<a href="#{@build.uri}">#{@build.id}</a>")
    File.open(template_file, "w") { |file|

    }
  end
          Source Control
      file.puts new_text



# ...      Management
                                                                                                18
                                                                                 © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013



A esteira de entregas
                                   Build,
                                 Empacota,
                                   Testes
                                  unitários
   .jsp              .html        Binários

                               Configuração                         Implantar
           .java               da plataforma



   .sh               chef
                   recipes
                                                                          Ambiente de execução
                                           Artefatos entregáveis               do sistema
   Artefatos fontes
 Repositório de                                 Biblioteca
Controle de fontes
                                                                                                  19
                                                                                   © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013




20                                                                            © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Cenário da demonstração                                        Put configuration version
                                                                                               Rational Automation
                                                                                                   Framework
                                                                                                                         Apply
                                                  Load changes and build                                                 configurations
                                                                                                                         to system

                                                                                           Publish
                                                                                           packages
                     Post results to build                                                                 Rational Asset
Op Engineer                                                  Jazz Build Engine(s)                            Manager
                                                                                                         (Deployables Library)



                   Rational Team Concert     Trigger build                                            Get packages
                          (server)                                                     Execute
  Notify
                                                                                       tests
  results


                 Store
                 changes                           Provision
                                                   pattern with
                                                   build                                                   Virtual System

                   Rational Team Concert
                          (Client)

 Developer                                                                    Provision system
                                                                              from pattern with
                                                                              build



                                             Cloud Provisioning
                                                  System



                                                                                                                     © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013




SmartCloud Continuous Delivery

INTRODUZINDO A ENTREGA
CONTÍNUA

                                                                                           22
                                                                            © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


IBM SmartCloud Continuous Delivery




                  https://jazz.net/products/smartcloud-continuous-delivery/


                                                                                             23
                                                                              © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013


SmartCloud Continuous Delivery packaging
                         Extending Agile Development with Continuous Delivery



                                       Build -> Publish -> Deploy -> Test




Rational Team Concert

                                                                      IBM SmartCloud Provisioning



    Agile                                                                 Deployment to
 Development                                                              Virtual Systems


                                                                                                       24
                                                                                        © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013
                                                                            Generate automation
Continuous Delivery                                 Deployment
                                                      Design
                                                                                                               Pull configurations
                                                             OSLC
    Continuous                                                                         Configuration
                                                                                        Automation
    Integration
                                                                                             OSLC
           OSLC
                              Trigger                 Update
                              Delivery             configuration
                                                         s                Trigger
   Pull                                                                 deployment                              Deploy
 changes                                             Delivery                          Provisioning             service
                                                     Pipeline                          Automation

     Change                           Collaborative Lifecycle
                                                          OSLC                               OSLC


   Management                                                                                          Start stubs
                                           Management
           OSLC                                                     Configure
                                                                    endpoints            Service
                                                   Trigger                             Simulation &                             Cloud
                              Track
                              work                  tests                                Testing
  Track
  work                                                                                       OSLC



                     Track                                          Configure                                    Monitor
                    quality                                          agents                                     application
   Requirement                          Quality                                        Application
   Management                         Management                                       Monitoring
           OSLC                            OSLC                                              OSLC



                                                                                                                       Track
                          Link defect                                                                                incident

                                                                      Incident
                                                                    Management
                                                                         OSLC                                                 © 2013 IBM Corporation
26

          Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Sucessos em clientes IBM

Planos de instalação de 80 páginas




             35%                               95%                                 50%

        Crescimento da                   Redução no tempo                    12 equipes de
      demanda em 35% foi                     de testes de               desenvolvimento, múltipl
     suportado pela mesma                   aceitação de 2               as entregas semanais
            equipe                         semanas para 3
                                                                             Padronizou e
                                         horas, acelerando a
       Reduziu o tempo para                                             automatizou o processo
                                         entrega com maior
     início de um projeto de 3                                             de build e entrega
                                              qualidade
      meses para 4 semanas
                                                                           Redução de 50% no
                                           Preparação do
     Tempo de implantação:                                               tempo de build/entrega
                                         ambiente de testes:
      3 dias  15 minutos
                                          2 dias  1 hora

12                                                                                    © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013



     Sumário

    É o momento para DevOps
    Sucesso no DevOps requer
        Mudança Cultural
        Padronização dos processos
        Tecnologias para automação
    A Cloud é um catalizador para projetos DevOps (e
     vice versa)
    DevOps possibilita inovar enquanto se reduz o
     suporte a aplicações existentes

27                                                                                  © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013

Mais informações sobre DevOps


 Visão geral de DevOps
     – http://youtu.be/Lws9aMzRJ_g
 Demonstração do IBM SmartCloud Contiunous Delivery
     – http://youtu.be/8oLj3lGFRpc
 DevOps distilled: A new look at DevOps
     – http://ibm.co/WHHeKa
 Sobre o Produto (versão Trial, feedback, etc)
     – https://jazz.net/products/smartcloud-continuous-delivery/
 Sobre DevOps e Desenvolvimento de Software no Brasil Blog Rational
  Brasil
     – https://www.ibm.com/developerworks/mydeveloperworks/blogs/rationalbrasil/

28                                                                                   © 2013 IBM Corporation
Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013




          Felipe Freire – pfreire@br.ibm.com



29                                                                            © 2013 IBM Corporation

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega Continua
 
DevOps - A Origem
DevOps - A OrigemDevOps - A Origem
DevOps - A Origem
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começar
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
 
Explicando DevOps
Explicando DevOpsExplicando DevOps
Explicando DevOps
 
DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e devel
 
Startups e DevOps
Startups e DevOpsStartups e DevOps
Startups e DevOps
 
DevOps - o que é?
DevOps - o que é?DevOps - o que é?
DevOps - o que é?
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo Sato
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega Contínua
 
Lean agile testing
Lean agile testingLean agile testing
Lean agile testing
 
Como montar um DevOps Toolchain
Como montar um DevOps Toolchain Como montar um DevOps Toolchain
Como montar um DevOps Toolchain
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Cultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e develCultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e devel
 
DevOps - Estado da Arte
DevOps - Estado da ArteDevOps - Estado da Arte
DevOps - Estado da Arte
 
Implantando continuous delivery e seus oito principios
Implantando continuous delivery e seus oito principiosImplantando continuous delivery e seus oito principios
Implantando continuous delivery e seus oito principios
 

Ähnlich wie DevOps Apresentação Encontro Rational 2013

Powerlogic java ee open-source
Powerlogic   java ee open-sourcePowerlogic   java ee open-source
Powerlogic java ee open-source
Juarez Junior
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
megalevas
 
Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...
Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...
Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...
Vanessa Campos
 

Ähnlich wie DevOps Apresentação Encontro Rational 2013 (20)

Impacto do DevOps nos negócios
Impacto do DevOps nos negóciosImpacto do DevOps nos negócios
Impacto do DevOps nos negócios
 
Entrega Contínua - 2º Encontro Rational de Desenvolvimento de Software
Entrega Contínua -  2º Encontro Rational de Desenvolvimento de SoftwareEntrega Contínua -  2º Encontro Rational de Desenvolvimento de Software
Entrega Contínua - 2º Encontro Rational de Desenvolvimento de Software
 
Modernização de Aplicações
Modernização de AplicaçõesModernização de Aplicações
Modernização de Aplicações
 
TDC 2013 7 Dicas para acelerar os testes
TDC 2013  7 Dicas para acelerar os testesTDC 2013  7 Dicas para acelerar os testes
TDC 2013 7 Dicas para acelerar os testes
 
Agile Scaling Model - TDC 2012 - São Paulo SP
Agile Scaling Model - TDC 2012 - São Paulo SPAgile Scaling Model - TDC 2012 - São Paulo SP
Agile Scaling Model - TDC 2012 - São Paulo SP
 
Powerlogic java ee open-source
Powerlogic   java ee open-sourcePowerlogic   java ee open-source
Powerlogic java ee open-source
 
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
 
ALM focado em resultados
ALM focado em resultadosALM focado em resultados
ALM focado em resultados
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 
Desenvolvimento de Fornecedores e Distribuidores
Desenvolvimento de Fornecedores e DistribuidoresDesenvolvimento de Fornecedores e Distribuidores
Desenvolvimento de Fornecedores e Distribuidores
 
Brateste 2013: Testes Agile em Processos Agile
Brateste 2013:  Testes Agile em Processos AgileBrateste 2013:  Testes Agile em Processos Agile
Brateste 2013: Testes Agile em Processos Agile
 
Artigo
ArtigoArtigo
Artigo
 
Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...
Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...
Desenvolvimento ágil e pontos de função: gerenciando o projeto de maneira ági...
 
Desenvolvimento Ágil e Pontos de Função gerenciando o projeto de maneira ági...
Desenvolvimento Ágil e Pontos de Função  gerenciando o projeto de maneira ági...Desenvolvimento Ágil e Pontos de Função  gerenciando o projeto de maneira ági...
Desenvolvimento Ágil e Pontos de Função gerenciando o projeto de maneira ági...
 
Agile
AgileAgile
Agile
 
Artigo23
Artigo23Artigo23
Artigo23
 
DevOps
DevOpsDevOps
DevOps
 
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
 
Engenharia Ágil
Engenharia ÁgilEngenharia Ágil
Engenharia Ágil
 
Marcus leite gestao & automacao de processos
Marcus leite gestao & automacao de processosMarcus leite gestao & automacao de processos
Marcus leite gestao & automacao de processos
 

Mehr von Felipe Freire

Abertura encontro rational 12 marco 2013
Abertura encontro rational 12 marco 2013Abertura encontro rational 12 marco 2013
Abertura encontro rational 12 marco 2013
Felipe Freire
 

Mehr von Felipe Freire (10)

Kubecon 2017 Resumo
Kubecon 2017 ResumoKubecon 2017 Resumo
Kubecon 2017 Resumo
 
IBM Bluemix hands on
IBM Bluemix hands onIBM Bluemix hands on
IBM Bluemix hands on
 
TDC 2015: Implantação em cloud híbrida
TDC 2015: Implantação em cloud híbridaTDC 2015: Implantação em cloud híbrida
TDC 2015: Implantação em cloud híbrida
 
IBM MobileFirst Quality Assurance (Português)
IBM MobileFirst Quality Assurance (Português)IBM MobileFirst Quality Assurance (Português)
IBM MobileFirst Quality Assurance (Português)
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)
 
Acelerando o desenvolvimento na nuvem com BlueMix e DevOps
Acelerando o desenvolvimento na nuvem com BlueMix e DevOpsAcelerando o desenvolvimento na nuvem com BlueMix e DevOps
Acelerando o desenvolvimento na nuvem com BlueMix e DevOps
 
TDC 2014 Hackathon DevOps
TDC 2014 Hackathon DevOpsTDC 2014 Hackathon DevOps
TDC 2014 Hackathon DevOps
 
Abertura encontro rational 12 marco 2013
Abertura encontro rational 12 marco 2013Abertura encontro rational 12 marco 2013
Abertura encontro rational 12 marco 2013
 
Kanban Apresentação Encontro Rational 2013
Kanban Apresentação Encontro Rational 2013Kanban Apresentação Encontro Rational 2013
Kanban Apresentação Encontro Rational 2013
 
IBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesIBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em Testes
 

Kürzlich hochgeladen

Kürzlich hochgeladen (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

DevOps Apresentação Encontro Rational 2013

  • 1. Encontro Rational de Desenvolvimento de Software – 12 de março de 2013 – São Paulo DevOps Agilidade além do desenvolvimento, rumo à entrega contínua Felipe Freire – pfreire@br.ibm.com Encontro Rational de Desenvolvimento de Software Building better software © 2012 IBM Corporation
  • 2. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Agenda  Introdução DevOps –Desafios –Princípios e valores –Enterprise DevOps  SmartCloud Continuous Delivery –Solução –Demonstração 2 © 2013 IBM Corporation
  • 3. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Painel: Você conhece e aplica no seu dia-a-dia? Agile Scrum / Desenvolvimento Iterativo Integração contínua ITIL Release management CMDB Cloud Computing ALM Plataforma Jazz Rational Team Concert 3 © 2013 IBM Corporation
  • 4. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Desafios na entrega Pessoas Hoje as necessidades de negócio e também técnicas Processos estão exigindo mais do que as abordagens tradicionais de entrega podem suportar Informação Desenvolvimento Clientes Negócio (LoB) Operações e Teste 1º 2º Gap Gap Inovação rápida Código e Serviços para o e contínua Requisitos Testes Negócio © 2013 IBM Corporation
  • 5. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Solucionando os GAPs no ciclo de entregas de software Desenvolvimento Clientes Negócio (LoB) Operações e Teste 1º 2º Gap Gap Inovação rápida Código e Serviços para o e contínua Requisitos Testes Negócio Endereçado por… Endereçado por… Dev Agile Ops © 2013 IBM Corporation
  • 6. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Desafios de entregar no prazo com qualidade 34% de todos os novos projetos de TI implantam com atraso** 41% 51% 45% experimenta atrasos das aplicações sofrem experimentam atrasos na integração, roll-back por para identificação de configuração ou teste problemas de problemas e ajustes da aplicação qualidade em produção Produção 4-6 Desenvolvimento Testes 3-4 Semanas GAP GAP Semanas tempo médio tempo médio para entregar para isolar um uma mudança defeito simples 1. Dificuldade em atender às requisições de desenvolvimento e testes para configuração de ambientes – infraestrutura, middleware e aplicações 2. Defeitos em aplicações e problemas de desempenho causam 50% dos rollbacks 6 © 2013 IBM Corporation
  • 7. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 DevOps é… Um conjunto de princípios e valores que visam facilitar a colaboração entre disciplinas para… Pessoas 1. Possibilitar a rápida evolução da Processos implantação de serviços para o negócio Informação 2. Reduzir riscos e custos e aumentar a qualidade em todo o portfólio 7 © 2013 IBM Corporation
  • 8. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 DevOps: Casos de Sucesso no Mercado  400 servidores por  Pode desabilitar código administrador sem a necessidade de roll-back  Roll-outs diários para subconjuntos dos seus  Múltiplas implantações 750 milhões de usuários planejadas por dia 8 © 2013 IBM Corporation
  • 9. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Como eles obtiveram esses resultados? Automatizaram tudo Projetam e desenvolvem com esses objetivos • Por que outras empresas não conseguem? • As vezes elas não podem • Não está no DNA 9 © 2013 IBM Corporation
  • 10. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Adoção de DevOps no meio corporativo  Algumas práticas podem ser adotadas agora Operations Development Team Team Run Line of Business Agile Develop Operations Agile Development Build Manage Analyze Monitor Test Development QA Staging Production Incident Management Development and Test server Production Severs 10 © 2013 IBM Corporation
  • 11. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 IBM SmartCloud Continuous Delivery – Valor para o cliente  Reduzir ciclos de 3 semanas para algumas horas  Configurar ambientes de testes 90% mais rápido  98% de melhoria no atingimento de SLAs © 2013 IBM Corporation
  • 12. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Como Boas Equipes entregam Bons Softwares  Código modular  Gerenciamento de configuração e mudanças  Test-driven development  Integração Contínua  Refactoring 12 © 2013 IBM Corporation
  • 13. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 E depois que o software é construído? Normalmente nós não nos importamos! 13 © 2013 IBM Corporation
  • 14. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 E depois que o software é construído? Instruções de Instalação Red Hat Linux Nanana na nana na nanana. Na nanana na nana. Nana nanana nananan na nana na nana nanana na na nanana. Apache Web Server Nanana na nana na nanana. Na nanana na nana. Nana nanana nananan na nana na nana nanana na na nanana. 14 © 2013 IBM Corporation
  • 15. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 O que limita a agilidade no ambiente de TI? HARDWARE não é maleável como SOFTWARE 15 © 2013 IBM Corporation
  • 16. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 E depois que o software é construído? deploy.rb Instruções de Instalação cookbook_file "/home/jazz/.jrubyrc" do # handle segfaults that occur when using JRuby w/ the IBM JDK Red Hat Linux # see: http://jira.codehaus.org/browse/JRUBY-5700 source "jrubyrc" CLOUD mode "0644" Nanana na nana na nanana. Na end nanana na nana. Nana nanana env_options nananan na nana na nana = { nanana na na nanana. # ensure that build scripts can easily access Java and Jruby from the normal path 'ANT_HOME' => node[:ant][:ant_home], Apache Web Server 'JAVA_HOME' => node[:java][:java_path], 'PATH' => "#{node[:java][:java_path]}/bin:#{node[:jruby][:install_dir]}/jruby/bin:#{ENV[ "PATH"]}" Nanana na nana na nanana. Na } nanana na nana. Nana nanana # install external gem libs na nana na nana nananan %w{cucumber nanana na na net-scp httpclient jruby-openssl json- httpclient rake net-ssh nanana. jruby rubyzip}.each do |gem_name| execute "install_#{gem_name}" do action :run command "#{node[:jruby][:install_dir]}/jruby/bin/jgem install #{gem_name}" environment(env_options) end 16 © 2013 IBM Corporation
  • 17. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 DevOps: Princípios e Valores  Colaboração entre disciplinas  Desenvolver e testar em um ambiente Pessoas próximo ao de produção Processos  Implantar frequentemente usando Informação processos repetitíveis e confiáveis  Monitorar continuamente e validar características operacionais de qualidade 17 © 2013 IBM Corporation
  • 18. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Alavancando uma infraestrutura programável #!/usr/bin/env ruby class DevopsDeployer def initialize(build_url, build_id) @log = Logger.new(LOG_FILE) @log.level = LOG_LEVEL @iaas_gateway = IaasGateway.new(HsltProvider.new(), LOG_FILE, LOG_LEVEL) @server_instance = nil .jsp .html rtc_build_system_provider = RtcBuildSystemProvider.new( RTC_REPOSITORY_URL, RTC_USER_ID, RTC_PASSWORD_FILE) @build = rtc_build_system_provider.resolve_build( build_url, ENV['buildResultUUID'], build_id) Infrastructure @build_system_gateway = BuildSystemGateway.new( .java rtc_build_system_provider, LOG_FILE, LOG_LEVEL) end as Code def add_build_stamp template_file = WEB_APP_ROOT + "/app/templates/pages/page.html" @log.info "Adding build ID stamp #{@build.id} to .sh #{template_file}" chef recipes # Read in the file's contents as a string, replace # the build_id, then overwrite the original contents # of the file text = File.read(template_file) new_text = text.gsub(/{{ build_id }}/, Source Artifacts "<a href="#{@build.uri}">#{@build.id}</a>") File.open(template_file, "w") { |file| } end Source Control file.puts new_text # ... Management 18 © 2013 IBM Corporation
  • 19. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 A esteira de entregas Build, Empacota, Testes unitários .jsp .html Binários Configuração Implantar .java da plataforma .sh chef recipes Ambiente de execução Artefatos entregáveis do sistema Artefatos fontes Repositório de Biblioteca Controle de fontes 19 © 2013 IBM Corporation
  • 20. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 20 © 2013 IBM Corporation
  • 21. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Cenário da demonstração Put configuration version Rational Automation Framework Apply Load changes and build configurations to system Publish packages Post results to build Rational Asset Op Engineer Jazz Build Engine(s) Manager (Deployables Library) Rational Team Concert Trigger build Get packages (server) Execute Notify tests results Store changes Provision pattern with build Virtual System Rational Team Concert (Client) Developer Provision system from pattern with build Cloud Provisioning System © 2013 IBM Corporation
  • 22. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 SmartCloud Continuous Delivery INTRODUZINDO A ENTREGA CONTÍNUA 22 © 2013 IBM Corporation
  • 23. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 IBM SmartCloud Continuous Delivery https://jazz.net/products/smartcloud-continuous-delivery/ 23 © 2013 IBM Corporation
  • 24. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 SmartCloud Continuous Delivery packaging Extending Agile Development with Continuous Delivery Build -> Publish -> Deploy -> Test Rational Team Concert IBM SmartCloud Provisioning Agile Deployment to Development Virtual Systems 24 © 2013 IBM Corporation
  • 25. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Generate automation Continuous Delivery Deployment Design Pull configurations OSLC Continuous Configuration Automation Integration OSLC OSLC Trigger Update Delivery configuration s Trigger Pull deployment Deploy changes Delivery Provisioning service Pipeline Automation Change Collaborative Lifecycle OSLC OSLC Management Start stubs Management OSLC Configure endpoints Service Trigger Simulation & Cloud Track work tests Testing Track work OSLC Track Configure Monitor quality agents application Requirement Quality Application Management Management Monitoring OSLC OSLC OSLC Track Link defect incident Incident Management OSLC © 2013 IBM Corporation
  • 26. 26 Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Sucessos em clientes IBM Planos de instalação de 80 páginas 35% 95% 50% Crescimento da Redução no tempo 12 equipes de demanda em 35% foi de testes de desenvolvimento, múltipl suportado pela mesma aceitação de 2 as entregas semanais equipe semanas para 3 Padronizou e horas, acelerando a Reduziu o tempo para automatizou o processo entrega com maior início de um projeto de 3 de build e entrega qualidade meses para 4 semanas Redução de 50% no Preparação do Tempo de implantação: tempo de build/entrega ambiente de testes: 3 dias  15 minutos 2 dias  1 hora 12 © 2013 IBM Corporation
  • 27. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Sumário  É o momento para DevOps  Sucesso no DevOps requer  Mudança Cultural  Padronização dos processos  Tecnologias para automação  A Cloud é um catalizador para projetos DevOps (e vice versa)  DevOps possibilita inovar enquanto se reduz o suporte a aplicações existentes 27 © 2013 IBM Corporation
  • 28. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Mais informações sobre DevOps  Visão geral de DevOps – http://youtu.be/Lws9aMzRJ_g  Demonstração do IBM SmartCloud Contiunous Delivery – http://youtu.be/8oLj3lGFRpc  DevOps distilled: A new look at DevOps – http://ibm.co/WHHeKa  Sobre o Produto (versão Trial, feedback, etc) – https://jazz.net/products/smartcloud-continuous-delivery/  Sobre DevOps e Desenvolvimento de Software no Brasil Blog Rational Brasil – https://www.ibm.com/developerworks/mydeveloperworks/blogs/rationalbrasil/ 28 © 2013 IBM Corporation
  • 29. Encontro Rational de Desenvolvimento de Software – 12 de Março de 2013 Felipe Freire – pfreire@br.ibm.com 29 © 2013 IBM Corporation

Hinweis der Redaktion

  1. * - Forrestor Study on DevOps, 2011** - From a commissioned study conducted by Forrester Consulting on behalf of IBM*** - Need a study Q: What do we see in industry today?A: 41% of organizations experience delays in application installs, 51% of apps rolled back due to production defect, 45% experience delays due to troubleshooting/fine tuning in production. Cycle time – 4-6 weeks to deploy code changes
  2. Citar o caso da Serasa no mainframe que implantou realease management limitando o número de entregas para 1 ao mês e depois de alguns meses buscou aumentar essa quantidade (devido à melhor organização da equipe, automação, et)
  3. Green == Existing capabilitiesOrange == New capabilitiesDashed border and Italics == No OSLC provider specification but is aspirational