Software is reshaping the relationship between automotive retailers and their customers. Like many other retail experiences, consumers expect a higher level of service and interaction during their buying experience. To meet this opportunity, an automotive software provider created a consumer platform to accelerate time to market for these app-based experiences both directly to consumers and via automotive retailers.
Cloud Native For Maximum Flexibility
The organization chose to build this solution on Microsoft Azure to take advantage of the Cloud’s portfolio of managed services. The application is built using a distributed architecture with Azure Kubernetes Service (AKS) at its core, hosting the microservices that will interact with the Azure services. Opting for a cloud native, distributed architecture, the solution maximizes flexibility, making it easy to add modular services and applications as needed.
Dapr Keeps Complexity In Check
However, having previous experience architecting distributed systems, the development team recognized that the level of complexity rapidly increases, placing additional burden on their developer and operations teams For this reason, they decided to add Dapr into the architecture from the beginning, trusting that the consistent API layer would embed best practices via its building blocks. Dapr’s simplicity and opinionated APIs for service invocation, state management, publish/subscribe, and workflows provided the capabilities needed by the software provider, reducing the burden of understanding how to interact with multiple components that, without Dapr, would require dependencies on multiple SDKs as part of their project.
Diagrid’s Enterprise Support For Open Source Dapr
The consumer platform is of strategic importance and building open source Dapr into the system initially raised concerns about the turnaround time to fix issues or get architectural guidance around their decisions. Diagrid’s Enterprise support is available to mitigate these concerns, coupled by the support provided through the thriving Discord and GitHub communities. Diagrid’s open-source engineering team includes multiple core Dapr maintainers who can assist in prioritizing and fixing critical issues.
Early Adoption of Conductor
The architecture decision to use Dapr from day one lead led to the adoption of Diagrid Conductor during the product’s beta release, three months into the development of the consumer platform software. By onboarding Conductor during an early development, the organization benefited from Conductor’s advisories and metrics to identify issues in programmatic subscriptions, service invocation latency, and component initialization failures. Tasks that would require manual log verification and analysis.
These issues are easily identifiable in Conductor, giving engineers a single dashboard where the state of distributed applications is displayed. With this, developers only need to rely on Dapr and application logs to debug lower-level issues. Adding this to Dapr’s 30% improvement in development time makes Conductor a no-brainer solution for the organization.
Reduced Operational Burden
Like 90% of Dapr users, the organization decided to run their Dapr production environment on Kubernetes. Kubernetes is a powerful and flexible platform, depending on proper operational tasks to keep it a scalable and resilient environment for mission-critical workloads. Adherence to well-architected best-practices is key to a successful Kubernetes deployment.
They leveraged Conductor to answer a short but very complex question: “Did I configure my environment correctly?” Conductor answered this question by displaying valuable metrics and automating multiple operational tasks for the software provider. Diagrid Conductor automates Dapr upgrades with options for scheduling and automatically restarting all Dapr enabled apps in the process.This reduces the risk of downtime with less room for user error and saves the automotive software provider over an hour of work per Kubernetes cluster weekly. Conductor also ensures that Dapr mTLS certificates are always rotated before expiry, preventing system downtime while maintaining a consistent security posture.
The approach of adopting a cloud-native, distributed system architecture with Dapr and managing it with Conductor has proven to be a strategic advantage. This combination has not only allowed for accelerated development and deployment of new applications but has mitigated operational burden associated with distributed systems on Kubernetes. As the automotive industry continues to evolve with increased customer expectations, this approach serves as a model for how cloud-native technologies can drive success in a competitive market.