Você sabe que deseja migrar seus aplicativos para a nuvem para obter os recursos sempre ativos, escaláveis, responsivos e ágeis que seus clientes esperam. Mas você também sabe que seus desenvolvedores podem não estar preparados para os desafios de projetar, desenvolver, implantar e operar aplicativos baseados em microsserviços. Você quer ter certeza de que seus desenvolvedores terão o suporte necessário para serem produtivos. Você deseja que eles gastem seu tempo percebendo os benefícios da computação nativa em nuvem, e não perseguindo e resolvendo problemas.
Microsserviços, contêineres e DevOps deram às organizações o poder de escalar e se adaptar e proporcionar às organizações a agilidade de que precisam para serem competitivas. Mas estas tecnologias e técnicas tendem a aumentar a complexidade, desafios que se manifestam através de volumes sem precedentes de dados de observabilidade e de custos de observabilidade imprevisíveis e em rápido crescimento.
Muitos desenvolvedores corporativos não estão familiarizados com as tecnologias de observabilidade nativas da nuvem ou com as práticas recomendadas para usá-las para obter os benefícios da infraestrutura nativa da nuvem. Lidar com a complexidade nativa da nuvem representa um novo fardo para os desenvolvedores, que são responsáveis por alcançar escalabilidade, confiabilidade e agilidade. Eles precisam de um painel conciso e focado para serem o mais produtivos possível.
Lições do Citigroup sobre a mudança para o Cloud Native
Antes de ingressar na Intellyx, lidero a migração para nuvem da divisão Treasury and Trade Solutions (TTS) do Citigroup. Sabíamos que precisávamos dos benefícios do nativo da nuvem, mas não entendíamos bem a melhor maneira de obtê-los.
TTS é a divisão global de banco de atacado do Citigroup. Nossos clientes eram empresas da Fortune 1000, governos e empresas de comércio eletrônico. Um dos aspectos mais desafiadores do nosso negócio foi criar e manter a capacidade de infraestrutura de computação necessária para processar e rastrear diariamente milhões de pequenas solicitações de pagamentos internacionais, incluindo folhas de pagamento de grandes corporações e governos, pagamentos de motoristas e pagamentos de seguridade social. E estes tipos de pequenos pagamentos internacionais cresciam rapidamente em volume à medida que o mundo avançava cada vez mais para o comércio na Internet.
Para lidar com a carga cada vez maior de processamento de pagamentos, precisávamos da capacidade de aumentar ou diminuir a escala, dependendo das variações nas cargas de trabalho sazonais, e de pagar pelo que realmente usamos para que pudéssemos fornecer os serviços a um preço competitivo.
Por que fazer a transição para um ambiente de microsserviços?
Um ambiente nativo de nuvem confiável é um requisito de transição. A mudança para microsserviços modernos e arquitetura baseada em contêineres proporciona velocidade, eficiência, disponibilidade e a capacidade de inovar mais rapidamente – vantagens competitivas importantes, especialmente em um mundo em que uma nova geração de empresas nascidas na nuvem está atraindo clientes ávidos por novos recursos, transações rápidas e serviço sempre ativo.
Os nossos colegas do banco de consumo eram especialmente vulneráveis à disrupção das FinTechs nascidas na nuvem, por exemplo. Os clientes, especialmente a geração mais jovem, julgariam um banco inteiramente pela facilidade de utilização e pelas capacidades da sua aplicação móvel.
Para atender a esses requisitos desafiadores, sabíamos que precisávamos acertar. Não acertar significava perda de receitas, perda de clientes, aumento de custos e incapacidade de competir de forma eficaz.
Tentamos seguir o exemplo de práticas recomendadas da Netflix: dividir aplicativos monolíticos em microsserviços e organizar nossos desenvolvedores em pequenas equipes responsáveis por um ou mais desses microsserviços. Mas muitas vezes ficamos presos em questões de infraestrutura, como construir e reparar o pipeline de CI/CD e fazer triagem de configurações incorretas, bugs e problemas de produção.
Desafios de acertar os microsserviços
A relação dos microsserviços com a infraestrutura escalável cria um dos maiores desafios na migração para a nuvem nativa.
Os microsserviços exigem um tipo de abordagem de design e desenvolvimento muito diferente da típica arquitetura monolítica. O painel de observabilidade correto pode ajudar os desenvolvedores a saber para onde estão indo, como encontrar e corrigir problemas rapidamente e quando obtiveram sucesso na obtenção dos benefícios nativos da nuvem.
Você precisa garantir que seus desenvolvedores qualificados possam se concentrar em obter benefícios nativos da nuvem sem gastar muito tempo em problemas de ferramentas e infraestrutura que podem distraí-los do trabalho na lógica de negócios. E você precisa garantir que tirará o máximo proveito deles, sem deixá-los ficar muito estressados ou esgotados.
Mudar para o modelo DevOps é uma parte fundamental do desafio. E é mais uma mudança cultural do que uma mudança tecnológica, o que significa mais estresse. No modelo DevOps, por exemplo, não há nenhum departamento de operações a quem recorrer para provisionar e proteger componentes de infraestrutura, como bancos de dados e servidores de aplicativos.
Em vez disso, o provisionamento e a configuração da infraestrutura nativa da nuvem são realizados usando APIs, o que significa que os desenvolvedores precisam assumir essas responsabilidades e basicamente fazer o trabalho que uma equipe de operações faria por eles. (Mesmo que eles possam fazer isso usando pipelines automatizados de CI/CD, ainda é uma responsabilidade adicional).
Impacto na eficiência do desenvolvedor se você errar
Contratar desenvolvedores é caro, portanto, vale a pena investir em fornecer a eles ferramentas que melhorem a produtividade. E não se trata apenas do custo da mão de obra, mas também do custo incorrido se o código não estiver correto ou não se comportar corretamente: é o custo das oportunidades perdidas, do custo de reputação, da interrupção de incidentes, dos custos de reparo e da perda de clientes.
Acrescente a isso o custo do esgotamento do desenvolvedor, a frustração e o tempo desperdiçado em questões secundárias decorrentes da configuração incorreta da infraestrutura — qualquer coisa que não seja desenvolver e implantar microsserviços com sucesso — e você terá uma receita para um desastre potencial.
Quando algo dá errado na produção, os desenvolvedores precisam de ferramentas que lhes dêem a visibilidade necessária sobre a qualidade do código e o comportamento da infraestrutura em todas as fases do ciclo de vida de desenvolvimento de software, para que possam resolver os problemas rapidamente e voltar a trabalhar. o código.
Os desenvolvedores nativos da nuvem podem gastar até um quarto do seu tempo ou mais em triagem, depuração e resolução de incidentes e interrupções. Obviamente, isso não é tempo gasto na criação e entrega do código do aplicativo para produção.
Se você acertar, obterá os benefícios exclusivos nativos da nuvem de escalonamento automático, melhor resiliência, agilidade e experiência do cliente “sempre ativa”. Mas se você errar, terá desperdiçado a maior parte do seu orçamento de TI e desperdiçado uma oportunidade de aumentar as receitas e melhorar a satisfação do cliente. Você pode até ter arruinado ou prejudicado sua reputação e perdido clientes existentes.
Em outras palavras, vale a pena investir nas ferramentas que ajudarão seus desenvolvedores a acertar. As ferramentas de rastreamento e monitoramento de aplicativos projetadas para a computação empresarial tradicional não atendem muito bem aos requisitos de computação nativa da nuvem. Eles não têm a capacidade de lidar com o volume significativamente maior de dados gerados a partir de microsserviços implantados no ambiente nativo da nuvem ou de fornecer dados específicos de um microsserviço ou diretamente pertinentes à resolução de um problema ou incidente com um microsserviço.
Usar o Chronosphere com o Google Cloud GKE aproveita os pontos fortes desses dois pioneiros nativos da nuvem para acelerar o desenvolvimento, a implantação e o monitoramento de código de qualidade, o que melhora a produtividade do desenvolvedor e ajuda você a aproveitar ao máximo seus escassos recursos nativos da nuvem.
Conclusão
A computação móvel e web moderna exige ferramentas modernas, uma nova cultura de desenvolvedor e práticas recomendadas de engenharia moderna. Eles também exigem observabilidade moderna e suporte para a produtividade do desenvolvedor, permitindo que os desenvolvedores prestem atenção suficiente e adequada à qualidade do código e à utilização dos recursos da nuvem.
Tudo é uma corrida para o mercado: para lançar o aplicativo, para atualizá-lo, para corrigir quaisquer erros ou bugs ou código de desempenho lento, para se recuperar de um incidente ou interrupção o mais rápido possível. Este é o tipo de competição em que as organizações precisam de toda a ajuda possível. Por outro lado, eles não podem pagar o preço da baixa produtividade dos desenvolvedores.
Os desenvolvedores não podem ficar felizes e produtivos sem a experiência de desenvolvedor certa, o que significa as ferramentas e o suporte certos. Eles desejam minimizar o tempo gasto resolvendo problemas de infraestrutura e maximizar o tempo gasto entregando código de qualidade para produção.
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER
Eric Newcomer é CTO da Intellyx. Ele atuou como CTO dos principais fornecedores de integração WSO2 e IONA Technologies e como arquiteto-chefe de grandes empresas como Citibank e Credit Suisse. Ele criou algumas das indústrias mais conhecidas…
Este site utiliza cookies para melhorar sua experiência de navegação. Ao continuar, você concorda com o uso de cookies. Para mais informações, consulte nossa Política de Privacidade.
Funcional
Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos.O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.