5 Microservice Initiatives for Digital Business

Size: px
Start display at page:

Download "5 Microservice Initiatives for Digital Business"

Transcription

1 5 Microservice Initiatives for Digital Business With flexible, fastevolving architectures and service lifecycles, smallteam management, and industrialized deployments, microservices can be a fast path to capturing huge value from new data sources. But, there are challenges to their adoption. Popularized by online companies (Netflix, Amazon, ebay), microservices are being used to streamline service development for fast-moving business needs. They are helping companies accelerate innovation, become more agile, and meet digital business challenges. With flexible, fast-evolving architectures and service lifecycles, small-team management, and industrialized deployments, microservices can be a fast path to capturing huge value from new data sources.1 But, there are challenges to their adoption. Here are five ways to overcome them. #1 ESTABLISH SERVICE CONTRACTS PROBLEM: ACCELERATING COMPLEXITY Creating microservices quickly accelerates innovation. But it can also accelerate complexity. What if various teams need the same functionality? What s to stop them from developing similar capabilities? When new features are needed, will a new microservice be created or will an existing one be extended? When a microservice needs to be used by a mobile application, will it be able to scale without impacting the quality of other services? 1 See also Microservices: A Fast Path to Digital Business for a description of the opportunities and requirements of digital transformation using microservices, available at

2 WHITEPAPER 2 TIBCO s API Management solution, TIBCO API Exchange, exposes microservices to external and internal audiences and provides an enterprise-class portal, gateway, and analytics. Its API portal, called API Manager, allows developers to discover all the information related to microservices. It also supplies management of the API, such as the definition and application of microservice policies. Its API gateway enforces policies on microservice invocations across protocols. It supports a varied set of policies: authentication, authorization to routing, and throttling and caching of microservice invocations. Its API analytics provides complete visibility on microservice usage from operational data used to ensure services provide the relevant quality of service to business data. Backend Interfaces Web and mobile apps API Gateway microservice microservice microservice microservice Apps, databases, legacy SOLUTION: POLICIES These challenges are solved by giving developers complete visibility into microservice terms of use, often stated in a service contract. But this visibility and contract can create additional challenges. Reuse of the microservice in a variety of contexts may generate cumbersome requirements in terms of scalability, exposition of fractional information, and other concerns. Applying policies for adapting to different contexts without having to modify the service ensures they can be reused instantly. Similarly, the ability to route invocations of the microservice depending on context ensures Y scalability (functional decomposition) and the ability to scale smoothly to support just the consumers that require high performance. SOLUTION: API MANAGEMENT API management solutions are an essential part of microservice architectures because their various components provide solutions to complexity: An API portal allows every developer (internal and external) to discover existing microservices. It documents not only the technical interface but also the tiers of service they can use. This information gives developers a complete understanding of the microservice and what it offers. An API gateway applies policies to microservice invocations to ensure logging, routing, and scalability policies (X, Y, or Z scalability), and even value-added policies such as for throttling or caching. API management solutions provide: Improved ROI from microservices development by avoiding the complexity described earlier Improved microservice quality of service because, through configuration, services can be scaled and reused almost instantly Improved business agility by allowing informed decisions on whether to adapt or create new microservices at the beginning of all development efforts, preventing redundant development Increased flexibility of the architecture and of microservices because technologies used to implement microservices can be easily replaced

3 WHITEPAPER 3 TIBCO ActiveMatrix BusinessWorks is a leading integration platform that combines: An extensive library of connectors that ensures any custom or standard enterprise or SaaS application can be used in the microservices architecture. Maybe even more importantly, it also provides strong support for web APIs and a development kit to onboard any other technologies. These technologies can be integrated to easily expose data or features to microservices, and also allows technologies to invoke microservices. A powerful IDE allowing developers to graphically define integration logic. Supporting both simple and more complex integration logic with the same ease of use, the IDE supports continuous development, continuous testing, and continuous integration. ActiveMatrix BusinessWorks ensures speed and automation for microservices development. A robust architecture that supports many more deployment topologies than just the enterprise service bus. Its distributed architecture that has no single point of failure, such as a central database, allows integration services to be deployed and updated independently. This distributed architecture and use of an in-memory data grid ensures support for the most critical levels of reliability, availability, and scalability. Fully scripted and manageable via a web interface, ActiveMatrix BusinessWorks combines speed of deployment with enterprise-grade capability to support microservices architectures. #2: POWER MICROSERVICES WITH INTEGRATION PROBLEM: TRADITIONAL MONOLITHIC APPLICATIONS With the exception of companies that have recently created their systems, most organizations still run their business on a portfolio of applications they implemented over several years. These organizations need to innovate by mashing up the features of their existing applications with external services and new microservices. But will the monolithic nature of traditional applications burden the whole initiative? Even though some recent versions of enterprise applications expose standard interfaces (generally using SOAP or REST), business features are rarely exposed as microservices because of granularity, communication, and lifecycle problems. API Gateway Service Service Service Service Monolithic application Application SOLUTION: INTEGRATION TECHNOLOGIES technologies can solve these traditional application problems by addressing the applications specific interfaces (technical or functional) and allowing microservices to be composed with the right granularity and interface (typically a REST service). Microservices created this way benefit from traditional integration advantages: Encapsulation. The standard interface exposed by the integration technology ensures its encapsulation, even though it might be created from several technologies. Decoupling. Decoupling ensures lifecycles are isolated. The applications can be upgraded, updated, and even replaced without impact on the service. The service can be updated and connected to another application without impact on the initial application. Connectivity. The connectivity provided by the integration technology allows the service to connect to any kind of application, from standard ERPs and SaaS applications to legacy applications and ensures various transports can be adopted without having to modify the service or the application(s).

