Something else this community may appreciate but may not be visible — Aiven is fanatical about open source 😁 and we contribute upstream to the projects we support via our Open Source Program Office (10 people today, paid just to contribute back!) https://aiven.io/open-source
06/09/2022, 1:00 PM
@Andrew Staller first of all thanks to Heikki for sharing these great insights to Aiven! Heikki mentions "keeping software up-to-date" as one of the major challenges of running stateful software in the cloud. In my position as a System Architect our team also offers internal services for different database products. But from my experience we do not have problems from an operational perspective to move the software maintained by us to a new version but often are limited by the clients/applications that use these stateful services to properly support the new version we want to upgrade to. How does Aiven handle this "client dependency" problem on such a large scale? Do you simply enforce this by policy and deadlines? Or do you have additional processes to help your customers and their applications and clients to move to a new version of your managed software?
06/09/2022, 4:54 PM
@Daniel Haß that is a great question. For certain services that allow forking, which is taking a service and create a copy at a point in time, that is functionality that makes it easy to provide environments to test client compatibility against a new version before they pull the trigger on full prod upgrade.
But we do enforce it by policy. We are quite aggressive with EOL dates, for better or worse. And many enterprise customers ask to extend that deadline simply because they also struggle with the same challenge and there is no magic wand here. As you imply, it is just work that needs to be done, and the organisation’s level of expertise and discipline around software engineering best practices - CI/CD, automated testing etc - will determine how easy they find that.
where the version upgrades come into play, or maintenance updates, or moving to or from whatever VMs you’re running on (we call them plans), it is also the downtime that should be considered. With Aiven, zero-downtime version upgrades, maintenance updates, resource upgrades/downgrades is differentiating from services like RDS and CloudSQL, as examples. But, if your team can make that happen, more power to you! 🙂
06/10/2022, 7:22 AM
@Andrew Staller thanks your for the detailed answer! Yeah, so it seems everyone is sitting in the same boat when it comes to these things. It takes efforts on both sides (product teams and the platform) to make frequent updates of stateful services (or backend services in general) a breeze.
06/13/2022, 9:53 PM
@Daniel Haß indeed, we talk about Shared Responsibility often. Ultimately, we’re taking the burden of management, security, critical operations off their plate to focus on the application layer.