Muru: canaries without a service mesh
Canary releases under the Muru daemon, where a new release gets a share of the traffic, is judged against the release already serving, and is rolled back by itself if worse.
Canary releases under the Muru daemon, where a new release gets a share of the traffic, is judged against the release already serving, and is rolled back by itself if worse.
Deploying to the Muru daemon, where each deploy starts a new release beside the old one, rolling back is a routing change, and two releases can share a database.
What building software with AI looks like as I edge towards retirement, why all software starts out as mud, and why I would like to hear what you never had time to build.
Adding websockets to an existing WSGI application with Muru, by handing requests to ASGI in the same worker, plus mounting ASGI beside WSGI and serving gRPC.
How a Muru development run serves HTTPS with a certificate your browser trusts, so HTTP/2, Secure cookies and URL schemes can be tested without a proxy in front.
How Muru imports a Python web application once and forks workers from it, checks the import is safe to fork, and how processes, threads and free-threading fit in.
Follow my journey and get notified about new posts and projects.
You can also follow this site via RSS feed.
If you're a Python developer, you might also want to check out the RSS feed available from planetpython.org for posts from various Python developers, including myself.
Support my open source work and help me continue creating tools that benefit the developer community.
Sponsor on GitHub