Não se enganem, DevOps também desenvolve, só tem um foco diferente.
Aliás, background em desenvolvimento é interessante, para entender as dores dos devs e assim saber onde atacar.
DevOps não é infra, apesar de fazer algumas coisas relacionadas. É um meio de campo.
Pessoal mistura DevOps com SRE e ainda Engenheiro de Plataforma. O Engenheiro de plataforma é o que vai estar mais ligado a infra ou a nuvem, é o SysAdmin da nuvem.
DevOps é focado principalmente em CI/CD e velocidade do desenvolvedor e o SRE foca na produção.
Enquanto o DevOps é mais nichado, o SRE engloba tudo. No entanto, existem algumas outras diferenças entre os dois.
Implementação de novos recursos – DevOps é responsável por implementar a solicitação de novos recursos para um produto, enquanto os SREs garantem que essas novas alterações não aumentem as taxas gerais de falha na produção.
Fluxo do processo – Uma equipe de DevOps tem uma perspectiva do ambiente de desenvolvimento para colocar as mudanças do desenvolvimento à produção. Por outro lado, os SREs têm uma perspectiva de produção, para que possam fazer sugestões à equipe de desenvolvimento para limitar as taxas de falhas apesar das novas mudanças.
Foco – O foco principal do DevOps está na continuidade e velocidade do desenvolvimento do produto, enquanto o foco principal do SRE está na confiabilidade, escalabilidade e disponibilidade do sistema.
Estrutura da equipe – Uma equipe típica de DevOps é composta por profissionais com funções e responsabilidades dedicadas, como – Product Owner, Team Lead, Cloud Architect, Software Developer, QA Engineer, Release Manager, System Administrator. Em contraste, os SREs têm uma equipe de engenheiros com habilidades operacionais e de desenvolvimento definidas.
Aqui vai uma tabela.
Problemas que as equipes de DevOps resolvem
1. Custo reduzido de desenvolvimento e manutenção
2. Ciclo de lançamento mais curto
3. Testes Automatizados e Contínuos
Problemas que as equipes de SREs resolvem
1. Tempo Médio de Recuperação Reduzido (MTTR)
2. Tempo Médio de Detecção Reduzido (MTTD)
3. Automatização
4. Testes Funcionais e Não Funcionais Automatizados em Produção
5. Documentação de plantão e incidente
6. Compartilhamento de conhecimento
Aliás, background em desenvolvimento é interessante, para entender as dores dos devs e assim saber onde atacar.
DevOps não é infra, apesar de fazer algumas coisas relacionadas. É um meio de campo.
Pessoal mistura DevOps com SRE e ainda Engenheiro de Plataforma. O Engenheiro de plataforma é o que vai estar mais ligado a infra ou a nuvem, é o SysAdmin da nuvem.
DevOps é focado principalmente em CI/CD e velocidade do desenvolvedor e o SRE foca na produção.
Enquanto o DevOps é mais nichado, o SRE engloba tudo. No entanto, existem algumas outras diferenças entre os dois.
Implementação de novos recursos – DevOps é responsável por implementar a solicitação de novos recursos para um produto, enquanto os SREs garantem que essas novas alterações não aumentem as taxas gerais de falha na produção.
Fluxo do processo – Uma equipe de DevOps tem uma perspectiva do ambiente de desenvolvimento para colocar as mudanças do desenvolvimento à produção. Por outro lado, os SREs têm uma perspectiva de produção, para que possam fazer sugestões à equipe de desenvolvimento para limitar as taxas de falhas apesar das novas mudanças.
Foco – O foco principal do DevOps está na continuidade e velocidade do desenvolvimento do produto, enquanto o foco principal do SRE está na confiabilidade, escalabilidade e disponibilidade do sistema.
Estrutura da equipe – Uma equipe típica de DevOps é composta por profissionais com funções e responsabilidades dedicadas, como – Product Owner, Team Lead, Cloud Architect, Software Developer, QA Engineer, Release Manager, System Administrator. Em contraste, os SREs têm uma equipe de engenheiros com habilidades operacionais e de desenvolvimento definidas.
Aqui vai uma tabela.
DevOps | SREs | |
Função | O principal papel da equipe de DevOps é resolver os problemas de desenvolvimento, construir soluções para atender aos requisitos de negócios. | O principal papel dos SREs é lidar com problemas operacionais, por exemplo – falhas de produção, problemas de infraestrutura (disco, memória), segurança, monitoramento. |
Foco | Foco no desenvolvimento de produtos com Integração Contínua/Entrega Contínua | Os SREs colocam mais foco na resiliência, dimensionamento, confiabilidade, tempo de atividade e robustez. |
Ferramentas | Na função DevOps, as ferramentas mais usadas são – Ambiente de Desenvolvimento Integrado (IDEs) para fins de desenvolvimento, Jenkins para Integração e Desenvolvimento Contínuos, JIRA para gerenciamento de mudanças, Splunk para monitoramento de log, SVN, GitHub. | Na função SRE, as ferramentas mais utilizadas são Prometheus e Grafana para coletar e visualizar as diferentes métricas (uso de CPU, memória, espaço em disco, etc.), ferramentas de alerta de incidentes (OP5, PageDuty, xMatters, etc.), Ansible, Puppet, ou Chef, Kubernetes e Docker para orquestração de contêineres, plataforma de nuvem AWS, GCP, Azure, JIRA, SVN, GitHub. |
Relatório de bugs | A equipe de DevOps é responsável por depurar o código em caso de qualquer bug relatado no produto final. | A equipe SRE é responsável por relatar o bug à equipe de desenvolvimento do Core e não se envolve na depuração, a menos que seja uma interrupção de produção. A equipe SRE também é responsável por depurar e corrigir os problemas de infraestrutura. |
Métricas de medição | As métricas de medição típicas para a função DevOps são a frequência de implantação e a taxa de falha de implantação. | Métricas de medição típicas para a função SRE são Orçamentos de Erro, SLOs (Objetivo de Nível de Serviço), SLIs (Indicador de Nível de Serviço), SLAs (Acordo de Nível de Serviço). |
Tratamento de incidentes | As equipes de DevOps trabalham no feedback do incidente para mitigar o problema. | Conduz as revisões pós-incidente para identificar a causa raiz e documentar as descobertas para fornecer feedback à equipe de desenvolvimento principal. |
Problemas que as equipes de DevOps resolvem
1. Custo reduzido de desenvolvimento e manutenção
2. Ciclo de lançamento mais curto
3. Testes Automatizados e Contínuos
Problemas que as equipes de SREs resolvem
1. Tempo Médio de Recuperação Reduzido (MTTR)
2. Tempo Médio de Detecção Reduzido (MTTD)
3. Automatização
4. Testes Funcionais e Não Funcionais Automatizados em Produção
5. Documentação de plantão e incidente
6. Compartilhamento de conhecimento