{"id":40694,"date":"2023-04-10T16:37:47","date_gmt":"2023-04-10T19:37:47","guid":{"rendered":"https:\/\/blog.locaweb.com.br\/?p=40694"},"modified":"2023-04-10T17:46:36","modified_gmt":"2023-04-10T20:46:36","slug":"quais-sao-as-etapas-devops","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/quais-sao-as-etapas-devops\/","title":{"rendered":"Etapas DevOps: veja como trabalhar com essa cultura"},"content":{"rendered":"\n<p>Ol\u00e1 pessoal, tudo bem com voc\u00eas? Hoje, novamente venho trazer um tema muito importante quando falamos de desenvolvimento de software moderno. Uma palavra que \u00e0s vezes n\u00e3o entendemos muito bem o que significa e at\u00e9 \u00e9 confundida com um cargo, mas, na verdade, estamos falando de uma cultura. Vamos falar hoje sobre as etapas no DevOps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que \u00e9 DevOps?<\/h2>\n\n\n\n<p>O DevOps \u00e9 uma cultura em <strong>engenharia de software<\/strong> criada para integrar quem desenvolve software (desenvolvedores &#8211; dev) com quem mant\u00e9m a infraestrutura do software (sysadmins &#8211; ops) de maneira que a comunica\u00e7\u00e3o entre as \u00e1reas seja fluida, com o foco na automa\u00e7\u00e3o e monitoramento dos processos realizados durante o ciclo de vida de softwares.<\/p>\n\n\n\n<p>A ideia geral por tr\u00e1s da cultura \u00e9 aumentar a maturidade do time envolvido na <strong>produ\u00e7\u00e3o de software<\/strong> como um todo bem como aumentar a qualidade de toda cadeia de desenvolvimento, seja do c\u00f3digo entregado, de testes realizados, da disponibilidade da aplica\u00e7\u00e3o, da configura\u00e7\u00e3o dos ambientes, etc.<\/p>\n\n\n\n<p>Ao optar pelo <strong>DevOps<\/strong> os times s\u00e3o capazes de controlar melhor todas as <strong>etapas do desenvolvimento<\/strong>, automatizar diversos processos importantes, padronizar configura\u00e7\u00f5es e se preocupar realmente com o que importa quando o assunto \u00e9 o processo de desenvolvimento como um todo.<\/p>\n\n\n\n<p>E com essa ideia do DevOps em quest\u00e3o de automa\u00e7\u00e3o. Vemos muito aplicado junto o conceito de Infrastructure as Code (Iac) que nada mais \u00e9 utilizar <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/linguagens-de-programacao-web\/\">linguagens de programa\u00e7\u00e3o<\/a> descritivas de alto n\u00edvel (como yaml, json, etc) em arquivos de configura\u00e7\u00e3o padronizados, aliados a softwares de automa\u00e7\u00e3o com o objetivo de automatizar o provisionamento da infraestrutura de TI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quais s\u00e3o as Etapas DevOps?<\/h2>\n\n\n\n<p>O DevOps \u00e9 constitu\u00eddo de algumas etapas (cada literatura utiliza um contexto diferente), iremos usar 8 etapas:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/04\/etapas-devops.png\" alt=\"etapas devops\" class=\"wp-image-40696\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/04\/etapas-devops.png 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/04\/etapas-devops-500x308.png 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/04\/etapas-devops-768x473.png 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2023\/04\/etapas-devops-150x92.png 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><figcaption class=\"wp-element-caption\">Etapas DevOps<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">1) Planejar (Plan)<\/h3>\n\n\n\n<p>A etapa antes de colocar a m\u00e3o no c\u00f3digo em si. Nessa etapa pensamos nos requisitos do projeto, em como iremos desenvolver as regras de neg\u00f3cio, no que precisamos para o realizar o bom desenvolvimento, etc.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2) Codificar (Code)<\/h3>\n\n\n\n<p>Nessa etapa colocamos a m\u00e3o na massa e transformamos as regras de neg\u00f3cio em c\u00f3digo, gerenciamos o c\u00f3digo-fonte atrav\u00e9s de ferramentas de controle de vers\u00e3o (SVN, git, mercurial, etc) tamb\u00e9m \u00e9 nessa etapa que nos preocupamos com code review.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3) Compilar (Build)<\/h3>\n\n\n\n<p>Nessa etapa iremos verificar se a sintaxe do que desenvolvemos est\u00e1 correta, faremos a valida\u00e7\u00e3o est\u00e1tica do c\u00f3digo e prepararemos o pacote para poder realizar posteriormente o deploy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4) Testar (Test)<\/h3>\n\n\n\n<p>Aqui iremos realizar os testes do nosso c\u00f3digo, de prefer\u00eancia iremos automatizar todos os testes poss\u00edveis, seja de unidade ou at\u00e9 mesmo de UI, de modo que possamos atrav\u00e9s do resultado dos testes validar a confiabilidade do que foi desenvolvido e mitigar as poss\u00edveis falhas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5) Lan\u00e7ar (Release)<\/h3>\n\n\n\n<p>Nessa etapa iremos direcionar o c\u00f3digo ao local onde realizaremos o deploy, prepararemos todo o c\u00f3digo para o deploy, ajustaremos a vers\u00e3o do software, etc. Essa \u00e9 a etapa de pr\u00e9-implanta\u00e7\u00e3o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6) Libera\u00e7\u00e3o (Deploy)<\/h3>\n\n\n\n<p>Aqui iremos realizar as a\u00e7\u00f5es necess\u00e1rias para a nova vers\u00e3o do software estar liberada, seja apontamentos diversos, aprova\u00e7\u00f5es que devem ser executadas para a nova vers\u00e3o entrar no ar e o gerenciamento de mudan\u00e7a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7) Operar (Operate)<\/h3>\n\n\n\n<p>Nessa etapa realizaremos as configura\u00e7\u00f5es e gerenciamento da infraestrutura de modo que o software se mantenha dispon\u00edvel durante a maior parte poss\u00edvel de tempo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8) Monitorar (Monitor)<\/h3>\n\n\n\n<p>Nessa etapa iremos utilizar ferramentas de monitoramento e observabilidade para verificar o estado da infraestrutura e da aplica\u00e7\u00e3o como um todo, de modo a prever os gargalos e poder agir em caso de indisponibilidade.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Ferramentas DevOps<\/strong><\/h2>\n\n\n\n<p>Como parte do processo de DevOps \u00e9 dado atrav\u00e9s de <strong>automatiza\u00e7\u00e3o de processos<\/strong>, v\u00e1rias ferramentas comp\u00f5em as etapas DevOps. Por exemplo, quando falamos da etapa de c\u00f3digo, podemos citar o <strong>git<\/strong> que \u00e9 um sistema de controle de vers\u00e3o, bem como uma IDE como por exemplo o <strong>IntelliJ<\/strong>.<\/p>\n\n\n\n<p>Na etapa de testes, podemos citar <strong>JUnit<\/strong> e o <strong>PHPUnit<\/strong> para realizar testes de unidade, <strong>Selenium<\/strong> e <strong>Cypress<\/strong> para realizar testes de UI. Na etapa de monitorar podemos citar <strong>New Relic<\/strong>, <strong>Datadog<\/strong> e <strong>Prometeus<\/strong>, por exemplo.<\/p>\n\n\n\n<p>J\u00e1 como exemplos de ferramentas Iac temos: <strong>Chef<\/strong>, <strong>Puppet<\/strong>, <strong>Terraform<\/strong>, <strong>Docker<\/strong>, <strong>Kubernetes<\/strong> etc.<\/p>\n\n\n\n<p>Essas ferramentas facilitam e muito o trabalho do time, melhorando parte dos processos e automatizando outros e s\u00e3o indispens\u00e1veis para o bom andamento da cultura dentro do time.<\/p>\n\n\n\n<p>Um evento que fala bastante sobre o tema DevOps \u00e9 o <a href=\"https:\/\/devopsdays.org\/\">DevOps Days<\/a>, que tem em v\u00e1rios lugares do mundo, incluindo o Brasil. Falando nisso, at\u00e9 palestrei esse ano de 2023 na edi\u00e7\u00e3o de Goi\u00e2nia. \u00c9 um \u00f3timo ambiente para conhecer mais sobre a cultura DevOps e entender a utiliza\u00e7\u00e3o das ferramentas e fornecedores de tecnologia, entendendo tamb\u00e9m do mercado DevOps.<\/p>\n\n\n\n<p>Mas, como disse no come\u00e7o, algumas pessoas acabam confundindo a cultura DevOps com um cargo. Ent\u00e3o, quando voc\u00ea ver um cargo descrito como DevOps, a ideia \u00e9 ter uma pessoa que ser\u00e1 respons\u00e1vel por gerenciar a infraestrutura de aplica\u00e7\u00f5es utilizando a cultura DevOps apoiado no conceito de Infraestrutura as Code. Ou seja, uma pessoa sysadmin 2.0<\/p>\n\n\n\n<p>Desejo que esse artigo tenha ajudado voc\u00ea a entender um pouco melhor o mundo DevOps. E, caso tenha alguma d\u00favida me mande DM no <a href=\"http:\/\/twitter.com\/pokemaobr\">twitter<\/a>.<\/p>\n\n\n\n<div class=\"user-cta-block\" style=\"background-color:#2E333C;\"><p>O Servidor VPS tem a flexibilidade e autonomia que voc\u00ea precisa<\/p><a class=\"user-cta\" style=\"background-color: #00acc8\n;\" href=\"https:\/\/www.locaweb.com.br\/cloud\/vps-locaweb-b\/?utm_source=blog&amp;utm_medium=own&amp;utm_campaign=blog-etapas-devops-vps&amp;utm_id=blog\" target=\"_blank\" rel=\"noopener\">CONHE\u00c7A!<\/a><\/div>\n\n\n\t\t<div class=\"wp-block-web-stories-embed web-stories-embed aligncenter\">\n\t\t\t<div class=\"wp-block-embed__wrapper\" style=\"--aspect-ratio: 0.600000; --width: 360px; --height: 600px\">\n\t\t\t\t<amp-story-player>\n\t\t\t\t\t<a href=\"https:\/\/blog.locaweb.com.br\/web-stories\/tipos-de-deploy\/\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/07\/cropped-qual-deploy-usar.png\"\n\t\t\t\t\t\t\t\twidth=\"360\"\n\t\t\t\t\t\t\t\theight=\"600\"\n\t\t\t\t\t\t\t\talt=\"Tipos de deploy: quando usar cada um\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t\t\t\tdata-amp-story-player-poster-img\n\t\t\t\t\t\t\t\/>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/amp-story-player>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal, tudo bem com voc\u00eas? Hoje, novamente venho trazer um tema muito importante quando falamos de desenvolvimento de software moderno. Uma palavra que \u00e0s vezes n\u00e3o entendemos muito bem o que significa e at\u00e9 \u00e9 confundida com um cargo, mas, na verdade, estamos falando de uma cultura. Vamos falar hoje sobre as etapas no [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":40697,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-40694","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/40694","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=40694"}],"version-history":[{"count":5,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/40694\/revisions"}],"predecessor-version":[{"id":40706,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/40694\/revisions\/40706"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/40697"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=40694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=40694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=40694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}