O que é SRE e por que isso importa?
Geralmente, o melhor lugar para começar é o início. Vamos começar apenas fazendo a pergunta básica "O que é Engenharia de Confiabilidade de Sites?" Há uma série de respostas a essa pergunta circulando, como aquela bastante citada pela pessoa que inventou o termo (Ben Treynor Sloss da Google), mas esta é a resposta mais prática que podemos oferecer:
A Engenharia de Confiabilidade do Site é uma disciplina de engenharia dedicada a ajudar uma organização a alcançar de maneira sustentável o nível de confiabilidade apropriado em sistemas, serviços e produtos.
Mais adiante, podemos trazer algumas outras definições para a cena, mas vamos começar aqui. Há três partes cruciais nessa definição que precisamos examinar para chegar à questão “Por que isso é importante?” .
Confiabilidade
Bem no centro – e no meio do nome "SRE"– encontramos a palavra Confiabilidade. A definição não indica “nível apropriado de desempenho”, “nível apropriado de eficiência”, “nível apropriado de estabilidade” nem mesmo “atingir o nível apropriado de receita”. Ele indica “nível apropriado de confiabilidade”. Por quê?
Vejamos uma demonstração rápida. Esta é uma captura de tela. O que você acha que ela está mostrando? Tente não continuar enquanto não tiver uma ideia ou desistir. Observação: se for difícil detectar muitos detalhes nesta imagem, tudo bem. Ela é renderizada perfeitamente no navegador.
Esta imagem é uma captura de tela da aparência de um aplicativo PHP (sem outro suporte de depuração adicionado) quando ele falha. Você poderá ver algo assim para um aplicativo Java:
Por que estamos examinando esses exemplos? Cada um deles representa um aplicativo que potencialmente usou grandes quantidades de tempo, energia e recursos para ser criado por uma empresa. Mas se o aplicativo não estiver ativo, se não estiver operacional quando um cliente precisar acessá-lo, se não for confiável, isso não será bom para ninguém, especialmente para os negócios. Na verdade, a falta de confiabilidade pode acarretar danos reais (à reputação, econômicos, contratual, moral e assim por diante) para uma empresa.
Devido a essa importância, a SRE escolhe se concentrar confiabilidade como uma propriedade fundamental, talvez a propriedade fundamental do serviço, do sistema ou do produto. A confiabilidade pode abranger muitas coisas (como veremos mais tarde), mas vamos passar para a segunda parte crucial da definição.
Níveis apropriados de confiabilidade
Talvez você não tenha percebido isso na primeira vez que leu a definição, mas vamos enfatizar outra palavra importante:
A Engenharia de Confiabilidade do Site é uma disciplina de engenharia dedicada a ajudar uma organização a alcançar de maneira sustentável o nível de confiabilidade apropriado em sistemas, serviços e produtos.
Por que essa palavra é tão importante?
Uma observação importante feita pelo cenário da SRE é que há muito poucos sistemas e serviços que precisam ser 100% confiáveis. Situações de vida e morte como aviação, dispositivos médicos, etc. são uma exceção notável.
Na verdade, há muito poucas situações em que isso é mesmo desejável. O esforço e os recursos (e, portanto, o custo) necessário para alcançar uma maior confiabilidade aumenta em uma taxa acentuada conforme uma maior confiabilidade é buscada. Em outras palavras, buscar uma confiabilidade desnecessária é um desperdício de tempo e dinheiro. Você deseja atingir o nível apropriado de confiabilidade em seu sistema, seus serviços e seus produtos.
O nível precisa atender às necessidades empresariais e ser pragmático. Por exemplo, os clientes podem se conectar com você por meio de uma rede que não é 100% confiável (digamos que esteja ativa 90% do tempo). Empregar fundos e esforços para garantir que o serviço seja 95% confiável é por definição um desperdício de tempo e dinheiro. Você deseja atingir o nível apropriado de confiabilidade em seu sistema, seus serviços e seus produtos.
A SRE leva esse pragmatismo para outro patamar. Se agora consideramos a existência de um nível desejado de confiabilidade, existe algo que devemos fazer quando esse nível é atendido ou ultrapassado? Da mesma forma, e se não o alcançarmos? Responderemos a essas perguntas mais adiante no módulo.
Alcance sustentável
A palavra final de nossa definição que precisamos destacar antes de passarmos para a próxima etapa é sustentável. Sustentável se refere à função das pessoas. É crucial criar uma prática de operações sustentável. Pessoas criam sistemas, serviços e produtos confiáveis. Se não fizermos nada para garantir que o trabalho seja sustentável. Se o pessoal acordar toda noite às três horas da manhã com uma chamada e não tiver tempo com a família. Se eles não tiverem tempo para cuidar de si mesmos. Então, eles não serão capazes de criar sistemas confiáveis. A SRE determina que é fundamental implementarmos uma prática de operações que seja sustentável ao longo do tempo, para que o pessoal possa dar o melhor de si no trabalho.