DevOps: Difference between revisions
(56 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Skills = | |||
{| class="wikitable" | |||
|- | |||
! Skill !! Configure<br/>(infra-structure-as-code) !! Version Control !! Package !! Deploy !! Run !! Monitor !! Dashboarding | |||
|- | |||
| 1st || | |||
* [[DevOps#Terraform|Terraform]] | |||
* [[DevOps#Vagrant|Vagrant]] | |||
|| | |||
* [[DevOps#Git|Git]] | |||
* GitHub | |||
|| | |||
* [[Docker]] | |||
|| | |||
* [[DevOps#Jenkins|Jenkins]] | |||
|| | |||
* ECS | |||
|| | |||
* [[DevOps#ELK Stack|ELK Stack]] | |||
|| | |||
* | |||
|- | |||
| 2nd | |||
|| | |||
* [[DevOps#Ansible|Ansible]] | |||
|| | |||
* GitLab | |||
|| | |||
* Lambda | |||
|| | |||
* CodeDeploy | |||
|| | |||
* [[Kubernetes]] | |||
|| | |||
* [[DevOps#Prometeus|Prometeus]] | |||
|| | |||
* [[DevOps#Grafana|Grafana]] | |||
|} | |||
= Foundation = | == Foundation == | ||
Aqui estou agregando os pilares | Aqui estou agregando os pilares | ||
Line 22: | Line 61: | ||
Eu recomendo que você reserve 20 a 30 minutos diariamente para praticar Python, Linux e AWS. | 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. [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 = | |||
== Ansilble == | |||
Ansible simplifica orquestrações complexas e tarefas de gerenciamento de configurações. Ele habilita administradores to criar scripts usando YAML. | |||
* [[Ansible: Instalando e Configurando o Ansible]] | |||
* [[Ansible: Instalando o IBM WebSphere Application Server usando o Ansible]] | |||
* [[Ansible: Alterando o conteúdo de um arquivo]] | |||
* [[Ansible: Download e extração de um arquivo]] | |||
* [[Ansible: Localizando um texto na saída de um comando]] | |||
= 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 | |||
* [[ELK: Resumo dos Principais Conceitos]] | |||
* [[ELK: Instalando o Elasticsearch, Logstash e Kibana]] | |||
* [[ELK: Retenção de dados no Elasticsearch]] | |||
* [[ELK: Consultando e buscando dados através do 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 [http://docs.grafana.org/ 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 [https://prometheus.io/docs/introduction/overview/ Prometheus Documentation]. | |||
= Ferramentas = | |||
== Preparando a sua estação DevOps == | |||
* [[Devops: Preparando o seu MacOS para Devops]] | |||
* [[Devops: Preparando o seu Linux para Devops]]; | |||
== Terraform == | |||
Migrado para [[Terraform]] | |||
== Vagrant == | |||
* [[Vagrant: Primeiros passos com o Vagrant]] | |||
* [[Vagrant: Principais Comandos]] | |||
* [[Vagrant: Exemplos de Arquivos Vagrantfile]] | |||
* [[Vagrant: Exemplos de Arquivos Vagrantfile provisionando o Apache HTTP server via arquivo Shell, Comandos e Ansible]] | |||
== Git == | |||
* [[Git: Usando o Git e o GitHub]] | |||
* [[Git: Principais Comandos]] |
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