MyPoolin is a social payments platform that allows you to do two things seamlessly.
- Splitting and settling your bills for daily use like dining, parties, lunch.
- Planning and paying with friends for movies, events, gifts and more.
By virtue of the nature of application and the user flow, the app consists of 4 parts of the journey — Discovery (for planning cases), creating the group, chatting & paying, and finally redeeming the collected amount. Over this journey, there are multiple touch points for you that are facilitated in a manner that provides you with the wholesome delta like package that you experience. The tributaries that fill into it are our multiple third party API interactions (from recommendation listings, to chatting, to payments) that help you in sailing through the app in a matter of seconds.
In such an app flow, the speed and resilience of the system achieve prime significance. The goal being that each touch point experience should be delivered with the most optimum speed and reliability. Hence, when we decided to shift from our existing stack to a reasonably better one, we were visibly excited.
- Shifting to Nginx reverse proxy from apache
In many ways, Apache can be viewed as a huge ship with tons of amenities from sauna to pool to buffet rooms and more, while Nginx can be viewed as a medium sized steamer with the engine of a Ferrari. The implication is clear- do we want a server that does 100 things decently well but we need only 8 of them or do we need a server that performs at least 10 times as fast with 12 of those options.
Results: (handling with 100 concurrent connections of same type)
Apache server — 1500 requests per second
Nginx server — 14000 requests per second
- Implementing CDN on all static content across the server
Once we realized that the static content on our website (including the css, js and of course all the images) comes around to approximately 12% of the whole source, then the concept of CDN began to make perfect sense. Especially in a world where the discovery / recommendation section of the app is meant to delight you by making an awesome first impression, the importance of speed multiplies automatically. The idea of a CDN is pretty simple in the sense that it aims to deliver content to the user from the server that is closest in terms of browsing location, hence saving unnecessary requests.
Results: (handling with 100 concurrent connections of same type)
Static content was being delivered up to 2.16 times as fast
- Multi A-Z deployment on Amazon RDS
The key focus of any engineer handling data is always the reliability and availability of data in case something fails. That is the precise thing that multi A-Z deployment helps in. Considering that after enabling the above, we were able to achieve protection against failures of disk, DB instance or even a complete availability zone, hence statistically this made the application resilient by up to 3 times.
At present, we are working on adding a key and awesome update that will make your peer to peer transactions, universal from any bank to any bank, completely fast and insanely cool. Look forward to it in the next few weeks.
Wish to work with some of the best hackers, programmers and designers in the country? Wish to join one of the fastest growing ventures in the intricate, growing and powerful domain of fin-tech? Look no further. Ping us directly at hello@mypoolin.com
Explore our current openings –
- Front End Dev Ninja
- Integrate and implement angular JS and react JS frameworks.
- Dazzle the users with some awesome design concepts
- Mobile Developer
- Work with our team to implement new features on the iOS version of mobile application
Cheers
Twitter: @mypoolin
Originally featured on @Medium –Here