O Grupo BMW, um dos líderes na indústria automotiva, tem uma longa história de integração de tecnologia avançada para impulsionar a inovação em seus veículos. Desde seus primeiros dias focando em engenharia mecânica e elétrica até a sua atual ênfase na engenharia de software, o Grupo BMW tem consistentemente aproveitado a tecnologia para aprimorar seus produtos. À medida que o Grupo BMW expandiu seu ecossistema de veículos conectados, ele precisou de mais escala para suportar uma vasta rede de veículos e clientes em várias regiões, encontrando nas tecnologias do Microsoft Azure a parceria certa para isso.
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. O único desafio com isso? As fronteiras geográficas que os separam. 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 perfeita
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.
“O alto desempenho de nossos serviços de back-end, graças ao Azure, lançou a base para as altas classificações na loja de aplicativos e feedback positivo dos clientes.”
Christian Schmid, Chefe de Desenvolvimento de Aplicativos Móveis do Grupo BMW
O Grupo BMW aproveita os dados de uso e análise para tomar decisões de produto informadas, sempre garantindo que tudo seja coletado e processado com o consentimento explícito do cliente e em estrita conformidade com as regulamentações de dados e GDPR. O Microsoft Power BI desempenha um papel crucial na criação de análises de dados valiosas e no aprendizado com as interações dos usuários. “Confiamos no Power BI para entender nossos usuários e tomar decisões baseadas em dados”, destaca Paul Weber, Proprietário de Produto das Plataformas de Nuvem Conectada no Grupo BMW. Um exemplo disso é como a empresa descobriu que alguns usuários não estavam conseguindo completar atualizações de software em seus veículos. O Grupo BMW tem a maior frota de veículos OTA (over-the-air) do mundo e leva muito a sério a melhoria do produto para seu recurso de Atualização Remota de Software (RSU). Usando o Power BI, a empresa é capaz de monitorar continuamente o uso do RSU. O Grupo BMW descobriu que, após a introdução de melhorias de UX em lançamentos anteriores do aplicativo, uma maioria significativa de usuários agora completa atualizações OTA usando o aplicativo My BMW em vez do sistema de infotainment do veículo.
“Confiamos no Power BI para entender nossos usuários e tomar decisões baseadas em dados.”
Paul Weber, Proprietário de Produto das Plataformas de Nuvem Conectada, Grupo BMW
Experiências conectadas inovadoras
Desde a implantação das soluções da Microsoft e GitHub, o Grupo BMW viu melhorias significativas nas métricas de uso ativo e feedback dos clientes. Os aplicativos My BMW e MINI possuem 13 milhões de usuários ativos e 24 milhões de downloads em 92 mercados, indicando sua ampla adoção e satisfação dos usuários. O back-end dos aplicativos, suportado pelo Azure, lida com incríveis 450 milhões de solicitações e processa 3,2 terabytes de dados diariamente. Esse nível de desempenho e confiabilidade tem sido crucial para manter uma experiência positiva do usuário. O aplicativo My BMW atualmente tem uma classificação de 4,9 com aproximadamente 243 mil avaliações. “O alto desempenho de nossos serviços de back-end, graças ao Azure, lançou a base para nossas altas classificações na loja de aplicativos e feedback positivo dos clientes”, compartilha Schmid.
A integração do GitHub Actions também transformou os processos de desenvolvimento na BMW. A empresa agora executa mais de 140 mil compilações e implantações diariamente, que incluem os aplicativos My BMW e MINI, bem como microsserviços usados pela frota de veículos, garantindo que atualizações e novos recursos sejam entregues rápida e eficientemente. “A automação fornecida pelo GitHub Actions reduziu drasticamente o tempo e o esforço necessários para tarefas repetitivas, permitindo que nossos desenvolvedores se concentrem na inovação”, explicou Weber. Isso não apenas melhorou o desempenho das aplicações na BMW, mas também aumentou a eficiência geral de suas equipes de desenvolvimento. A mudança para um pipeline de CI/CD mais automatizado e simplificado reduziu o tempo e o esforço necessários para tarefas repetitivas, permitindo que os desenvolvedores se concentrem em entregar valor e inovação.
A BMW também adota a tecnologia de código aberto como parte de sua estratégia, dada a importância do projeto. A empresa confia no Elastic para logging e usa Grafana, Prometheus e Loki para métricas, garantindo monitoramento e visibilidade abrangentes. Para gerenciar segredos e configurações, a BMW utiliza o HashiCorp Vault, que adiciona uma camada extra de segurança e capacidade de gerenciamento. Essa preferência por soluções de código aberto ressalta o compromisso do Grupo BMW em buscar as melhores ferramentas disponíveis para aprimorar sua infraestrutura tecnológica e fornecer experiências excepcionais aos usuários.
Empoderando a transformação digital
Olhando para o futuro, o Grupo BMW planeja continuar expandindo o uso de produtos da Microsoft e aprimorar ainda mais as capacidades dos aplicativos My BMW e MINI. A empresa está particularmente entusiasmada com o potencial de integrar recursos avançados de IA, como os oferecidos pelo GitHub Copilot e outras ferramentas de IA generativa para melhorar o feedback do cliente e o gerenciamento de dados. À medida que os veículos se tornam mais conectados, o Grupo BMW prevê lidar com quantidades crescentes de dados e fornecer atualizações quase em tempo real para enriquecer a experiência do cliente.
Ao continuar a inovar e expandir suas capacidades tecnológicas, o Grupo BMW está comprometido em manter sua posição como líder digital na indústria automotiva e em fornecer experiências inigualáveis aos seus clientes. Como Schmid afirma, “A tecnologia sempre foi um aspecto chave para impulsionar a inovação em nossos veículos, e com parceiros como a Microsoft, estamos bem equipados para atender às necessidades em evolução de nossos clientes.”
“A tecnologia sempre foi um aspecto chave para impulsionar a inovação em nossos veículos, e com parceiros como a Microsoft, estamos bem equipados para atender às necessidades em evolução de nossos clientes.”
Christian Schmid, Chefe de Desenvolvimento de Aplicativos Móveis, Grupo BMW