Behind the scenes… Microservices βοΈ
When most people drive a car, they don’t think about the gears inside of their engine, transmission, or differential. Similarly, when people use software, they often don’t think about gears that are making that software function as intended.
Of course, these “gears” I speak of are what we call microservices. Initially, when this project was created, we began making use of simple out of the box services such as Realm/Stitch from MongoDB.
As we continued to develop our application, we noticed a need for more custom pieces. We could achieve what we wanted to out of the box, but how long would that solution work? Was it viable for a long-lasting, high-demand product? Most likely not. After looking at the services we were using, we were able to determine that it was time for us to begin creating our own microservices.
As of now, we are still developing some critical microservices such as account services, delivery quoting, menu services, notification triggers, pub/sub, and order processing services.
These services will be critical in ensuring that our application is firing on all cylinders, delivering only the necessary information to the end-user, but while also communicating effectively with one another to ensure the app is working without skipping a beat.
Should something go wrong, we will leverage pub/sub to keep track of what caused the error, who was using the device when the error occurred, and what kind of device the user was on.
This is all part of creating a better product for the future, and I couldn’t be happier with the direction we are heading.