Como se tornar um engenheiro de DevOps em seis meses ou até mais rápido. Parte 3. Versões

Como se tornar um engenheiro de DevOps em seis meses ou até mais rápido. Parte 1. Introdução
Como se tornar um engenheiro de DevOps em seis meses ou até mais rápido. Parte 2. Configuração



Atualize a memória


Na primeira parte, falamos sobre a cultura e os objetivos do DevOps, na segunda - como estabelecer as bases para futuras implantações de código usando o Terraform, que por si só é código. Na terceira parte, discutiremos como salvar todas essas partes do código da bagunça completa. Spoiler: É tudo sobre o Git!

Bônus: também falaremos sobre como usar esse mesmo Git para criar e promover sua própria marca pessoal. A imagem mostra onde estamos agora.



Por que se preocupar com isso?


O que se entende por versionamento? Imagine que você esteja trabalhando em algum tipo de software e faça alterações constantemente, adicionando ou removendo funções, conforme necessário. Freqüentemente, a última mudança será fundamental, quebrando tudo o que foi criado anteriormente. Se você é um representante de uma escola antiga, provavelmente nomeará seu primeiro arquivo como awesome_code.p1.

Então você começa a fazer alterações e precisa salvar o que funciona, caso precise voltar a ela. Portanto, você renomeia seu arquivo para: awesome_code.12.25.2018.p1.

Tudo funciona bem até quando você faz várias alterações no mesmo dia e é necessário nomear o novo arquivo como awesome_code.GOOD.12.25.2018.p1. E continue o bom trabalho.

Provavelmente, em um ambiente profissional, você tem várias equipes colaborando na mesma base de código, o que viola ainda mais esse modelo. Escusado será dizer que este trem louco está rapidamente descarrilando.

Controle de código fonte





Use o sistema de controle de versão do SCC - essa é uma maneira de armazenar seus arquivos em um local centralizado, onde várias equipes podem trabalhar juntas em uma base de código comum. Esta ideia não é nova. A primeira menção ao sistema SCC que consegui encontrar remonta a 1972. Portanto, a ideia de que devemos centralizar nosso código em um só lugar está definitivamente desatualizada.

No entanto, a ideia de que todos os artefatos produzidos devem ser versionados é relativamente nova. Isso significa que tudo relacionado ao seu ambiente de produção deve ser armazenado no sistema de controle de versão, sujeito a rastreamento, verificação e registro do histórico de alterações.

Além disso, a aplicação da lei "todos os artefatos de produtos devem ser versionados" realmente faz você abordar os problemas pelo princípio da "automação primeiro".

Por exemplo, quando você decide simplesmente clicar em um problema complexo em seu ambiente de desenvolvimento da AWS, pode fazer uma pausa e pensar: “este é um clique em um artefato com versão”? Obviamente, a resposta será "não".

Embora seja prática comum criar protótipos rápidos através da interface do usuário para verificar se algo está funcionando ou não, seu trabalho terá vida curta. Portanto, ao realizar um trabalho promissor e demorado, faça-o no Terraform ou outra ferramenta de infraestrutura como código.Lembre-se, você deve gerenciar artefatos com versão e armazená-los usando o repositório Git.

Repositório Git


Antes do Git, o uso de SCCS como SVN era estranho, pouco amigável e geralmente uma experiência bastante dolorosa. A diferença com o Git é que ele fornece controle de versão distribuído. Simplificando, você não bloqueia outros usuários do repositório de código-fonte centralizado enquanto estiver trabalhando nas alterações, mas trabalhando com uma cópia completa da base de código. Depois de concluir seu trabalho, esta cópia será incorporada no repositório principal.

Lembre-se de que o exposto acima é uma simplificação grosseira de como isso funciona. Essa descrição é suficiente para os propósitos deste artigo; no entanto, um conhecimento detalhado do Git é uma experiência trabalhosa, mas gratificante.



Por enquanto, lembre-se de que o Git não funciona como o SVN. Este é um sistema de gerenciamento de código-fonte (versão) distribuído no qual várias equipes de desenvolvimento podem trabalhar com segurança e confiabilidade em uma base de código comum.

Por quê você precisa saber disso?


Eu afirmo fortemente que, sem saber como o Git funciona, você nunca se tornará um engenheiro profissional de DevOps (Cloud). Como estudá-lo? Observe que um resultado de pesquisa do Google para "Git Tutorial" geralmente fornece links para tutoriais extremamente inchados e confusos. No entanto, alguns livros realmente sensatos se deparam com eles.

Uma dessas séries de tutoriais que recomendo a todos que leiam, estudem e usem na prática são os tutoriais Git da Atlassian . Eles são bons o suficiente, mas uma seção, Git Workflows , que descreve os fluxos de trabalho deste repositório, é usada por programadores profissionais em todo o mundo.

Outro tutorial realmente bom é explorar a ramificação do repositório Learn Git Branching. Os tutoriais da Atlassian são construídos com base no princípio "ler e aprender", e o Learn Git Branching é um tutorial interativo. De qualquer forma, você não irá longe no aprendizado do DevOps, a menos que entenda como este repositório funciona.



