Overview of Technologies Used in Reply Now
When we brainstormed the idea of an all-in-one social messenger for businesses, we set the main goal – Reply Now should be fast, scalable and support all major platforms, such as Web, MacOS, Windows, iOS, Android. At the same time we had limited resources and could not allow spending budget into several teams.
Finally, we decided to use Golang for the backend of Reply Now. Main reason of such choice was that Golang fits perfectly for concurrency-oriented applications. It uses goroutines instead of threads consuming minimum resources (comparing, for example with Ruby, Python, Java or JS). Another benefit of Golang lies in its beautiful code. There is no insane syntax as in other languages, everything is neat and organized.
Golang is a modern language that uses latest approach to development of programming languages. It is perfect for developing small-size microservices working in concurrency. Moreover, Go has a reach standard library that allows implementing extensive applications without recourse to third-party libraries.
Talking about infrastructure to run our product, we fixed eyes on Amazon Web Services. We already have experience working with Microsoft Azure in our main product, so we decided to try something else. Another reason is that we use Golang. It pushes us to use Unix oriented environments, where Amazon is the most stable one. Under certain approach Amazon prices are significantly lower than Azure prices.
As for desktop and mobile applications, we use React. Its component-based model lets us reuse modules in applications of different types (desktop, mobile), which means reusing the existing code in most cases. Additionally, React allows rendering user interface in a most optimal and quickest manner.
Finally, we use Kubernetes in Reply Now. Kubernetes is the system that orchestrates microservices and allows easily keep the system up-to-date and releases us from numerous issues with manual configuration.