DataCubes Blog

Increasing Agility, Speed and Power with Microservices and Docker Migration

Posted by Ramesh Natarajan on Dec 4, 2019 9:00:00 AM

DataCubes recently migrated to a modern microservices architecture, using Docker-based containerization. In doing this, we’ve joined a large number of tech giants, traditional companies and fast-growing startups who have gone public about their move to microservices architecture. These companies range from Airbnb, Amazon and Comcast, to Netflix, Uber and Walmart.

In this blog, I’d like to tell you why I’m excited about this move and what it means for our customers and for DataCubes as a company.

Since our early days, we had adopted a services-oriented architecture (SOA) and have since deployed large number of services in support of our product roadmap. However, all these services have lot of dependencies and individual resource requirements. In addition, having quadrupled our engineering team since those early days, managing these dependencies across builds and dev teams has become a complex affair with a high coordination cost and oversight from our DevOps team. In light of these challenges, we invested in the move to a microservices architecture. 

 

Microservices-Infographic---Final

 

Microservices are a modern variant of the service-oriented architecture (SOA) approach that emerged in the late 1990’s. With a microservice architecture, developers construct large, complex applications as a series of small, independent, loosely coupled components or services that each represent a piece of business functionality. Docker is a tool that allows organizations to deploy and run microservices as containers, which can include all the libraries and other software dependencies needed to run on any Linux machine.

A microservices architecture delivers a variety of practical benefits. I like to group them into two categories.

#1. Faster, more robust innovation

With self-contained microservices, we can move from idea to implemented code rapidly—because it’s much easier and faster to create and deploy a small, new microservice than to modify an entire application. Because the microservices are independent and loosely coupled, the overall application can be more robust and reliable. It can also deliver better performance on a smaller infrastructure footprint.

In a microservices environment, we can streamline our DevOps (development + operations) pipeline and implement a process of continuous development, integration, and deployment. We can put new features in our customers’ hands quickly and respond rapidly to their changing requirements. This helps us drive value for our customers and keep DataCubes and our customers on the leading edge.

#2. Agility to support for our growth strategy

Our recent $15.2 Series B funding marks a new phase of accelerated growth for DataCubes. We expect to add more than 50 employees next year as well as expanding our offerings to serve other parts of the insurance value chain that can benefit from our big data and AI based approach.

Our microservices architecture and Docker migration give us an agile foundation for this growth. They simplify our software infrastructure and make it easier to add new services, both external ones for our customers and internal capabilities to support our expanding R&D activities.  Microservices can also scale independently, adding further agility. 

In today’s competitive job market, our Docker migration helps us recruit and retain top engineering talent. We offer developers opportunities to perform important work in the exciting area of AI and big data, using the latest tools and technologies and participating in small, efficient microservices teams.  

Looking ahead, I see this to be one milestone in continuing to scale and evolve our capabilities in line with our customer's expectations and availability of new architectural options. I am excited about what lies ahead; feel free to email me ramesh@datacubes.com if you like to learn more and/or are interested in joining the team!

Topics: Engineering