DevOps: Difference between revisions
No edit summary |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
|- | |- | ||
| 1st || | | 1st || | ||
* Terraform | * [[DevOps#Terraform|Terraform]] | ||
* [[DevOps#Vagrant|Vagrant]] | * [[DevOps#Vagrant|Vagrant]] | ||
|| | || | ||
Line 14: | Line 14: | ||
* [[Docker]] | * [[Docker]] | ||
|| | || | ||
* Jenkins | * [[DevOps#Jenkins|Jenkins]] | ||
|| | || | ||
* ECS | * ECS | ||
Line 66: | Line 66: | ||
O Jenkins é um servidor de automação de código aberto e independente que pode ser usado para automatizar todos os tipos de tarefas, como construir, testar e implementar software. O pipeline baseado em Jenkins é configurado para capturar automaticamente projetos de uma organização no GitHub ou GitHub Enterprise para criar o aplicativo e a imagem do Docker, enviando a imagem para um registro do Docker. [https://jenkins.io/ Aprenda mais sobre Jenkins]. | O Jenkins é um servidor de automação de código aberto e independente que pode ser usado para automatizar todos os tipos de tarefas, como construir, testar e implementar software. O pipeline baseado em Jenkins é configurado para capturar automaticamente projetos de uma organização no GitHub ou GitHub Enterprise para criar o aplicativo e a imagem do Docker, enviando a imagem para um registro do Docker. [https://jenkins.io/ Aprenda mais sobre Jenkins]. | ||
Para criar um container Jenkins | |||
podman run -d --name e-jenkins -p 8080:8080 -p 50000:50000 -v /home/ebasso/DockerVolumes/jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11 | |||
Para instalar na máquia local | |||
[[Jenkins: Install Jenkins on Redhat 9 with OpenJDK 17]] | |||
= Management Software = | = Management Software = | ||
Line 82: | Line 92: | ||
* [[Ansible: Localizando um texto na saída de um comando]] | * [[Ansible: Localizando um texto na saída de um comando]] | ||
= Container Orchestration Programs = | = Container Orchestration Programs = | ||
Line 138: | Line 143: | ||
== Terraform == | |||
Migrado para [[Terraform]] | |||
Line 149: | Line 159: | ||
* [[Vagrant: Exemplos de Arquivos Vagrantfile provisionando o Apache HTTP server via arquivo Shell, Comandos e Ansible]] | * [[Vagrant: Exemplos de Arquivos Vagrantfile provisionando o Apache HTTP server via arquivo Shell, Comandos e Ansible]] | ||
== Git == | == Git == |
Latest revision as of 15:04, 4 December 2023
Skills
Skill | Configure (infra-structure-as-code) |
Version Control | Package | Deploy | Run | Monitor | Dashboarding |
---|---|---|---|---|---|---|---|
1st |
|
|
| ||||
2nd |
|
|
|
Foundation
Aqui estou agregando os pilares
- Sistemas Operacionais
- Linux
- Onde a maioria das aplicações rodam hoje.
- Linguagens de Programação
- Python
- A linguagem de back-end dominante nos dias de hoje. O Python é muito predominante em Inteligência Artificial/Machine Learning, portanto, se você quiser migrar para outro campo quente, você já alguns passos andados!
- Cloud
- AWS
- É impossível se tornar um profissional de DevOps experiente sem um sólido entendimento de como funciona uma nuvem pública da Amazon.
- Comece com o seguinte: VPC, EC2, IAM, S3, CloudWatch, ELB (sob o guarda-chuva do EC2) e Grupos de segurança. Essas coisas são muito para você começar e cada empresa moderna, habilitada para nuvem, estará usando essas ferramentas pesadamente.
- O site de treinamento da própria AWS é um bom lugar para começar. https://www.aws.training/?src=training
Eu recomendo que você reserve 20 a 30 minutos diariamente para praticar Python, Linux e AWS.
Continuous Integration/Continuous Development (CI/CD) tools
Jenkins
O Jenkins é um servidor de automação de código aberto e independente que pode ser usado para automatizar todos os tipos de tarefas, como construir, testar e implementar software. O pipeline baseado em Jenkins é configurado para capturar automaticamente projetos de uma organização no GitHub ou GitHub Enterprise para criar o aplicativo e a imagem do Docker, enviando a imagem para um registro do Docker. Aprenda mais sobre Jenkins.
Para criar um container Jenkins
podman run -d --name e-jenkins -p 8080:8080 -p 50000:50000 -v /home/ebasso/DockerVolumes/jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
Para instalar na máquia local
Jenkins: Install Jenkins on Redhat 9 with OpenJDK 17
Management Software
Ansilble
Ansible simplifica orquestrações complexas e tarefas de gerenciamento de configurações. Ele habilita administradores to criar scripts usando YAML.
Container Orchestration Programs
Docker
Migrado para Docker
Kubernetes
Migrado para Kubernetes
Monitoração e Logging
ELK Stack
Dicas sobre o trio Elasticsearch, Logstash e Kibana
Grafana
O Grafana é uma ferramenta de visualização para ajudar a fornecer painéis de controle específicos que serão usados por diferentes pessoas interagindo com a solução.
Mais detalhes em Grafana Documentation.
Prometeus
Prometheus é um sistema de monitoramento de sistemas e serviços, geração de eventos e:
- coleta métricas de destinos configurados em intervalos determinados
- avalia expressões de regra
- exibe os resultados
- pode acionar alertas se alguma condição for observada como verdadeira
Mais detalhes em Prometheus Documentation.
Ferramentas
Preparando a sua estação DevOps
Terraform
Migrado para Terraform