commit
53c32f9949
@ -43,43 +43,42 @@ Uma vez implantado, vamos operá-lo. E operá-lo pode envolver algo como você c
|
|||||||
|
|
||||||
## Monitoramento
|
## Monitoramento
|
||||||
|
|
||||||
All of the above parts lead to the final step because you need to have monitoring, especially around operational issues auto-scaling troubleshooting like you don't know
|
Todas as partes acima levam à etapa final porque você precisa ter monitoramento, especialmente em torno de questões operacionais, solução de problemas de escalonamento automático, como se você não soubesse que há um problema se não tiver monitoramento instalado para informar que há um problema portanto, algumas das coisas para as quais você pode criar monitoramento são utilização de memória, utilização de espaço em disco, utilização da CPU, API endpoint, tempo de resposta, a rapidez com que esse endpoint está respondendo e uma grande parte disso também são logs. Os logs oferecem aos desenvolvedores a capacidade de ver o que está acontecendo sem precisar acessar os sistemas de produção.
|
||||||
there's a problem if you don't have monitoring in place to tell you that there's a problem so some of the things you might build monitoring for are memory utilization CPU utilization disk space, API endpoint, response time, how quickly that endpoint is responding and a big part of that as well is logs. Logs give developers the ability to see what is happening without having to access production systems.
|
|
||||||
|
|
||||||
## Rinse & Repeat
|
## Limpe & Repita
|
||||||
|
|
||||||
Once that's in place you go right back to the beginning to the planning stage and go through the whole thing again
|
Uma vez implementado, você volta ao início, ao estágio de planejamento, e repassa tudo novamente.
|
||||||
|
|
||||||
## Continuous
|
## Contínua
|
||||||
|
|
||||||
Many tools help us achieve the above continuous process, all this code and the ultimate goal of being completely automated, cloud infrastructure or any environment is often described as Continuous Integration/ Continuous Delivery/Continous Deployment or “CI/CD” for short. We will spend a whole week on CI/CD later on in the 90 Days with some examples and walkthroughs to grasp the fundamentals.
|
Muitas ferramentas nos ajudam a alcançar o processo contínuo acima, todo esse código e o objetivo final de ser completamente automatizado, a infraestrutura em nuvem ou qualquer ambiente é frequentemente descrito como Integração Contínua/Entrega Contínua/Implantação Contínua ou “CI/CD” para abreviar. Passaremos uma semana inteira sobre CI/CD mais tarde nos 90 dias com alguns exemplos e orientações para compreender os fundamentos.
|
||||||
|
|
||||||
### Continuous Delivery
|
### Entrega Contínua
|
||||||
|
|
||||||
Continuous Delivery = Plan > Code > Build > Test
|
Entrega Contínua = Planejar > Codar > Construir > Testar
|
||||||
|
|
||||||
### Continuous Integration
|
### Integração Contínua
|
||||||
|
|
||||||
This is effectively the outcome of the Continuous Delivery phases above plus the outcome of the Release phase. This is the case for both failure and success but this is fed back into continuous delivery or moved to Continuous Deployment.
|
Este é efetivamente o resultado das fases de Entrega Contínua acima, mais o resultado da fase de Lançamento(Release). Esse é o caso tanto do fracasso quanto do sucesso, mas isso é realimentado na entrega contínua ou movido para a implantação contínua.
|
||||||
|
|
||||||
Continuous Integration = Plan > Code > Build > Test > Release
|
Integração Contínua = Plano > Código > Construir > Teste > Lançamento(Release)
|
||||||
|
|
||||||
### Continuous Deployment
|
### Implantação Contínua
|
||||||
|
|
||||||
If you have a successful release from your continuous integration then move to Continuous Deployment which brings in the following phases
|
Se você tiver uma versão bem-sucedida de sua integração contínua, mude para a implantação contínua, que traz as seguintes fases
|
||||||
|
|
||||||
CI Release is Success = Continuous Deployment = Deploy > Operate > Monitor
|
O lançamento(release) da Integração Contínua foi bem-sucedida = Implantação Contínua = Implantar > Operar > Monitorar
|
||||||
|
|
||||||
You can see these three Continuous notions above as the simple collection of phases of the DevOps Lifecycle.
|
Você pode ver essas três noções Contínuas acima como uma simples coleção de fases do ciclo de vida do DevOps.
|
||||||
|
|
||||||
This last bit was a bit of a recap for me on Day 3 but think this makes things clearer for me.
|
Esta última parte foi uma recapitulação para mim no Dia 3, mas acho que isso torna as coisas mais claras para mim.
|
||||||
|
|
||||||
### Resources
|
### Recursos
|
||||||
|
|
||||||
- [DevOps for Developers – Software or DevOps Engineer?](https://www.youtube.com/watch?v=a0-uE3rOyeU)
|
- [DevOps para desenvolvedores – Engenheiro de software ou DevOps?](https://www.youtube.com/watch?v=a0-uE3rOyeU)
|
||||||
- [Techworld with Nana -DevOps Roadmap 2022 - How to become a DevOps Engineer? What is DevOps?](https://www.youtube.com/watch?v=9pZ2xmsSDdo&t=125s)
|
- [Techworld with Nana -DevOps Roadmap 2022 - Como se tornar um engenheiro DevOps? O que é DevOps?](https://www.youtube.com/watch?v=9pZ2xmsSDdo&t=125s)
|
||||||
- [How to become a DevOps Engineer in 2021 - DevOps Roadmap](https://www.youtube.com/watch?v=5pxbp6FyTfk)
|
- [Como se tornar um engenheiro DevOps em 2021 - DevOps Roadmap](https://www.youtube.com/watch?v=5pxbp6FyTfk)
|
||||||
|
|
||||||
If you made it this far then you will know if this is where you want to be or not.
|
Se você chegou até aqui, saberá se é aqui que deseja estar ou não.
|
||||||
|
|
||||||
See you on [Day 6](day06.md).
|
Vejo você no [Dia 6](day06.md).
|
||||||
|
75
2022/pt-br/Days/day06.md
Normal file
75
2022/pt-br/Days/day06.md
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
title: '#90DaysOfDevOps - DevOps - As histórias reais - Day 6'
|
||||||
|
published: false
|
||||||
|
description: 90DaysOfDevOps - DevOps - As histórias reais
|
||||||
|
tags: 'devops, 90daysofdevops, learning'
|
||||||
|
cover_image: null
|
||||||
|
canonical_url: null
|
||||||
|
id: 1048855
|
||||||
|
---
|
||||||
|
|
||||||
|
## DevOps - As histórias reais
|
||||||
|
|
||||||
|
No início, o DevOps era considerado fora do alcance de muitos de nós, pois não tínhamos empresas como a Netflix ou uma empresa da Fortune 500 praticando-o, mas acho que agora está começando a voltar ao normal, à medida que as empresas começam a adotar uma prática DevOps.
|
||||||
|
|
||||||
|
Você verá pelas referências abaixo que existem muitos setores e verticais diferentes que usam DevOps e, portanto, têm um enorme efeito positivo em seus objetivos de negócios.
|
||||||
|
|
||||||
|
O benefício geral aqui é que o DevOps, se feito corretamente, deve ajudar a melhorar a velocidade e a qualidade do desenvolvimento de software do seu negócio.
|
||||||
|
|
||||||
|
Queria aproveitar este dia para analisar empresas de sucesso que adotaram uma prática DevOps e compartilhar alguns recursos sobre isso. Esta será uma grande oportunidade para a comunidade mergulhar e ajudar aqui. Você adotou uma cultura DevOps em seu negócio? Foi bem sucedido?
|
||||||
|
|
||||||
|
Mencionei o Netflix acima e irei abordá-lo novamente, pois é um modelo muito bom e bastante avançado em comparação com o que geralmente vemos hoje, mas também mencionarei algumas outras grandes marcas que estão tendo sucesso nisso.
|
||||||
|
|
||||||
|
## Amazon
|
||||||
|
|
||||||
|
Em 2010, a Amazon mudou a área de seu servidor físico para a nuvem AWS (Amazon Web Services). Isso lhes permitiu economizar recursos aumentando e diminuindo a capacidade em incrementos muito pequenos. Também sabemos que a AWS gerou altas receitas enquanto administrava a filial de varejo da Amazon.
|
||||||
|
|
||||||
|
A Amazon adotou em 2011 (de acordo com o link abaixo) um processo de implantação contínua onde seus desenvolvedores poderiam implantar código sempre que quisessem e em qualquer servidor que precisassem. Isso permitiu que a Amazon conseguisse implantar novo software em servidores de produção em uma média de 11,6 segundos!
|
||||||
|
|
||||||
|
## Netflix
|
||||||
|
|
||||||
|
Quem não usa Netflix? É um serviço de streaming de alta qualidade e, pessoalmente falando, oferece uma ótima experiência ao usuário.
|
||||||
|
|
||||||
|
Por que a experiência do usuário é tão boa? Bem, a capacidade de fornecer um serviço sem nenhuma lembrança pessoal de falhas exige velocidade, flexibilidade e atenção à qualidade.
|
||||||
|
|
||||||
|
Os desenvolvedores da Netflix podem criar automaticamente trechos de código em imagens da web implantáveis, sem depender de operações de TI. À medida que as imagens são atualizadas, elas são integradas à infraestrutura da Netflix por meio de uma plataforma personalizada baseada na Web.
|
||||||
|
|
||||||
|
O monitoramento contínuo está em vigor para que, se a implantação das imagens falhar, as novas imagens sejam revertidas e o tráfego seja redirecionado de volta para a versão anterior.
|
||||||
|
|
||||||
|
Há uma ótima palestra listada abaixo que aborda mais sobre o que fazer e o que não fazer pela Netflix em suas equipes.
|
||||||
|
|
||||||
|
## Etsy
|
||||||
|
|
||||||
|
Tal como acontece com muitos de nós e com muitas empresas, houve uma verdadeira luta em torno de implementações lentas e dolorosas. Na mesma linha, também podemos ter experiência de trabalhar em empresas que possuem muitos silos e equipes que não trabalham bem juntas.
|
||||||
|
|
||||||
|
Pelo que pude perceber ao ler sobre Amazon e Netflix é que o Etsy pode ter adotado a permissão para que os desenvolvedores implantassem seu código por volta do final de 2009, o que pode ter sido antes mesmo dos outros dois. (Interessante!)
|
||||||
|
|
||||||
|
Uma conclusão interessante que li aqui foi que eles perceberam que, quando os desenvolvedores se sentem responsáveis pela implantação, eles também assumiriam a responsabilidade pelo desempenho do aplicativo, pelo tempo de atividade e por outros objetivos.
|
||||||
|
|
||||||
|
Uma cultura de aprendizagem é uma parte fundamental do DevOps. Até o fracasso pode ser um sucesso se as lições forem aprendidas. (não tenho certeza de onde veio essa citação, mas faz sentido!)
|
||||||
|
|
||||||
|
Adicionei algumas outras histórias em que o DevOps mudou o jogo em algumas dessas empresas de enorme sucesso.
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- [Como a Netflix pensa em DevOps](https://www.youtube.com/watch?v=UTKIT6STSVM)
|
||||||
|
- [16 casos de uso populares de DevOps e aplicativos da vida real [2021]](https://www.upgrad.com/blog/devops-use-cases-applications/)
|
||||||
|
- [DevOps: A história da Amazon](https://www.youtube.com/watch?v=ZzLa0YEbGIY)
|
||||||
|
- [Como o Etsy faz o DevOps funcionar](https://www.networkworld.com/article/2886672/how-etsy-makes-devops-work.html)
|
||||||
|
- [Adotando DevOps @ Scale Lições aprendidas na Hertz, Kaiser Permanente e IBM](https://www.youtube.com/watch?v=gm18-gcgXRY)
|
||||||
|
- [DevOps interplanetário na NASA JPL](https://www.usenix.org/conference/lisa16/technical-sessions/presentation/isla)
|
||||||
|
- [Target CIO explica como o DevOps se enraizou dentro do gigante do varejo](https://enterprisersproject.com/article/2017/1/target-cio-explains-how-devops-took-root-inside-retail-giant)
|
||||||
|
|
||||||
|
### Recapitulação dos nossos primeiros dias analisando DevOps
|
||||||
|
|
||||||
|
- DevOps é uma combinação de Desenvolvimento e Operações que permite que uma única equipe gerencie todo o ciclo de vida de desenvolvimento de aplicativos, que consiste em **Desenvolvimento**, **Testes**, **Implantação**, **Operações**.
|
||||||
|
|
||||||
|
- O principal foco e objetivo do DevOps é encurtar o ciclo de vida de desenvolvimento e, ao mesmo tempo, fornecer recursos, correções e funcionalidades frequentemente em estreito alinhamento com os objetivos de negócios.
|
||||||
|
|
||||||
|
- DevOps é uma abordagem de desenvolvimento de software por meio da qual o software pode ser entregue e desenvolvido de maneira confiável e rápida. Você também pode ver isso referenciado como **Desenvolvimento, teste, implantação, monitoramento contínuos**
|
||||||
|
|
||||||
|
Se você chegou até aqui, saberá se é aqui que deseja estar ou não. Vejo você no [Dia 7](day07.md).
|
||||||
|
|
||||||
|
No dia 7, mergulharemos em uma linguagem de programação. Não pretendo ser um desenvolvedor, mas quero entender o que os desenvolvedores estão fazendo.
|
||||||
|
|
||||||
|
Podemos conseguir isso em uma semana? Provavelmente não, mas se passarmos 7 dias ou 7 horas aprendendo algo, saberemos mais do que quando começamos.
|
71
2022/pt-br/Days/day07.md
Normal file
71
2022/pt-br/Days/day07.md
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
title: '#90DaysOfDevOps - Panorama geral: aprendendo uma linguagem de programação - Day 7'
|
||||||
|
published: false
|
||||||
|
description: 90DaysOfDevOps - Panorama geral: aprendendo uma linguagem de programação
|
||||||
|
tags: 'devops, 90daysofdevops, learning'
|
||||||
|
cover_image: null
|
||||||
|
canonical_url: null
|
||||||
|
id: 1048856
|
||||||
|
---
|
||||||
|
|
||||||
|
## Panorama geral: DevOps e aprendizado de uma linguagem de programação
|
||||||
|
|
||||||
|
Acho justo dizer que para ter sucesso no longo prazo como engenheiro de DevOps você precisa conhecer pelo menos uma linguagem de programação em um nível básico. Quero aproveitar esta primeira sessão desta seção para explorar por que essa é uma habilidade tão importante de se ter e, esperançosamente, até o final desta semana ou seção, você terá uma melhor compreensão do porquê, como e o que fazer. fazer para progredir em sua jornada de aprendizado.
|
||||||
|
|
||||||
|
Acho que se eu perguntasse nas redes sociais, você precisa ter habilidades de programação para funções relacionadas a DevOps, a resposta provavelmente seria um duro sim? Deixe-me saber se você pensa o contrário? Ok, mas então uma questão maior e é aqui que você não obterá uma resposta tão clara sobre qual linguagem de programação? A resposta mais comum que vi aqui foi Python ou cada vez mais, vemos que Golang ou Go deveria ser a linguagem que você aprenderá.
|
||||||
|
|
||||||
|
Para ter sucesso no DevOps, você precisa ter um bom conhecimento de habilidades de programação, pelo menos o que concluí. Mas temos que entender por que precisamos disso para escolher o caminho certo.
|
||||||
|
|
||||||
|
## Entenda por que você precisa aprender uma linguagem de programação.
|
||||||
|
|
||||||
|
A razão pela qual Python e Go são recomendados com tanta frequência para engenheiros de DevOps é que muitas das ferramentas de DevOps são escritas em Python ou Go, o que faz sentido se você pretende criar ferramentas de DevOps. Agora, isso é importante porque determinará realmente o que você deve aprender e o que provavelmente seria mais benéfico. Se você pretende construir ferramentas DevOps ou está se juntando a uma equipe que o faz, então faria sentido aprender a mesma linguagem. Se você estiver fortemente envolvido em Kubernetes ou Containers, é mais do que provável que você queira escolha Go como sua linguagem de programação. Para mim, a empresa em que trabalho (Kasten by Veeam) está no ecossistema Cloud-Native focado em gerenciamento de dados para Kubernetes e tudo é escrito em Go.
|
||||||
|
|
||||||
|
Mas então você pode não ter um raciocínio claro como esse para escolher se você pode ser um estudante ou estar em transição de carreira sem nenhuma decisão real tomada por você. Acho que nesta situação você deve escolher aquele que parece ressoar e se adequar aos aplicativos com os quais deseja trabalhar.
|
||||||
|
|
||||||
|
Lembre-se de que não pretendo me tornar um desenvolvedor de software aqui, só quero entender um pouco mais sobre a linguagem de programação para poder ler e entender o que essas ferramentas estão fazendo e, então, isso possivelmente nos levará a como podemos ajudar a melhorar as coisas.
|
||||||
|
|
||||||
|
Também é importante saber como você interage com as ferramentas DevOps que podem ser Kasten K10 ou Terraform e HCL. Isso é o que chamaremos de arquivos de configuração e é assim que você interage com essas ferramentas DevOps para fazer as coisas acontecerem, geralmente serão YAML. (Podemos usar o último dia desta seção para mergulhar um pouco no YAML)
|
||||||
|
|
||||||
|
## Acabei de me convencer a não aprender uma linguagem de programação?
|
||||||
|
|
||||||
|
Na maioria das vezes ou dependendo da função, você ajudará as equipes de engenharia a implementar DevOps em seu fluxo de trabalho, fazendo muitos testes em torno do aplicativo e garantindo que o fluxo de trabalho criado esteja alinhado aos princípios de DevOps que mencionamos nos primeiros dias. . Mas, na realidade, muitas vezes será necessário solucionar um problema de desempenho do aplicativo ou algo parecido. Isso volta ao meu argumento e raciocínio originais: a linguagem de programação que preciso saber é aquela em que o código está escrito? Se o aplicativo for escrito em NodeJS, não ajudará muito se você tiver um emblema Go ou Python.
|
||||||
|
|
||||||
|
## Por que Go?
|
||||||
|
|
||||||
|
Por que Golang é a próxima linguagem de programação para DevOps? Go se tornou uma linguagem de programação muito popular nos últimos anos. De acordo com a pesquisa StackOverflow para 2021, Go ficou em quarto lugar nas linguagens de programação, script e marcação mais procuradas, com Python sendo o principal, mas me escute. [Pesquisa de desenvolvedores StackOverflow 2021 – link mais procurado](https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-programming-scripting-and-markup-languages)
|
||||||
|
|
||||||
|
Como também mencionei, algumas das ferramentas e plataformas DevOps mais conhecidas são escritas em Go, como Kubernetes, Docker, Grafana e Prometheus.
|
||||||
|
|
||||||
|
Quais são algumas das características do Go que o tornam excelente para DevOps?
|
||||||
|
|
||||||
|
## Construção e implantação de programas Go
|
||||||
|
|
||||||
|
Uma vantagem de usar uma linguagem como Python interpretada em uma função DevOps é que você não precisa compilar um programa python antes de executá-lo. Especialmente para tarefas de automação menores, você não quer ser retardado por um processo de construção que requer compilação, embora Go seja uma linguagem de programação compilada, **Go compila diretamente em código de máquina**. Go também é conhecido por tempos de compilação rápidos.
|
||||||
|
|
||||||
|
## Go vs Python para DevOps
|
||||||
|
|
||||||
|
Os programas Go são vinculados estaticamente, isso significa que quando você compila um programa go, tudo é incluído em um único executável binário e nenhuma dependência externa será necessária para ser instalada na máquina remota, o que facilita a implantação de programas go, em comparação com o programa python que usa bibliotecas externas, você deve ter certeza de que todas essas bibliotecas estão instaladas na máquina remota na qual deseja executar.
|
||||||
|
|
||||||
|
Go é uma linguagem independente de plataforma, o que significa que você pode produzir executáveis binários para todos os sistemas operacionais, Linux, Windows, macOS etc. e é muito fácil de fazer. Com Python, não é tão fácil criar esses executáveis binários para sistemas operacionais específicos.
|
||||||
|
|
||||||
|
Go é uma linguagem de muito desempenho, tem compilação rápida e tempo de execução rápido com menor uso de recursos como CPU e memória, especialmente em comparação com python, inúmeras otimizações foram implementadas na linguagem Go que a torna tão eficiente. (Recursos abaixo)
|
||||||
|
|
||||||
|
Ao contrário do Python, que geralmente requer o uso de bibliotecas de terceiros para implementar um programa Python específico, go inclui uma biblioteca padrão que possui a maioria das funcionalidades necessárias para DevOps integradas diretamente nela. Isso inclui processamento de arquivos de funcionalidade, serviços web HTTP, processamento JSON, suporte nativo para simultaneidade e paralelismo, bem como testes integrados.
|
||||||
|
|
||||||
|
Isso não é de forma alguma jogar o Python debaixo do ônibus. Estou apenas dando meus motivos para escolher Go, mas eles não são os Go vs Python acima, geralmente porque faz sentido, já que a empresa para a qual trabalho desenvolve software em Go, e é por isso.
|
||||||
|
|
||||||
|
Direi que, uma vez que você tenha feito isso, ou pelo menos me disseram que não estou lendo muitas páginas deste capítulo agora, é que depois que você aprende sua primeira linguagem de programação, fica mais fácil aprender outras linguagens. Você provavelmente nunca terá um único emprego em qualquer empresa em qualquer lugar onde não precise lidar com gerenciamento, arquitetura, orquestração e depuração de aplicativos JavaScript e Node JS.
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- [Pesquisa de desenvolvedores StackOverflow 2021](https://insights.stackoverflow.com/survey/2021)
|
||||||
|
- [Por que estamos escolhendo Golang para aprender](https://www.youtube.com/watch?v=7pLqIIAqZD4&t=9s)
|
||||||
|
- [Jake Wright - Aprenda em 12 minutos](https://www.youtube.com/watch?v=C8LgvuEBraI&t=312s)
|
||||||
|
- [Techworld with Nana - Curso completo de Golang - 3 horas e 24 minutos](https://www.youtube.com/watch?v=yyUHQIec83I)
|
||||||
|
- [**PAGO** Nigel Poulton Pluralsight - Fundamentos do Go - 3 horas e 26 minutos](https://www.pluralsight.com/courses/go-fundamentals)
|
||||||
|
- [FreeCodeCamp - Aprenda Programação Go - Tutorial Golang para Iniciantes](https://www.youtube.com/watch?v=YS4e4q9oBaU&t=1025s)
|
||||||
|
- [Hitesh Choudhary - lista de reprodução completa](https://www.youtube.com/playlist?list=PLRAV69dS1uWSR89FRQGZ6q9BR2b44Tr9N)
|
||||||
|
|
||||||
|
Agora, nos próximos 6 dias deste tópico, pretendo trabalhar com alguns dos recursos listados acima e documentar minhas anotações de cada dia. Você notará que geralmente duram cerca de 3 horas como um curso completo. Queria compartilhar minha lista completa para que, se você tiver tempo, siga em frente e trabalhe em cada um se o tempo permitir, vou me ater à minha hora de aprendizado cada dia.
|
||||||
|
|
||||||
|
Vejo você no [Dia 8](day08.md).
|
112
2022/pt-br/Days/day08.md
Normal file
112
2022/pt-br/Days/day08.md
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
---
|
||||||
|
title: '#90DaysOfDevOps - Configurando seu ambiente DevOps para Go & Hello World – Dia 8'
|
||||||
|
published: false
|
||||||
|
description: 90DaysOfDevOps - Configurando seu ambiente DevOps para Go & Hello World
|
||||||
|
tags: 'devops, 90daysofdevops, learning'
|
||||||
|
cover_image: null
|
||||||
|
canonical_url: null
|
||||||
|
id: 1048857
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configurando seu ambiente DevOps para Go & Hello World
|
||||||
|
|
||||||
|
Antes de entrarmos em alguns dos fundamentos do Go, devemos instalá-lo em nossa estação de trabalho e fazer o que cada módulo de "aprendizado de programação 101" nos ensina: criar o aplicativo Hello World. Como este irá percorrer as etapas para instalar o Go em sua estação de trabalho, tentaremos documentar o processo em imagens para que as pessoas possam acompanhar facilmente.
|
||||||
|
|
||||||
|
Em primeiro lugar, vamos para [go.dev/dl](https://go.dev/dl/) e você será saudado com algumas opções disponíveis para downloads.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Se chegamos até aqui, você provavelmente sabe qual sistema operacional da estação de trabalho está executando, então selecione o download apropriado e então podemos começar a instalar. Estou usando o Windows para este passo a passo, basicamente, a partir da próxima tela, podemos deixar todos os padrões no lugar por enquanto. **_(observarei que no momento em que este artigo foi escrito, esta era a versão mais recente, portanto as capturas de tela podem estar desatualizadas)_**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Observe também que se você tiver uma versão mais antiga do Go instalada, você terá que removê-la antes de instalar. O Windows a possui integrada ao instalador e irá removê-la e instalá-la como uma só.
|
||||||
|
|
||||||
|
Depois de terminar, você deve abrir um prompt de comando/terminal e queremos verificar se temos o Go instalado. Se você não obtiver o resultado que vemos abaixo, o Go não está instalado e você precisará refazer seus passos.
|
||||||
|
|
||||||
|
`go version`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A seguir, queremos verificar nosso ambiente para Go. É sempre bom verificar se seus diretórios de trabalho estão configurados corretamente, como você pode ver abaixo, precisamos ter certeza de que você tem o seguinte diretório em seu sistema.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Você checou? Você está acompanhando? Você provavelmente obterá algo como o abaixo se tentar navegar até lá.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Ok, vamos criar esse diretório para facilitar. Vou usar o comando mkdir em meu terminal PowerShell. Também precisamos criar 3 pastas dentro da pasta Go, como você verá abaixo.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Agora temos que instalar o Go e temos nosso diretório de trabalho Go pronto para ação. Agora precisamos de um ambiente de desenvolvimento integrado (IDE). Agora existem muitos disponíveis que você pode usar, mas o mais comum e o que eu uso é o Visual Studio Code ou Code. Você pode aprender mais sobre IDEs [aqui](https://www.youtube.com/watch?v=vUn5akOlFXQ).
|
||||||
|
|
||||||
|
Se você ainda não baixou e instalou o VSCode em sua estação de trabalho, poderá fazê-lo acessando [aqui](https://code.visualstudio.com/download). Como você pode ver abaixo, você tem diferentes opções de sistema operacional.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Da mesma forma que na instalação do Go, vamos baixar e instalar e manter os padrões. Depois de concluído, você pode abrir o VSCode, selecionar Abrir arquivo e navegar até nosso diretório Go que criamos acima.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Você pode receber um pop-up sobre confiança, leia-o se quiser e clique em Sim, confie nos autores. (Eu não sou responsável mais tarde se você começar a abrir coisas em que não confia!)
|
||||||
|
|
||||||
|
Agora você deve ver as três pastas que também criamos anteriormente e o que queremos fazer agora é clicar com o botão direito na pasta src e criar uma nova pasta chamada `Hello`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Coisas muito fáceis que eu diria até agora? Agora vamos criar nosso primeiro Programa Go sem entender nada do que colocaremos nesta próxima fase.
|
||||||
|
|
||||||
|
Em seguida, crie um arquivo chamado `main.go` na sua pasta `Hello`. Assim que você pressionar enter no main.go você será perguntado se deseja instalar a extensão Go e também os pacotes. Você também pode verificar aquele arquivo pkg vazio que fizemos alguns passos atrás e perceber que devemos ter alguns novos pacotes aí agora?
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Agora vamos colocar este aplicativo Hello World em funcionamento, copie o código a seguir em seu novo arquivo main.go e salve-o.
|
||||||
|
|
||||||
|
```
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
fmt.Println("Hello #90DaysOfDevOps")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Compreendo que o que foi dito acima pode não fazer sentido algum, mas abordaremos mais sobre funções, pacotes e muito mais posteriormente. Por enquanto, vamos executar nosso aplicativo. De volta ao terminal e à nossa pasta Hello podemos agora verificar se tudo está funcionando. Usando o comando abaixo podemos verificar se nosso programa de aprendizagem genérico está funcionando.
|
||||||
|
|
||||||
|
```
|
||||||
|
go run main.go
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Mas não termina aí, e se agora quisermos pegar nosso programa e executá-lo em outras máquinas Windows? Podemos fazer isso construindo nosso binário usando o seguinte comando
|
||||||
|
|
||||||
|
```
|
||||||
|
go build main.go
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Se executarmos isso, veríamos a mesma saída:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ ./main.exe
|
||||||
|
Hello #90DaysOfDevOps
|
||||||
|
```
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- [Pesquisa de desenvolvedores StackOverflow 2021](https://insights.stackoverflow.com/survey/2021)
|
||||||
|
- [Por que estamos escolhendo Golang para aprender](https://www.youtube.com/watch?v=7pLqIIAqZD4&t=9s)
|
||||||
|
- [Jake Wright - Aprenda Go em 12 minutos](https://www.youtube.com/watch?v=C8LgvuEBraI&t=312s)
|
||||||
|
- [Techworld with Nana - Curso completo de Golang - 3 horas e 24 minutos](https://www.youtube.com/watch?v=yyUHQIec83I)
|
||||||
|
- [**PAGO** Nigel Poulton Pluralsight - Fundamentos do Go - 3 horas e 26 minutos](https://www.pluralsight.com/courses/go-fundamentals)
|
||||||
|
- [FreeCodeCamp - Aprenda Programação Go - Tutorial Golang para Iniciantes](https://www.youtube.com/watch?v=YS4e4q9oBaU&t=1025s)
|
||||||
|
- [Hitesh Choudhary - Lista de reprodução completa](https://www.youtube.com/playlist?list=PLRAV69dS1uWSR89FRQGZ6q9BR2b44Tr9N)
|
||||||
|
|
||||||
|
Vejo você no [Dia 9](day09.md).
|
||||||
|
|
||||||
|

|
Loading…
Reference in New Issue
Block a user