Sprint 3 and Deployment

Since the last time that I made a blog post one of the tasks I was assigned was finding out a way to deploy our web application to the cloud so that users can finally use our application. It basically came down to two options. AWS Amplify and Google App Engine.

The decision came down to these two because they are very popular and there are lots of guides and documentation on how to get a React application deployed to those services, and the other reason is that I have some familiarity with both. I have familiarity with Google App Engine from CS 493 which I am taking currently, and AWS Amplify because I used AWS during my internship. I tried to deploy both applications to their respective platforms and this is the story that.

First I went with Google App Engine and I found a blog post that someone wrote and they went throught the steps of getting everything setup and have deploys after pushing to a specific branch. First the instructions where to get your app containerized with docker. Which was not too difficult because the steps were really well explained. Then we would create a project with Google App Engine and then push the container to that project. The next big step was getting the app to deploy by running a few command line commands and it was up into the cloud and ready to be seen, but therer was no way re-deploy if you had changes without going through that process again. So, now we had to get GAE attached to the repo with some secrets and create a pipeline that would run on any merges to main. You have to make secrets and make sure you can understand what an yaml file is and what it does. I did not and it was a pretty big headache and I stopped trying at the moment and moved on to AWS Amplify.

When you set up the project with AWS Amplify all you need to do is follow some simple steps. One you need to allow AWS Amplify to read the contents of your Github repository. Fill out a pre-made template of where your preoject will ‘build’ and where that build folder will be, and which branch you want to be your deploy branch. And thats it. Any changes you make to that branch will get your app re-deployed. It was very simple and easy to get setup.

So in the end I decided to go with AWS Amplify and its has been smooth sailing vers since.

For deploying anyway