How we migrated from monolithic to serverless mentality

A few weeks ago I was hired by a small company that intented to grow it’s client base but there was a BIG problem, the monolithic server.

The company itself had few contact with AWS and didn’t have any contact with serverless at all, and my goal was to take the main product of this company to run in an AWS environment and it should be all serverless. Me, myself love a great challenge and to execute it I had a little team with me of people with great codeskills, zero skills in serverless, no knowledge in agile but they had a lot of heart.

My team was formed by 1 UX, 2 backend developers and 1 frontend developer, although the zero experience in cloud, they were hungry to learn new ways to get the job done.

The first thing was to establish a work process, to do so I chose Scrum to help-me in the process. The team was happy about it and they were willing to make it happen. So that part was quite simple.

Second thing, we broke down every single feature of the software, so we could understand the whole challenge ahead of us.

Then the hard part was the hardest part of this process, the “serverless mentality”. At first the team struggled to understand the whole thing in microservices, lambdas, deploy and the mentality of a feature instead of worrying about the whole system. trust me, that was harder than it sounds, but after a few deploys, some lambdas running with API Gateway, cognito with amplify, the gears started to run so quickly that it was a big surprise for me.

Now we are deploying the features everyday with improvements, focusing in the business value and the team is really happy with the results. That was our roadmap and we are still working on this app, but the future seems really promising.