#time to learn something new
I got sick of my overhead with the current workflow, local environment, hosting, servers, deployment services, server maintenance, multiple instances, and separating more robust servers from temporary ones. Etc.
#disclaimer
Most of my projects are just that and nothing else. So it's the playground to get the production experiences I can use at my primary job, upgrade my CV, and prepare for the next gig. Even though we talk about personal projects, I am highly bothered that I can not simply jump on the idea I have at the moment but am pulled back by the simplest things like local environments, domains, hosting, build flows, testing, or otherwise temporary domains, certificates. Other inspirations come from my primary job circumstances, where things are always exciting.
#unsubscribe from current SaaS
I do not have many subscriptions to services, but at the end of the month, I could pay for a couple of streaming services with that money. So for them to just be there, that is too much. I want a full self-hosted or managed environment where I can spawn a new socket server or five, a custom docker registry, a couple of CI/CD workers, etc. And if / when things become resource-consuming, I can scale just hardware without paying the upgraded subscription.
#quick option to switch servers
Whenever I set a new project and assign the server I want the project to run on, it soon becomes an issue when the resources are needed somewhere else; I am removing the server or simply upgrading to a better one or with another provider.
#no manual scaling overhead
Related to switching servers, making things scale big or small in a short time is a huge burden and an overhead I want to make as simple as possible.
#single hosting dashboard
Related to SaaS + multiple servers, multiple clients, ..., things soon become a bureaucracy what is where. I want to have it all in one place.
#simple management of application
Encapsulate the application for real, try things out, and don't worry about other things you also host. For example, adding one should be a matter of a couple of lines, not 15 screens and eight wizards.
#zero downtime for the applications
In the old world, we uploaded the new files of the application and hoped for the best. Usually, turning the maintenance page on or trying some symlink magic to achieve zero downtimes. Unfortunately, production rollbacks are still a mess and a full-blown risk. There must be a better world somewhere today.
#multiple environments for features testing and previews
Having a test environment is already a privilege not all developers have. Pre-production and staging are almost like spam mail from a "prince that wants to give you money." What about a situation where the product is enormous, and each feature testing needs its environment? Or when you start developing on some huge refactor or new core functionality like replacing the whole internal system for events, sockets, etc.? What if a client also wants to have its sandbox/demo to play? Etc.
#the plan
Let's jump into the topic and see how far I can get before admitting all the mistakes I have made in the name of "Why should I check the documentation that takes 15 minutes if I can do that on my own in 5 hours."
Till next time, stay sexy and hydrated.