At omni:us, we are focused on developing highly functional and intelligent products that are constantly progressing and improving to provide better quality and efficiency for our clients. This is an overview of the platform underpinning those products.
Most of the components we have in our technical platform have already been built by the great minds in our engineering team. As of right now, some of the components are in progress, and a fully equipped platform is another goal we are working towards.
With these aims in mind, we have deliberately chosen these three main technologies to boost the omni:us technical platform.
1) Microservices, 2) Docker, and 3) Kubernetes.
We are now utilizing the Microservices architecture, where every component that serves a single purpose is written separately, ultimately eliminating the hassle of managing all the different codes. The data flow engine in omni:us’s production has been written in Java, while the AI services have been written in Python. Seeing as we have different programs written in different languages, Microservices is ideal for our needs, and hence, making the move to this architecture was a beneficial step to our entire engine processes.
Docker lets you build any app in any language, using any stack. It is the box in which we are running each of our Microservices. Docker carries out the job of placing all the dependencies in a single box, which can be run anywhere on anything. Docker separates applications from infrastructures using container technology, similar to how virtual machines separate operating system from bare metal.
So now that we have Docker, as well as Microservices, how exactly do we fit them together?
This is where Kubernetes comes into play. It helps us manage all these Microservices that we have, as different docker services. It bridges the communication gap between these services. That is, the Microservices are required to communicate with each other, know their IP addresses, how to scale, etc. The way this is handled, is with Kubernetes’ aid in allowing for the seamless communication between these different Microservices. Basically, the power of Kubernetes allows us to scale our current Microservices and manage them efficiently.
Without the help of Docker and Kubernetes, for a small team such as ours, this would have taken far longer to attain. We have quickly achieved this promising future of possibilities, with our decision to incorporate these technologies into the omni:us technical platform. Seeing that the use of these technologies has proven effective and vital in enhancing the platform upon which our workflow is based, we have great plans to potentially integrate more of other technologies into the omni:us technical platform. This will ensure the continued development and optimization of the platform currently in use.
More in-depth engineering insights can be found at our tech team blog.