DevOps: Difference between revisions

From Wiki
 
(44 intermediate revisions by the same user not shown)
Line 1: Line 1:
= 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.
= 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  
||  
||  
* [[DevOps#Docker|Docker]]
* [[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  
||  
||  
* [[DevOps#Kubernetes|Kubernetes]]  
* [[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]]


== Docker ==
* [[Ansible: Alterando o conteúdo de um arquivo]]
 
* [[Docker: Instalando o Docker no Windows 7]]


* [[Docker: Boot do Docker]]
* [[Ansible: Download e extração de um arquivo]]


* [[Docker: Trabalhando com Containers]]
* [[Ansible: Localizando um texto na saída de um comando]]


* [[Docker: Trabalhando com Imagens]]
= Container Orchestration Programs = 


* [[CfC: IBM Spectrum Conductor for Containers - Visão Geral]]
== Docker ==
 
* [[Docker: Criando a Docker Image com o WebSphere Liberty Profile]]


Migrado para [[Docker]]


== Kubernetes ==
== Kubernetes ==


* [[Kubernetes: Trabalhando com o kubectl]]
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
  • ECS
2nd
  • GitLab
  • Lambda
  • CodeDeploy

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


Vagrant

Git