Daniel D. Gutierrez – Managing Editor, insideBIGDATA
insideBIGDATA: What advantages do microservices bring to big data?
Jack Norris: If you look at the big trend, organizations are trying to drive innovation while reducing costs. One of the ways to do both is to have a much more efficient and productive development environment that can help accelerate the deployment of new applications and new use cases. The ability to isolate operations and have developers work independently with microservices is very powerful and efficient. Building ephemeral applications that do not need to maintain state represented the early thinking around microservices. However, if you look at the type of applications that are really driving innovation today they are incorporating data and analytics as part of the business operations. As companies turn to analyze big data to transform their business operations, microservices promote an agile approach to developing applications, especially converged applications. Microservices are relatively simple, single-purpose processes that work in unison via lightweight communications like data streams. With an underlying data platform that provides data elasticity, microservices can be used to develop stateful applications and include machine learning as part of the process – they are really transformational.
insideBIGDATA: What are converged applications?
Jack Norris: Converged applications combine the immediacy of operational applications with the insights of analytical workloads. They treat data as a cohesive unit, not as distinct parts separated into current versus historical contexts. They leverage continuous analytics, automated actions, and rapid response to better impact business as it happens. A microservices architecture contributes to these advantages, as building sophisticated solutions are more manageable by breaking down the components into reusable microservices. Contrast these to monolithic applications that are harder to build and maintain, and require heavy coordination with other applications when trying to integrate them.
insideBIGDATA: MapR provides microservices support in a converged data platform. What benefits does this type of platform deliver to customers?
Jack Norris: A converged data platform should support real-time data accesses, reduced data copying and redundancy, unified administration and security, easy scale out, mission-critical reliability, and faster application development cycles. Such a platform increases the value of a microservices architecture by adding several benefits. The use of microservices brings more agility, where smaller, easier to build applications require minimal coordination for integration. There is also improved efficiency because they can be created and maintained by small, often cross-functional teams. Microservices also deliver the flexibility to be reused in a variety of solutions.
insideBIGDATA: What’s new to the MapR Platform?
Jack Norris: There are three pillars to our announcement. First, from an administrator’s standpoint we’ve included comprehensive monitoring to understand the execution of the microservices environment and how the components interoperate as part of a larger use case or application. The monitoring visualizations use customizable dashboards and can be accessed with smart phones and tablets. These features take advantage of the advancements we put in place in our last release of our product.
From a developers standpoint there are a number of enhancements included in this release, but I’d like focus on microservices-specific volumes. One of the complexities of dealing with microservices and data is the versioning. For example, when updating a microservice, a developer has to understand what data has updated and how should the changes be handled going forward. So a microservices-specific volume can wrap not only the application but the corresponding data as well, whether it is a stream, file or database table. This simplifies how to move from development to production as you validate new application versions and their respective data outputs, and reduces the number of moving parts and interdependencies.
The third pillar addresses those microservices that have machine learning algorithms or analytics as part of their processing. Our infrastructure supports split testing so you can more easily track outputs for A-B test and multi-variate testing. Developers can easily subscribe to the same data flow, deploy multiple models, and compare how they perform in a production environment. Another example is to take the operations of multiple models and aggregate all of the distinct outputs as part of processing of the next step. For example, you could execute multiple fraud models and have the aggregate score determine if you have a likely fraudulent transaction or not.
insideBIGDATA: How does a developer get started with building converged applications?
Jack Norris: As part of our announcement, we also made available a new knowledge center that will help developers accelerate their journey to successfully build converged applications. The Converged Application Blueprint shares downloadable source code, proven application architectures, and tutorials. The first application we’re featuring in the Blueprint was built in the context of high-speed trading data. This financial services example captures trade “bids” and “asks” in an extremely fast streaming environment where different types of analytics are run. It illustrates how breaking up the data pipeline enables the overall application to handle different task-specific jobs at high speeds. Expect to see more converged application architecture examples in the future. In fact, the whole microservices development ecosystem will be going through accelerated changes. We believe that providing the underlying converged data platform is a fundamental enabling technology that delivers the required data elasticity that is necessary to power the next wave of digital transformation.
Sign up for the free insideBIGDATA newsletter.