4 WHITEPAPER 4 TIBCO FTL, TIBCO s high performance platform for realtime, high-throughput messaging, supports microservices architecture and growth using extreme performance, high availability, and a set of valueadded capabilities: High performance. With over 6 million messages per second and the lowest latency on the market as proven by third-party tests, its performance is unchallenged. Easy integration. It s easy to integrate in microservices architectures using robust APIs (C, Java,.Net) that are fully supported by TIBCO. It is also natively integrated with TIBCO technologies such as our integration and streaming-events platforms. High scalability and reliability. TIBCO FTL provides a very robust architecture that responds to microservices demand for scalability and reliability. With distributed in-memory persistence, it guarantees delivery of events between microservices. This rock-solid messaging architecture is easily managed via TIBCO FTL centralized administration. TIBCO FTL also provides TIBCO eftl, a solution that natively integrates mobile devices via Websockets. Mobile applications are built using libraries (Objective C, Javascript, Java) and can directly and securely publish or subscribe to microservice events. These products ensure that the microservice architecture performs well and remains scalable and manageable even for hundreds of thousands or millions of connected devices. Backend Interfaces microservice API Gateway microservice By integrating business-critical monolithic applications in microservice architectures, you can expand their use across channels, in new contexts, and increase the value you re receiving from them. Providing such business services ensures broad adoption of microservices without facing the disruptive prospect of rewriting everything from scratch, which would prove to be both risky and costly. PROBLEM: MULTIPLICATION OF EFFORT, DUPLICATION OF DEVELOPMENT Even when developing microservices from scratch, integration remains a challenge. Developers will need to write code to expose a standard interface, an effort that has to be multiplied by the number of technologies and services used. This leads to a duplication of development and maintenance effort and increased costs, which is further increased when services need to be updated and maintained. A good example is when a service needs to adopt a new transport. The same service might be used in a context where it is invoked as a REST service, or might be triggered by a messaging event. technologies can help provide various interfaces to the same service, therefore allowing it to also be event driven. Similarly other transports such as Websockets can be leveraged by microservices, again without modifications, allowing them to be directly invoked by mobile applications. SOLUTION: REUSE WITH MESSAGING TECHNOLOGY Introducing messaging greatly enhances service reusability. It provides great flexibility to the microservices themselves because they can subscribe to new data just by changing configuration. Messaging also provides great flexibility for applications created with microservices because other services or clients (like mobile applications) can be added without modification. The addition of a messaging infrastructure increases both the quality and scalability of applications. Quality is improved because messaging technology guarantees message delivery between services. Scalability is managed elegantly and seamlessly, an important benefit when potentially millions of clients can invoke microservices. Data is exchanged more efficiently for millions of request/ responses, and/or additional instances of the services can be added to achieve X scaling (horizontal duplication).

