Now it’s official. Today, I changed the infra of Fuscripts to have separate dev and prod envs.
Until now I had something like this:
In a nutshell, there was only one environment. I started the Fuscripts ecosystem thing naming most things “dev” as I didn’t have any real users. At some point I dropped that naming convention (my subconscious might have thought the dev env would be the only env forever).
I started sending my apps to some close people and I don’t want the links I sent them breaking (even if they are not “real” users). Hence, the need for a more stable “prod” env I’m not breaking every day.
The first step was mapping what I had. I didn’t remember what I had in place and what they were named. The result was the diagram above.
Then, I designed how the new infra would look like:
I had to mostly create new instances of services I already used. I decided to keep most of the existing backend as the dev env (because most of them were already named like that).
On the other hand, the frontend I had wasn’t named with “dev” suffixes, so I decided to leave what I had as the prod instances.
Having the diagram like this helped me to see how things connected (shock), instead of looking at ~10 different AWS Console pages.
Finally, I made a checklist of things I had to do:
With that in hands, it was smooth sailing. It took me ~1.5h to map everything and design the new infra, and about ~3.5h to implement all changes and fix some minor issues that happened due to things pointing to the wrong environment I had hardcoded in the front/back.
Now everything seems to be working and I have 2 strong and independent environments for Fuscripts:
- Dev
- fuscapp-dev.fuscripts.com
- fuscapi.fuscripts.com/dev
- Prod
- fuscapp.fuscripts.com
- fuscapi.fuscripts.com/prod
This was a fun exercise of my AWS skills, helped me refresh some concepts around the different services I use and gave me a good feeling that now Fuscripts is more prepared to grow. Maybe some actual people might start using it 👀