A produção não foi criada para falhar.
Arquiteturas tradicionais de serviços de rede e aplicativos são criadas para serem confiáveis mesmo diante de falhas. Redundância e failover são recursos essenciais da infraestrutura que fica entre os clientes e o ativo mais valioso de uma organização: seus aplicativos.
O failover — o verdadeiro failover — não pode ser alcançado simplesmente criando um novo contêiner. Essa abordagem só funciona para aplicativos modernos projetados para serem sem estado. Isso raramente é uma característica de aplicativos tradicionais e nem mesmo é uma certeza para os modernos. Escala e confiabilidade de nível empresarial são essenciais para manter a disponibilidade do que continua sendo a maior parte do portfólio de aplicativos empresariais: aplicativos tradicionais.
Mas isso não significa que devemos ignorar o número crescente de aplicações modernas. Cada nova arquitetura de aplicativo começa com apenas alguns projetos e então explode à medida que as organizações aprendem a desenvolver, implantar e operar os sistemas e soluções necessários para dimensionar e proteger esses novos aplicativos. O número de novos aplicativos desenvolvidos usando arquiteturas modernas ainda é pequeno dentro das empresas, mas está crescendo rapidamente. Isso é necessário se as organizações quiserem acompanhar o ritmo da economia digital.
Mais de uma em cada cinco organizações agora tem cinquenta (50) ou mais solicitações de aplicativos importantes em seu backlog de aplicativos . Mais de 61% têm mais de dez (10) novas solicitações de aplicativos na fila. As abordagens tradicionais de desenvolvimento não conseguem acompanhar. Mais aplicativos baseados em arquiteturas modernas aparecerão à medida que as organizações recorrerem ao Agile e aos microsserviços para ajudar a acelerar a entrega.
E, ao fazer isso, eles precisarão de uma maneira de preencher a lacuna entre o modelo de escala e confiabilidade das arquiteturas modernas e a escala e confiabilidade exigentes necessárias para realizar implantações de nível empresarial.
Essas arquiteturas modernas frequentemente incluem NGINX. Na verdade, pode-se dizer que a maioria das arquiteturas modernas emergentes dependem do NGINX em uma ou mais funções.
Entre os doze principais componentes de aplicativo que você encontrará em execução em contêineres está o NGINX. Entre os principais (os principais, para ser honesto) provedores de entrada de contêiner em uso , você encontrará o NGINX. Em todas as pesquisas e relatórios baseados em dados sobre nuvem, contêineres e microsserviços, é provável que você encontre o NGINX em uma lista de componentes em execução.
O NGINX atende principalmente à necessidade de escala em arquiteturas modernas. Ele oferece confiabilidade aos aplicativos modernos, pois se houver uma falha em uma instância do aplicativo, o NGINX notará e direcionará solicitações subsequentes para outras instâncias do aplicativo. Ele cobre a falha que é inerentemente projetada em ambientes de contêiner. Ele também atende aos requisitos de tempo de atividade do aplicativo que a maioria dos DevOps e desenvolvedores são encarregados de atender.
Mas isso não significa necessariamente dimensionar toda uma arquitetura empresarial e garantir sua confiabilidade. O mesmo sistema “construído para falhar” que funciona tão bem para aplicativos modernos não é adequado para fornecer o mesmo para aplicativos tradicionais e infraestrutura de serviços de aplicativos. No centro da diferença está um modelo “estatal versus com estado”. Os aplicativos modernos buscam ser independentes de estado porque isso, por sua vez, faz a arquitetura funcionar. Os aplicativos tradicionais — e a própria rede — são stateful. A falha elimina transações e sessões em andamento e interrompe a disponibilidade.
O raio de impacto de uma falha na produção que impacta a infraestrutura compartilhada (que é a maior parte dela) é grande. Muito grande. Redes e serviços de aplicativos responsáveis pela entrega e segurança de centenas de aplicativos não são criados para falhar, eles são criados para serem confiáveis.
No papel de escala e confiabilidade de nível empresarial está o F5 com BIG-IP. Projetado para ser confiável e capaz de ser dimensionado para atender à demanda e a ataques massivos, o BIG-IP é o meio pelo qual mais de 25.000 empresas entregam aplicativos. Ele atende aos requisitos de tempo de atividade da rede e do aplicativo que os NetOps têm a tarefa de atender.
Ao unir os dois, seremos capazes de satisfazer os requisitos de “confiável”, independentemente da definição. Seja que isso se aplique à confiabilidade de pequenas implantações conduzidas por desenvolvedores que dimensionam aplicativos modernos ou grandes implantações que dimensionam serviços de aplicativos e aplicativos tradicionais, um portfólio combinado oferecerá aos clientes a capacidade de usar a ferramenta certa para o aplicativo certo.
Para saber mais sobre as vantagens de unir o F5 e o NGINX, confira uma postagem do CEO do F5 apresentando a série de blogs "Bridging the Divide".