- Fast growing cloud integration company delivers Platform-as-a-Service for integration of on-premise and cloud-based business process apps
- Solr-based search monitors and maintains customer application logs for service level and transaction tracking
- One instance of Solr utilized for multi-tenant platform, delivering application monitoring and analytics securely directly to Boomi customers
- Met aggressive speed and scale goals, with index commits of new data at 5 seconds or less and scale up to 20 million new index entries per day
Founded in 2000, Boomi provides integration between on-premise applications — such as SAP or Oracle — and off-premise SaaS applications like Salesforce.com, Taleo, or NetSuite, which are often running on public cloud services (like Amazon EC2, or on platform-as-a-service providers such as force.com and Intuit Partner Platform). Boomi helps their customers tie together these applications to create integrated business processes that span multiple applications in and out of the cloud, tracking the flow of data inside and outside of the corporate firewall. It manages complex work flows across multiple applications and locations, adhering to strict constraints for data control, ownership, and compliance.
To handle these requirements, and deliver data visibility and governance, Boomi developed an innovative multi-tenant cloud integration platform built on Apache Solr using services and expertise from Lucid Imagination. The resulting implementation puts Solr’s data-source virtualization capabilities at the heart of Boomi’s business process model.
A detailed view of business execution information is essential for application and data integration – any time data is moved from one application to another, key information must be captured, such as the time it takes to move the data, the amount of data processed, and verification of transaction success.
With key new applications moving out into the cloud, IT organizations must be able to manage the information inside the company and inside the cloud simultaneously, as though they were in a single environment. In order to achieve this kind of centralized control and governance for its customers, Boomi needed to have all its customers on a single instance of its platform. Were monitoring to be decentralized, users would be forced to remember which integration was running in which environment, and have to switch from one to the other, propagating changes manually and fragmenting the integrated view they had turned to Boomi to create in the first place.
Boomi achieves its pinpoint accurate visibility into transactions across applications by processing and synthesizing integration data from log files. As a result, their platform had to be able to scale to billions of log files while delivering mission-critical reliability for customers. Its use as a tool to monitor mission critical business process through the cloud could not tolerate slowdowns.
Speed was a concern on two fronts. First, the logging-and-searching service is characterized by frequent commits to make the data available for search; every 5 seconds or 10,000 transaction messages. Second, customer queries had to meet an aggressive performance threshold. Finally, customer queries about application events could not be slow Boomi decided against using a database approach due to scalability requirements to billions of documents, high cost of ownership for databases, and the requirement for dynamic customer queries and metadata.
To build a single integrated multitenant platform, Boomi decided to use Apache Solr to monitor and search transaction logs, and deliver the information for a timely, integrated view of business process execution for applications in and out of the cloud. Boomi asked Lucid Imagination to review its Solr implementation for current best practices, to provide recommendations on performance, prepare headroom for future scalability, and ensure fault resilience for business continuity.
Solr is integrated deep into the platform that Boomi provides for customers to achieve an integrated view across applications in and out of the cloud. They now have hundreds of customers who use this platform to monitor their business process applications, by harvesting, parsing, and indexing log data across many applications, and then presenting a consolidated business process view to each individual customer for each customer’s individual process.
Today, Boomi customers rely on Solr searches to monitor and verify cloud application activity and workflow events via a web interface, through RSS feeds.
There are between two to ten million log transaction generated daily and each may trigger two or more Solr entries. Boomi maintains a rolling 30-day record of log entries. At any point in time customers can:
- Tell what business process transaction is running
- Determine if the cross-application transaction worked or failed
- Access this information securely from anywhere they have access to a web browser
- Track how application data is changed, and what systems changed it
The Lucid Imagination engagement centered around a search Health Check, with specific recommendations for improving performance. For example, because the search application had its schema configured to search strictly for exact matches, Lucid recommended performance adjustment settings, such as turning off functions related to relevance or other analysis, to conserve memory and disk space, along with implementation methods for these suggestions to keep the overhead of development and maintenance low. A critical success factor was tuning Java garbage collection to be well-synchronized with the performance-intensive index commit requirements to avoid contention. The team also identified unused Solr server components that could be removed, further improving maintainability of the search application.
A server hardware audit showed that while CPU performance was generally good, a memory upgrade would prevent out-of-memory errors, addressing the ongoing growth in index size. Lucid also offered direction on how to improve the performance of the RSS feeds. Because most RSS readers cache results and update automatically on a daily basis, storing a week’s worth of data is unneeded – only a day or two would be sufficient.
Scalability is a key focus for Boomi. Because they have a very aggressive commit window (5 seconds or less from log generation to index search availability), the team recommended ongoing testing of the replication scheme to assess whether the existing replication scheme could keep up, and identify the inflection point for horizontally scaling out the Solr implementation. To plan for expected growth, the Lucid team offered several recommendations for ongoing load testing to expose existing bottlenecks. As Boomi’s market is very dynamic, a forward-looking plan with broad-based strategies and tactics were needed to address multiple scenarios: analyzing different indexing architectures, and evaluating distributed search, and mixing workloads.
Lucid’s assessment included several specific recommendations for performance tuning and optimization that avoid unnecessary re-indexing of the data. These included faster range searches and query filters, partial index optimization, and omitting term frequency and position, to save disk space and accelerate both index and query performance.
Given the centrality of Solr search to Boomi’s integration capability, the Solr implementation had to ensure it could meet aggressive uptime service level objectives. To address these risk management needs, the Lucid team made several recommendations on improving configuration resilience and backups, tailored to the constraints of the application log monitoring implementation.
Boomi’s platform is now performing flawlessly, delivering outstanding performance and scalability, with customers able to seamlessly integrate, monitor, and manage their internal and cloud-based applications.