DevOps: Difference between revisions
(→Skills) |
|||
(44 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Skills = | = Skills = | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Skill !! Configure<br/>(infra-structure-as-code) !! Version Control !! Package !! Deploy !! Run !! Monitor | ! Skill !! Configure<br/>(infra-structure-as-code) !! Version Control !! Package !! Deploy !! Run !! Monitor !! Dashboarding | ||
|- | |- | ||
| 1st || | | 1st || | ||
* Terraform | * [[DevOps#Terraform|Terraform]] | ||
* Vagrant | * [[DevOps#Vagrant|Vagrant]] | ||
|| | || | ||
* [[DevOps#Git|Git]] | * [[DevOps#Git|Git]] | ||
* GitHub | * GitHub | ||
|| | || | ||
* [[ | * [[Docker]] | ||
|| | || | ||
* Jenkins | * [[DevOps#Jenkins|Jenkins]] | ||
|| | || | ||
* ECS | * ECS | ||
|| | || | ||
* [[DevOps#ELK Stack|ELK Stack]] | * [[DevOps#ELK Stack|ELK Stack]] | ||
|| | |||
* | |||
|- | |- | ||
| 2nd | | 2nd | ||
Line 47: | Line 26: | ||
* [[DevOps#Ansible|Ansible]] | * [[DevOps#Ansible|Ansible]] | ||
|| | || | ||
GitLab | * GitLab | ||
|| | || | ||
Lambda | * Lambda | ||
|| | || | ||
CodeDeploy | * CodeDeploy | ||
|| | || | ||
* [[ | * [[Kubernetes]] | ||
|| | || | ||
Prometeus | * [[DevOps#Prometeus|Prometeus]] | ||
|| | |||
* [[DevOps#Grafana|Grafana]] | |||
|} | |} | ||
== 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. [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 == | == 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 e Configurando o Ansible]] | ||
Line 65: | Line 87: | ||
* [[Ansible: Instalando o IBM WebSphere Application Server usando 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 == | == Kubernetes == | ||
Migrado para [[Kubernetes]] | |||
= Monitoração e Logging = | |||
== ELK Stack== | == ELK Stack== | ||
Dicas sobre o trio Elasticsearch, Logstash e Kibana | Dicas sobre o trio Elasticsearch, Logstash e Kibana | ||
* [[ELK: Resumo dos Principais Conceitos]] | |||
* [[ELK: Instalando o Elasticsearch, Logstash e Kibana]] | * [[ELK: Instalando o Elasticsearch, Logstash e Kibana]] | ||
Line 95: | Line 117: | ||
* [[ELK: Consultando e buscando dados através do Kibana]] | * [[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 == |
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