Created by International Masters Publishers (IMP), MyGreatRecipies has been the ultimate cooking inspiration to people for many years now.
The app and website offer 100.000+ exceptional recipes, along with other features such as saving recipe favourites, creating new recipes from scratch and sharing recipes with family & friends.
MyGreatRecipies is a cloud-based website and app for iOS and Android handheld devices. All business logic and functionality are built on an innovative cloud-based platform – Typhoon X – that utilizes the flexibility of microservices.
IMP started facing the need for a new service that will run smoothly and efficiently. This new service would enable them to start small and then expand steadily over time.
Their principle idea was to start with one functionality only and then add new ones without having any implications on the existing functionalities. Additionally, if some of the functionalities weren’t necessary at a specific time, they would be able to disable/enable them depending on the situation – while having total flexibility.
To assist our client in facing this challenge, we decided to use small EC2 instances for the majority of the microservices. Later on, when the user number started to increase significantly, we didn’t have any difficulties managing all users. What we did is just increased the capacity of all instances and adopted a bit more powerful services.
However, for some of the services – that were removed from the platform – we just terminated the EC2 instances, without affecting the other functionalities.
What was needed at that specific moment was managing the backend system and scaling the services. To achieve this, we decided to propose an AWS solution that would allow flexibility to all services including the capacity itself.
Additionally, we used the Simple Email Service for enabling our client to send emails, and its users to be able to activate their email addresses or change password.
Apart from EC2, we used Lambda and created a cron job that does regular checkups every 24 hours. If there is a new user subscription or a premium subscription payment, there is a call made through Lambda. That way, we forward all information to AppStore or Playstore for verification. After the verification is finished, the user receives their premium subscription.
Outcomes of the Project
The outcome of the solution we proposed was that our client was able to proceed with a smooth, efficient and fast development. This has also allowed them to make bigger changes in the app without affecting the significant number of users or their usage of the app at any time.
Another benefit was that on some busy days – such as holidays – all the instances were set to autoscale, meaning preventing the app and the web from having any downtime of the services or change in delivery speed.
This solution has also secured a completely separate environment and a lot of flexibility. This environment is completely isolated from the production environment yet completely identical. Therefore, it enables the opportunity to test everything without affecting production.
Additionally, end-users can perform an even more powerful recipe search based on all their previous data gathered by the algorithm. This search can be done by a certain ingredient or even a meal. They can save an unlimited number of recipes or collections and search not only through different recipes but also collection and profiles.
Ultimately, users are no longer experiencing downtime – whether it’s the holiday season or any other busy day – allowing them to completely enjoy their cooking routine with MyGreatRecipes.