Codenvy Delivers Dynamic Analytics for Developers On-Premises and in the Cloud With the WSO2 Carbon Platform
Codenvy Used Pre-Integrated WSO2 Business Activity Monitor and WSO2 Identity Server Products to Build its New Analytics System in Three Months
In the wake of skyrocketing demands on software developers’ productivity, cloud-based integrated development environments (IDEs) have emerged to drive efficiency and foster collaboration. One of the companies leading this charge is Codenvy, which delivers a continuous development cloud that improves velocity and control by making developer environments instant, extensible and controllable.
Codenvy's solutions include Codenvy Developer, Codenvy Enterprise, Codenvy ISV, and Codenvy Affiliate. Underpinning these offerings is the Codenvy Platform, an extensible cloud framework for developing, testing and running tooling plug-ins, as well as a system for creating entirely new embedded or white-labeled cloud IDEs.
In addition to providing tools to develop applications, the Codenvy Platform includes an analytics system designed to provide insights into projects and development activities. Recently, Codenvy upgraded to a new analytics system based on two products within the 100% open source WSO2 Carbon enterprise middleware platform: WSO2 Business Activity Monitor(WSO2 BAM) and WSO2 Identity Manager.
Together, the WSO2 products form an analytics system that provides more robust analysis and administration, as well as supporting Codenvy’s need for analytics to run both on-premises and in the cloud.
"WSO2 became our main lead because of the customizability with BAM."
The Search for more Advanced Analytics
Analytics are central to helping IT managers, architects and developers gain insights into how they can tune their processes and resources to improve their software development projects. For this reason, the Codenvy Platform has incorporated an analytics system from the start. However, the initial system required users to download comma-separated value (CSV) reports, which then had to be filtered in order to compile the necessary data. Additionally, the original system was purely cloud-based, and some enterprise customers were seeking a way to run their analysis on-premises.
"One of the caveats of our search was for the new analytics system to provide a quick, efficient way to manipulate data, build reports, and gain valuable data insights all with eye-pleasing data display," recalled Tyler Jewell, Codenvy founder and CEO. "We knew this goal was ambitious but to bring an analytics product to the table with our IDE, it had to bring real business intelligence with it."
The Codenvy team identified other requirements for the new analytics system. It had to be high-speed, highly customizable, and able to support different levels of administration.
Evaluating the Alternatives
Based on the list of requirements, Codenvy identified a short list of solutions from Cloudera, Pentaho, Tableau, WSO2, Qlick, and Datameer. The team then evaluated the competing solutions on their ability to support five major use cases.
- Developer – Provide the ability to simply login, be recognized as a developer with the minimalist data, do simple navigation, and check out basic stats on a personal workspace and projects.
- Open Source Project – Enable a developer with contributors to get statistics as a lead developer, as well as allow contributing developers to access certain information.
- Trainer/Teacher – Empower an instructor to view data on all students’ data to see their activities within their development environments, build reports, and see their inefficiencies and events.
- ISV/Partner – View data from a segment of users who have installed a particular plug-in or used a certain factory based on a particular ID that would mark the data.
- Enterprise – An OEM on-premises deployment of the data center and tool that would allow full functionality, security, and separation of data.
"During our evaluation, several vendors fell short on different use cases and capabilities in ways that would lead to potential business and engineering problems,” Tyler noted. “WSO2 became our main lead because of the customizability with BAM."
During Codenvy's evaluation, the team learned of two other WSO2 products that in combination with WSO2 Business Activity Monitor could help the company further: WSO2 Identity Manager and WSO2 User Engagement Server. Significantly, the multi-tenant products addressed Codenvy's demand for deployment flexibility.
"The fact that the same WSO2 software could run both on-premises and in the cloud was critical for us," noted Eric Cavazos, Codenvy product manager. "We needed an analytics system that we could have as a cloud deployment and take on premises, much like our own software, because it is part of our platform."
"WSO2's middleware gave a foundation for us to build a completely new analytics system within three months."
Rapid Implementation With WSO2
For its initial implementation of the new analytics system, Codenvy has focused on using WSO2 BAM and WSO2 Identity Server. A unique advantage of these products is that they are part of the fully componentized WSO2 Carbon enterprise middleware platform. As a result, they are pre-integrated, share the same core functionality, and are highly configurable. These features helped to free Codenvy developers from the hours of integration and coding that typically would be required to build the new analytics system.
"WSO2's middleware gave a foundation for us to build a completely new analytics system within three months, which still had the customizability that we needed," Tyler said.
The WSO2 support team also helped to facilitate Codenvy's development efforts.
"WSO2 provided great service as we worked with each product and utilized it," Tyler explained. "Our questions were quickly answered, and if they were more technical than our account manager could handle, he quickly had an engineer help us."
Robust Analytics Powered by WSO2
The new Codenvy analytics system based on WSO2 Business Activity Monitor and WSO2 Identity Manager now works in concert with other parts of the Codenvy Platform to provide a range of views into project status and developer activities.
The process begins with a custom data publisher written by Codenvy, which takes captured events and correlates them to the login that Codenvy manages through its LDAP database. WSO2 BAM turns these events into logical data that is stored in the company’s MongoDB database.
WSO2 BAM also pulls the data from MongoDB in order to conduct Hadoop-powered analysis. It also provides SQL-like flexibility for writing analysis algorithms using Apache Hive. The results of the analysis then are pushed back into MongoDB where they are stored.
"We like the versatility of WSO2 BAM, which made it simple to connect the correct pieces of our system and pump the data into Mongo DB."
Codenvy Product Manager
All of the interactions between WSO2 BAM and MongoDB are conducted through a custom MongoDB connector for WSO2 BAM that was developed by the Codenvy team.
Codenvy Analytics System Using WSO2 Business Activity Monitor and WSO2 Identity Server
"We like the versatility of WSO2 BAM, which made it simple to connect the correct pieces of our system and pump the data into MongoDB without a lot of setup and time consumption in building from the ground up," Eric recalled.
Complementing WSO2 BAM, WSO2 Identity Server for identity management provides Codenvy with the separation of data that the company needs based on a profile’s access level and attributes.
"Using WSO2 Identity Server in combination with WSO2 BAM was key for us to provide not only very important security to our clients, but also to establish levels of ownership and access to the data," Tyler explained.
WSO2 UES on the Roadmap
"We view adding WSO2 UES as a win-win that will allow us to expand with more chart-types and offer data breakdown models for our analytics customers," Tyler observed.
Dynamic Data Analysis
Codenvy currently is using the WSO2-based analytics system internally as the company readies it for public release, and the team is already realizing the system’s benefits.
"In the past, it would take hours to download CSV reports and then filter and compile the data," Eric says. "Now, with analytics powered by WSO2, I can dynamically get my data through an intuitive dashboard interface. It’s a night and day difference."
Tyler added, "We are already recognizing productivity gains from the insights we are obtaining with the new analytics system and look forward to extending those benefits to our customers."