BMW impulsiona inovação com Microsoft Azure e GitHub
Postado por Redação em 09/01/2025 em Notícias TechDesde a adoção, a BMW diz que aumentou significativamente as métricas do aplicativo MyBMW
Devido a parcerias firmadas com a Microsoft o Grupo BMW comenta que realizou um impulsionamento em inovação em seus veículos. A empresa automobilística comenta que, com a expanção do seu ecossistema de veículos conectados, precisou de mais escala para suportar uma vasta rede de clientes em várias regiões, encontrando nas tecnologias do Microsoft Azure a parceria certa.
Os aplicativos My BMW e MINI são exemplos do compromisso da empresa com a inovação tecnológica, conectando mais de 13 milhões de proprietários com seus veículos BMW e MINI. Através do aplicativo, os proprietários podem verificar remotamente o status de seu carro, localizá-lo, trancar ou destrancar as portas e até mesmo obter atualizações de software over-the-air (OTA) via app, revolucionando a forma como os clientes interagem com seus carros.
Os aplicativos recebem quase 450 milhões de solicitações de dados por dia e, sem a capacidade de fornecer residência local de dados e conectividade, a latência poderia se tornar um problema para os usuários finais. Ou seja, os aplicativos precisam de uma infraestrutura de nuvem confiável para poder lidar com esse volume de cargas de trabalho pontuais de forma eficiente, particularmente durante os horários de pico de uso. “O desafio era garantir que nossos sistemas pudessem gerenciar o alto volume de dados e interações perfeitamente, sem comprometer o desempenho”, explica Christian Schmid, Chefe de Desenvolvimento de Aplicativos Móveis do Grupo BMW.
Para garantir uma experiência de aplicativo agradável para motoristas em todo o mundo, o Grupo BMW deseja capacitar seus desenvolvedores com ferramentas modernas que aumentem a eficiência em fluxos de trabalho. A BMW tem mais de 450 equipes de desenvolvedores gerenciando 1.300 microsserviços ao redor do globo. Para melhorar a colaboração de suas equipes de DevOps – cerca de cinco mil desenvolvedores em todo o mundo – a BMW escolheu usar ferramentas robustas que ajudam a escalar seus fluxos de trabalho.
Colaboração global
O Grupo BMW acredita que fomentar uma forte cultura de software é essencial para criar uma experiência de desenvolvedor perfeita e eficiente, o que é fundamental para entregar software valioso em escala global. Para alcançar isso, a BMW recorreu à Microsoft e GitHub para uma solução abrangente que aproveita o Microsoft Azure e o GitHub Enterprise. A empresa construiu os aplicativos My BMW e MINI na robusta infraestrutura de nuvem do Azure, garantindo baixa latência e alto desempenho em suas zonas de disponibilidade.
Quando o Grupo BMW construiu os aplicativos pela primeira vez, há mais de 10 anos, usou Azure App Service e Service Fabric para construir, escalar e implantar os aplicativos globalmente. Mas à medida que a empresa adicionou significativamente mais usuários, o Grupo BMW recorreu ao Azure Kubernetes Service para mais escala e melhores capacidades de gerenciamento de capacidade.
À medida que o Grupo BMW expandiu seu ecossistema de veículos conectados, a escalabilidade se tornou crucial devido aos diversos padrões de uso regionais. Nos EUA, os clientes usam frequentemente o recurso “Find My Car”, enquanto na Europa, o recurso “Plan Route” é mais popular, especialmente durante os horários de pico da manhã e da noite, quando os usuários enviam destinos e pré-aquecem seus carros simultaneamente. Essas diferenças regionais criam necessidades de capacidade de back-end variadas em diferentes momentos do dia. Para gerenciar isso, a plataforma do Grupo BMW escala dinamicamente para implementar atualizações progressivas de hospedagem e serviços adicionais do Azure para lidar com cargas de trabalho pontuais e garantir desempenho consistente globalmente. Essa disponibilidade global é implementada implantando nas regiões do Azure mais próximas da base de clientes do Grupo BMW.
O Azure API Management protege os sistemas de nuvem contra uso não autorizado com uma poderosa solução de gateway que governa o acesso do aplicativo móvel aos serviços de back-end para evitar acesso não autorizado e limitar a taxa de uso de APIs. O Azure Kubernetes Service simplifica o gerenciamento do Kubernetes lidando com a sobrecarga operacional, permitindo que a equipe se concentre em implantar e gerenciar seus microsserviços sem o ônus de gerenciar o plano de controle do Kubernetes. “O Azure Kubernetes Service nos permite escalar e operar confiavelmente nossos microsserviços”, observa Christian Schmid.
Adicionalmente, o Grupo BMW atualiza todo o software usando o Azure Service Bus e o Azure Cosmos DB. O processo começa com uma mensagem através do Service Bus, acionando a atualização. O serviço fornece atualizações de status em tempo real, enquanto o status de atualização de cada carro é armazenado no Azure Cosmos DB, permitindo que o Grupo BMW acompanhe o progresso em toda a sua frota. Se surgirem problemas, notificações em tempo real e rastreamento detalhado permitem uma rápida resolução. Esse sistema garante que todos os veículos operem com o software mais recente, melhorando o desempenho e a segurança.
Ao aproveitar completamente os serviços gerenciados do Azure, o Grupo BMW elimina a necessidade de hospedar e manter esses serviços subjacentes por conta própria. Essa abordagem libera os engenheiros da empresa para se concentrarem no que mais importa – entregar produtos e experiências excepcionais para seus clientes. Para aprimorar ainda mais seu processo de desenvolvimento e implantação, o Grupo BMW emprega implantações baseadas em GitOps e lançamentos canários. O GitOps automatiza a infraestrutura e a implantação de software, permitindo implantações confiáveis de plataforma A/B e lançamentos contínuos. A equipe de DevOps do Grupo BMW usa o FluxCD para lançamentos canários para gerenciar atualizações e garantir lançamentos suaves. Eles testam novos recursos lançando uma nova versão e expondo a nova funcionalidade apenas para um grupo específico de usuários, enquanto a maioria dos clientes ainda está sendo servida pelo software existente.
O Grupo BMW configura um namespace dedicado em seus clusters Kubernetes para esses testes, mantendo o sistema principal intocado. O FluxCD atua como um operador no cluster, verificando continuamente o estado desejado no repositório de configuração, bem como no cluster. Se surgirem problemas, o FluxCD permite uma rápida reversão à versão anterior, garantindo que apenas as atualizações totalmente testadas cheguem a todos os usuários.