5 WHITEPAPER 5 TIBCO ActiveMatrix BusinessWorks allows developers to easily and graphically compose new services from all connected applications. The logic is easy to define and maintain, and developers can immediately understand what the microservice does. ActiveMatrix BusinessWorks also provides logical capabilities that greatly simplify modeling, including common patterns such as compensation or conversation, choreography of exchanges between services, and stateless or stateful services. The organization also benefits from all the advantages described in the previous section in terms of ease of use, availability, and DevOps automation. #3: COORDINATE ACROSS SERVICES PROBLEM: CONNECTIVITY WITH OTHER SERVICES Exposing existing application services (ERP, SaaS, custom applications) does not necessarily mean they are microservices. Services can be exposed exactly as they exist in applications, which may not be what the business and other apps need. In addition, data and features are very often scattered across applications that were developed in silos. The complexity of combining these elements cannot be pushed to classical consumers of microservices. Consider mobile applications that operate on platforms with constrained resources (battery, network, CPU), and at the same time need to limit processing to preserve the user experience. A higher level logic is needed to define the purpose of apps or business processes. Developing these purpose-built services is often faster as well as easier to maintain by mashing up capabilities from other systems. SOLUTION: SERVICE COMPOSITION Microservices and their granularity are ideal for developing and maintaining mobile apps. When microservices are heavily based on integration of existing applications and combined with other web APIs, they can be efficiently managed through composition on an integration platform. In addition to saving the effort of creating glue code to ensure connectivity and instrumentation of these services, the logic is easily defined and therefore maintained. This simplicity drives innovation because developers can better focus on the business logic needed to onboard new services or replace legacy services with new microservices. Composition provides an important reduction in development and maintenance efforts and reduced response time by the business. SOLUTION: IN-MEMORY DATA GRID With an integration platform, microservices can also leverage technologies such as an in-memory data grid to maintain the context of key business objects and share them with other services or mitigate the impact of a fragile backend system. An in-memory data grid helps improve the quality of the service provided by microservice architectures and may provide the foundation for new microservices. SOLUTION: MODERNIZATION Composition provides another opportunity to improve IT operations. The combination of granularity and flexibility provided by microservices provides an opportunity to progressively modernize the architecture. You could centralize services scattered in redundant systems, redevelop certain non-strategic services, or downsize systems to provide only essential features. These initiatives result in significant cost reductions. #4: MANAGE COMPLEX DEPLOYMENTS AND SCALABILITY PROBLEM: ACHIEVING QUALITY OF SERVICE GOALS A major advantage of microservices is that they lay the foundation for industrialized deployments. But there are still challenges when considering user experience and the quality of service of apps powered by microservices: The context of microservice use will vary. Services need to scale very rapidly, without impacting quality of service. The quality of service of applications, which matter most to the business, is dependent on a high number of microservices. There are multiple technologies involved that may have different deployment and administration tools.

6 WHITEPAPER 6 TIBCO Silver Fabric simplifies and streamlines the deployment and maintenance of your application stacks across various resources. Predefined architectures (called stacks) can be used to manage environments across technologies, and deployments can be assigned to various resources based on policies to ensure SLA compliance. Dynamic scaling is enforced by automatic deployment/un-deployment of resources combined with internal load balancers. A rich library of TIBCO and open-source enablers expands management of various technologies. Resources from a very open ecosystem can be used, from bare metal hardware to virtual machines and cloud resources from any IaaS. With its SDK, TIBCO Silver Fabric interfaces to any IaaS vendor or product (AWS, OpenStack, VMWare). TIBCO Silver Fabric and all other software mentioned in this document, can be managed by TIBCO Enterprise Administrator, an architecture that onboards agents for various technologies and provides: One interface for managing deployments and configurations that involve multiple technologies One web interface for configuration and monitoring A development kit allows creating agents for any new technologies. To keep up with the pace of innovation, organizations need to continuously deploy, configure, and manage applications and the underlying technologies and middleware. The relations between microservices can be complex, and at the same time, one microservice may serve various contexts. For maximum flexibility in responding to new business needs, you need to combine the packaging and deployment of very frequent new releases with the ability to adapt the configuration of all or part of the architecture. Across all technologies, this requires: Continuous integration / delivery Configuration manager for global variables End-to-end scripting, automation, and visibility SOLUTION: AUTO SCALING AND ELASTICITY DECISIONS To manage the quality of the applications based on microservices, you also need to have very accurate visibility into their usage. Visibility is especially critical for the Internet of Things and mobile or web API projects because the number of consumers can vary significantly. To sustain the quality of the experience, you need to have across all technologies: Full visibility into microservice use and exceptions Definition of service level agreements (SLAs) that drive auto scaling and elasticity decisions #5: PROVIDE VISIBILITY ACROSS SERVICES PROBLEM: MANAGING SERVICE QUALITY Microservice architectures facilitate access to the organization s business data, as well as to data about service usage. They allow data to be managed in an eventdriven way: to measure quality of service, and sometimes to take immediate action. After events are published by microservices, event processing technology can correlate them to reconstruct the context of an application or a customer interaction. This understanding of context is very valuable. It allows measuring application quality of service, usage trends, and the customer/user experience. SOLUTION: EVENT PROCESSING Usage data can be stored in a live datamart that provides real-time visibility on operations, but also on the business. The datamart becomes a decision tool for managing microservices evolution and scalability. The same event processing technologies provide the opportunity to act immediately, as soon as events have been published. On the operational side, exceptions can be caught and mitigated as they occur. SLAs can be accurately measured and actions taken, such as changing routes or adapting deployments. The same kind of advantages can be applied to the business, providing the ability to define real-time reactions when notable situations develop. Because of eventdriven microservices, all the data about these situations can be easily captured: A specific navigational pattern in an application A certain service invocation A location event A change in context The reaction can also be easily defined and implemented by microservices: Taking a specific action to respond to a customer behavior or location Sending a warning if a patient s vital signs indicate a dangerous condition An automated action when an opportunity appears in the supply chain Event processing technology provides the opportunity to implement a new breed of microservice: intelligent, context-aware, and able to influence events that have not yet occurred.

