11-11, 10:05–10:35 (MST), Theater
In a long running distributed service, time takes a toll, tech debt eats at it. Rising tech debt causes fear of augmenting the system with new features, and inevitably leads to heavy ops, and starts taking a toll on maintenance. In this talk, I present a real example of how Azure Cloud Shell addressed a large tech debt by migrating from a self-managed K8s to a managed serverless infrastructure, through A/B methodology, and the learnings incurred along the way!
Any infrastructure reaches its constraints over time. It requires a timely migration to avoid getting into the vicious cycle of tech debt, where upgrading a system evokes fear and reinforces the belief that change is futile. Neglecting migration leads to frequent maintenance which results in a team that is constantly hamster wheeling to stand still.
A good migration is one that finishes with a clear plan, a determined path and execution and when done right, will go a long way in helping a service adapt and stay relevant.
Revamping the backend of a widely used distributed service is a serious undertaking. As a service matures, it develops robust resiliency practices and becomes finely tuned to operate in harmony. Transitioning the core infrastructure of such a service necessitates a careful, low-risk approach that ensures continuous service health and no interruptions for customers.
It can be an intimidating process.
However, there are real examples that can demonstrate these low-risk methodologies and practices. In this talk, we focus on how one such service migrated its backend to a managed serverless infrastructure with zero downtime and discuss the methodologies and practices it used to achieve the same.
Priya is a Principal Software Engineer in the Microsoft Azure Cloud Shell service, where she focuses on building and maintaining a highly available infrastructure and addressing complex security challenges. She has a strong interest in backend, infrastructure, and distributed systems, and is eager to learn more about cloud-native migrations, whether large or small.