Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code
What happens when a reactive architecture becomes too complex? The Porsche team shares their journey from WebFlux to the maintainable, imperative style of Kotlin Coroutines.
#1about 3 minutes
Consolidating multiple apps into a single experience
The My Porsche app evolved from many individual applications into a unified experience by introducing a backend-for-frontend to abstract legacy systems.
#2about 5 minutes
Moving from blocking to non-blocking with Spring WebFlux
The backend evolved from the thread-per-request model of Spring Web MVC to the event-driven, non-blocking model of Spring WebFlux for improved scalability.
#3about 2 minutes
Using Kotlin Coroutines to simplify complex reactive code
Kotlin Coroutines were adopted with WebFlux to handle complex business logic using a familiar imperative style, avoiding the complexities of nested declarative chains.
#4about 5 minutes
Migrating incrementally with the WebFlux sandwich pattern
The "WebFlux sandwich" pattern enables a gradual migration by refactoring the core business logic to coroutines first while bridging to existing Reactor-based controllers and clients.
#5about 3 minutes
Comparing the performance and scalability of different approaches
A performance analysis shows that while the mixed migration approach has a temporary throughput dip, it enables a path to the highly scalable pure Kotlin Coroutines implementation.
#6about 3 minutes
Identifying the limitations of the initial Cloud Foundry platform
The original Cloud Foundry infrastructure presented challenges with limited configuration control, restricted logging, and scaling quotas, necessitating a migration to a new platform.
#7about 6 minutes
Evaluating Azure compute options for a new platform
A systematic evaluation of Azure services like VMs, AKS, and App Service against key requirements led to the selection of a suitable new platform for the backend.
#8about 3 minutes
Understanding the features of Azure Container Apps
Azure Container Apps is a serverless container platform built on Kubernetes that integrates open-source tools like KEDA for event-driven scaling and Dapr for simplified microservice communication.
#9about 3 minutes
Implementing the new architecture on Azure Container Apps
The new architecture uses an Application Gateway, a vNet with multiple subnets, and Dapr sidecars for service communication, all provisioned automatically using Bicep templates.
#10about 4 minutes
Navigating pitfalls during the Azure Container Apps migration
The migration involved challenges such as breaking changes in the preview service, strict vNet requirements, and debugging unexpected behavior in Dapr's request handling.
#11about 1 minute
Future plans for evolving the application and infrastructure
The team plans to complete the coroutine migration, implement bidirectional communication, and further leverage Dapr and KEDA for enhanced resilience and scaling.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
02:55 MIN
Backend architecture of the Track Precision App
Car's are Technology on Wheels - Impact of Software and IT Competence in Automotive
03:07 MIN
Challenges of modernizing and scaling monolithic frontends
Web-Fragments: incremental micro-frontends migration approach for enterprise
01:03 MIN
Exploring common use cases for Azure Container Apps
.NET Microservices in Azure Container Apps
04:26 MIN
The evolution of Spring Boot and container technologies
What's (new) with Spring Boot and Containers?
05:00 MIN
Managing frontend and backend microservices communication
.NET Microservices in Azure Container Apps
02:31 MIN
Moving from hacking MVPs to building scalable applications
Typescript, React and Atomic Design - a match made in heaven
05:12 MIN
Fostering a modern engineering culture at scale
Inside Mercedes-Benz: How CIO Katrin Lehmann is Empowering 5,000 Developers and Driving Digital Change
06:36 MIN
Discussing team structure, agile methods, and microservices
Remote Driving on Plant Grounds with State-of-the-Art Cloud Technologies
How we Build The Software of TomorrowWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
Why You Shouldn’t Build a Microservice ArchitectureWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Michael Eisenbart who talks about the pros and cons of microservice architecture.About the speaker:Michael has been working for Bosch as a sof...
Chris Heilmann
All the videos of Halfstack London 2024!Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
From learning to earning
Jobs that call for the skills explored in this talk.