7 WHITEPAPER 7 TIBCO Live Datamart allows operational users to subscribe to events across various protocols, store and combine them in memory, and provide the data for analysis in a live dashboard or to other systems via APIs. TIBCO s event processing solution allows developers to graphically define intelligent behavior and quickly define microservices that can: Identify specific situations, correlate events between them, or associate contextual data stored in the live datamart Apply action based on rules defined in the solution or model, such as predictive models managed by TIBCO Analytics The development and deployment of these event services is also industrialized. TIBCO event processing technology combines high performance with development ease, providing a potent solution for the most complex business scenarios. TIBCO Analytics provides a complete analytics framework for business users to extract insight from their data and apply predictive models that can then be used by TIBCO event processing for making decisions in context. By allowing business users to gain visibility and participate in action definition, TIBCO Analytics supports immediate response to microservice business needs. MICROSERVICE ADVANTAGES FOR IT With these five initiatives, architectures can truly overcome microservice challenges and supply big advantages: BUILD ONLY WHAT YOU NEED. Just create the service the business needs and build it as soon as possible. Then, adapt and complement what you ve built to respond to any changes in requirements. DEVELOP, MAINTAIN, AND DEPLOY FASTER. Microservices can be created rapidly, and instantly reused or reconfigured. The complete industrialization of deployment and management ensures rapid response to the business. Applications, apps, and APIs can be composed just as rapidly from microservices. REUSE AND SCALE. Microservices are designed to respond to business needs and are frequently reused. They need to scale in a controlled way via policies. ACCELERATE INNOVATION. The foundation, the catalog from which developers start creating applications, apps, or APIs keeps on expanding and is frequently maintained. The microservices architecture becomes a launch pad, not a burden. LEVERAGE YOUR DATA. Developers can also focus on creating differentiating services from the available data. Starting from a solid base, they can be confident they have the right tool for integration and development, and that the platform will do its part for automation, scalability, and quality of service. MICROSERVICE ADVANTAGES FOR BUSINESS ACCELERATE INNOVATION. Development and maintenance of microservices is not only easier, it takes less time, allowing more time for developers to innovate. You can leverage the value of existing systems and seize new opportunities to onboard new technologies. INCREASE AGILITY. Developers reuse existing microservices without having to worry about their maintenance or quality or service. Using APIs, microservices ensure a short time to respond to business needs. You don t necessarilty need to immediately scale resources. You can cleverly adopt a hybrid microservices architecture combining on-premises and cloud deployments to accelerate delivery or ensure scalability while keeping costs in check. IMPROVE READINESS. You can seize the value of multiple technologies because you have an industrial foundation for delivery and deployment. You can commit to SLAs for monetization purposes in the context of APIs or purely to sustain a good mobile experience. For more information about managing microservices for great results, visit us at Global Headquarters 3307 Hillview Avenue Palo Alto, CA TEL FAX TIBCO Software Inc. is a global leader in infrastructure and business intelligence software. Whether it s optimizing inventory, cross-selling products, or averting crisis before it happens, TIBCO uniquely delivers the Two-Second Advantage the ability to capture the right information at the right time and act on it preemptively for a competitive advantage. With a broad mix of innovative products and services, customers around the world trust TIBCO as their strategic technology partner. Learn more about TIBCO at , TIBCO Software Inc. All rights reserved. TIBCO, the TIBCO logo, TIBCO Software, ActiveMatrix BusinessWorks, TIBCO eftl, TIBCO FTL, and TIBCO Silver are trademarks or registered trademarks of TIBCO Software Inc. or its subsidiaries in the United States and/or other countries. All other product and company names and marks in this document are the property of their respective owners and mentioned for identification purposes only. 02/13/15