Thanks for weighing in. Yeah! This is basically what I am thinking I’ll have to do. I just tried Github actions and runners with a very small internal app and I liked it. I’ve never worked closely in AWS but I’ve gotten trained in/used Azure a few times and it’s basically the same thing on my end.
Robust tests, larger conditional workflows in github actions, and some sort of staggered rollout I think are the conclusion I’m arriving at.
Godspeed. I hope the transition goes well. If you need to baby step towards it, I felt like docker swarm was easier to approach but kubernetes is far more standard. I recommend budgeting training into the rollout if your shop can afford it. For CI/CD I recently had a great experience with github and github actions but I had a coworker setup on-premise gitlab in the past too.
Somewhat of a tangent - My experience with alembic of over four years is that it is leagues better than manual SQL dealings, and also very easy to understand what you’re looking at. But I have to say that when I used sequelize in NodeJS, it has an autosync and autoupgrade schema that made alembic look silly.
In regards to my own post I think for now what I’m mostly seeing is that for each new deployment - is going to have to have an internal smoke test, then staggered rollout of updates.
Reading what you wrote here - I think this is confirming my looming suspicion. Which is that there is no standard today for upgrading docker containers. Since upgrades happen app to app. For example if I have a docker-compose deployment and service A
is lemmy
, and service B
is postgres
the app in this case service A
will have to have its own logic for handling upgrades or code migrations.
In other words, the upgrade process can depend on how the software developer writes the software; independent of docker/k8s/vm’s or whatever deployment strategy you are running.
I think what I was hoping for was that I’d ask if there was a newer smooth standardized way to do software upgrades besides A/B testing or staggered rollouts but I’m not really seeing that.
I’m not super familiar with Lemmy’s codebase but it looks like they’re using diesel ORM here and have migration handling on a case by case basis for some major changes. https://github.com/LemmyNet/lemmy/blob/main/src/code_migrations.rs**___****___****___**
Maybe try some of these - I found this awesome list in my research https://github.com/VPashkov/awesome-nim#gui
Thank you so much for posting. It’s really nice to hear from someone with experience first hand.
Maybe I’ll make a post about my experience with it after I ship out my startup to prod/app-stores. I was going to try to write a replacement to enms.io but since its already open source I can’t really justify the 2-3 weeks to hack something out,while also adding Nim to the problem set.
I have to say though, a reads-like python but compiles like c/rust/etc. has really garnered my interest. They had an excerpt about decentralized package management with nimble and that really made me raise my eyebrows.
Thanks for the post! If I see it out and about I might try buying the Kirby return to Dreamland game.
Otherwise if I play switch it’s that pokemon scarlet and violet game set. They did a really awesome job adding ridable pokemon, auto battling, and raids. To me it’s pretty much everything I asked for as a kid. The graphics leave much to be desired but if you’re playing in 1080p anyways it’s like who cares, you’re playing for the concept anyways lol.
🌶️🥵Many people consume Facebook meta company’s tech stack wholesale, don’t know how to actually traditionally program their way out of a paper bag, and web dev and devops caused a massive layoff (250k people) at the end of 2022, start of 2023 because it was all vaporware. They consume the same software in droves if the other guy uses it.
There is an entire subculture around it that is just a bunch of medium.com writers, YouTubers and twitter handles just trying to get the clicks for their ad money. Some of these guys have never written valid software or done anything noteworthy. If you meet them head on you’d find they have enormous egos and can’t find a counter argument when presented with reason.
I’ll even add on that there are many programmers who don’t know how to code outside a web app.
Why is something like [react, graphql, react ssr, devops, tailwind, unit tests, containers] vaporware?
You know the stuff I don’t hear about?