Observo que a falta de entendimento de como funciona a função Git Branching ou a incapacidade de explicar o que é o Gitflow afogam durante uma entrevista 99% dos candidatos à candidatura do engenheiro de desenvolvimento do DevOps. Esse é o ponto principal - você pode vir para uma entrevista e não conhecer o Terraform ou qualquer outra ferramenta mais recente de infraestrutura como código, e isso é normal, porque você pode estudá-lo no processo. Mas a ignorância do trabalho do Git indica que você não tem o básico das práticas recomendadas modernas no desenvolvimento de software, não importa se o DevOps está relacionado ou não. Isso indica aos gerentes de contratação que sua curva de aprendizado é muito desigual.

Por outro lado, sua capacidade de falar com confiança sobre as melhores práticas do Git informa aos gerentes de contratação que você criou a instalação para fazer o desenvolvimento do software primeiro, e essa é a imagem que você deseja projetar. Conclusão: você não precisa se tornar o principal especialista em Git do mundo para obter esse trabalho incrível de DevOps, mas precisa viver e respirar o Git por um tempo para conversar com confiança sobre o que está acontecendo com ele. Para fazer isso, no mínimo, você deve ter um bom entendimento de como fazer o seguinte:

  • crie uma cópia do repositório (bifurque um repositório);
  • Crie uma ramificação Git
  • sincronizar o fluxo com o repositório e vice-versa;
  • crie uma solicitação pull.

Qual é o próximo?


Depois de aprender as lições introdutórias do Git, obtenha uma conta no GitHub. Este é o repositório Git de código aberto mais comum, e você provavelmente desejará estar com o restante dos seguidores do Git.

Assim que você tiver sua conta no GitHub, comece a inserir seu código nele. Corrija tudo o que requer que você escreva código no processo de trabalho no GitHub. Isso não apenas instila uma boa disciplina no manuseio de versões, mas também ajuda a criar sua própria marca.

Nota: ao explorar o uso do git + GitHub, preste atenção especial ao Pull Request (ou PRs, se você quiser ser legal).

A marca


Falando em inclinação: a marca própria é uma maneira de demonstrar ao mundo do que você é capaz. Uma maneira (atualmente é uma das melhores!) É vincular firmemente o GitHub como um proxy para sua marca. Quase todos os empregadores hoje em dia pedem isso de uma maneira ou de outra. Portanto, você deve se esforçar para ter uma conta do GitHub organizada e cuidadosamente supervisionada. Isso é algo que você pode colocar no seu currículo e se orgulhar.



Nos artigos a seguir, mostrarei como criar um site simples mas interessante no GitHub usando o gerador de sites estáticos Hugo. Está escrito em Go e, talvez, hoje seja o mais rápido entre os análogos. Hugo reúne cerca de 5.000 páginas em 6 segundos, 75 vezes a velocidade do intermediário. Mas, por enquanto, você só precisa colocar seu código no GitHub.
Mais tarde, quando você ganha experiência, vale a pena pensar em ter duas contas no GitHub. Um para armazenar seu próprio aplicativo escrito, código de trabalho e outro para armazenar o código que você deseja mostrar para outras pessoas.

Então, resumimos o acima:

  • aprender git;
  • Publique no GitHub tudo o que aprender
  • use duas contas para armazenar e demonstrar tudo o que você aprendeu
    a se beneficiar disso!

achados


Mantenha-se atualizado com os últimos desenvolvimentos nesta área, como o GitOps. O GitOps leva todas as idéias que discutimos até agora para um novo nível, onde tudo é feito usando git, solicitações pull e pipelines de implantação.

Observe que o GitOps e desenvolvimentos semelhantes falam sobre o lado comercial, ou seja, indicam que você não está apenas usando o Git, porque é legal e elegante. Você o utiliza para garantir agilidade nos negócios, acelerar a inovação e fornecer funções mais rápidas, ou seja, para finalmente ganhar mais dinheiro!

Como se tornar um engenheiro de DevOps em seis meses ou até mais rápido. Parte 4. Pacote de Software

Um pouco de publicidade :)


Obrigado por ficar com a gente. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando aos seus amigos o VPS baseado em nuvem para desenvolvedores a partir de US $ 4,99 , um analógico exclusivo de servidores básicos que foi inventado por nós para você: Toda a verdade sobre o VPS (KVM) E5-2697 v3 (6 núcleos) 10GB DDR4 480GB SSD 1Gbps de 10GB de US $ 19 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).

Dell R730xd 2 vezes mais barato no data center Equinix Tier IV em Amsterdã? Somente nós temos 2 TVs Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV a partir de US $ 199 na Holanda!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - a partir de US $ 99! Leia sobre como construir infraestrutura classe c usando servidores Dell R730xd E5-2650 v4 que custam 9.000 euros por um centavo?

All Articles