Kovair is now part of SurgeONE.ai Same experts, even more power.

Month: January 2020

Achieving Comprehensive DevOps with Kovair ALM and Jenkins Integration Through Omnibus – Find Out How?

 

Achieving Comprehensive DevOps with Kovair ALM and Jenkins Integration Through Omnibus

 

 

Introduction

Today in the software-driven world, the shortest time to market is the key to success for any organization. Companies that are achieving this with faster and continuous deployments by maintaining good quality are the ones who are really tasting success. For achieving this, companies are adopting different tools and processes that help them in gaining complete visibility to the entire delivery lifecycle from start till end.
Application lifecycle management (ALM) was first introduced to enable businesses to make better decisions around software development and manage it efficiently over time. With this increasing need for faster time to market, organizations are now implementing DevOps for achieving the mechanism of continuous and faster delivery. DevOps integrates development and operations teams involved in software development to drive this faster pace of delivery. DevOps allows organizations to shorten their development cycles, detect and resolve defects faster with the help of higher engagement.
By integrating every aspect of ALM with DevOps, organizations can overcome the issues faced by the siloed nature of activities and bring a far more integrated approach to software development with better quality. In this paper, we have discussed how Kovair ALM which is a comprehensive ALM product, along with its integration with a popular CI/CD tool Jenkins gives a holistic view of the application delivery lifecycle and makes the DevOps implementation more comprehensive and cost effective for any organization.

 

How Kovair ALM Complements DevOps Implementation?


Kovair Integration platform

 

Kovair ALM is a 100% web-based solution covering different aspects of integrated development, Project & Portfolio Management. In Kovair ALM, users can execute projects following any methodology like Waterfall, Scrum, Kanban or Hybrid. Kovair ALM helps to integrate all ALM phases and provides consolidated visibility to the progress of application lifecycle for achieving the organization goals.

 

Kovair ALM Complements DevOps

Implementation of DevOps through Omnibus Jenkins Integration

DevOps implementation got started with the simple definition of integrating Development (Dev) and Operations (Ops) teams thus providing them a common source of information. With the rising complexity of software and the need for faster delivery, the definition has evolved and now it is implemented by organizations with the idea of continuous delivery.
In the following sections, we will discuss how this automation of delivery can be achieved through Kovair Omnibus integration of Jenkins. It describes the details of what is a DevOps pipeline and how it can be created. It also discusses how the integration of Jenkins through Kovair Omnibus provides a centralized visibility of the entire development lifecycle.

 

Introduction to Jenkins

Jenkins is one of the most popular Continuous Integration (CI) / Continuous Deployment (CD) tool for implementing DevOps. It is a build automation tool that helps to achieve continuous integration and continuous delivery. Jenkins is an open-source tool using which the entire process from code check-in to deployment including testing can be automated using plugins for different tools like Git, GitHub, Subversion, Chef, TestNG, JMeter just to name a few. This is done through Jenkins jobs that are created to automate each of these individual processes. With the Jenkins Pipeline, organizations can automatically run each of these processes in sequential order.

How to Automate Software Build, Deployment, and Test Processes Using Jenkins

To adhere to the complexity of software and the continuity of an application today, every organization maintains a staging environment in parallel to their production environment. For every delivery, first, a pipeline is created for deployment and testing in the staging environment and on successful completion of testing the build then gets deployed into production. Two separate pipelines are maintained where one is used for deployment and testing in staging followed by deployment and testing in production.

Staging Environment Pipeline

For the staging environment, users will need to create four different jobs — build, deployment, functional testing, and performance testing in sequential order based on which the execution process would be initiated.
  • Build Job – To prepare a build, users will need to check out source code files from the source code management (SCM) tool. Jenkins has provision to check out source code files from some popular source code management (SCM) tools like Subversion (SVN), Microsoft Team Foundation Server (TFS) and GitHub. Mention the source code repository name and its credentials in the build job to check out the source code files from the said repository for build preparation.
  • Deployment Job – After the successful completion of the build, users will need to deploy it in the server where software testing is going to be performed. Jenkins can deploy those build files in the corresponding test server with the help of popular configuration management tool like Chef. For that, users need to configure the deployment job properly and specify the deployment server name in the job.
  • Functional Testing Job – After the successful deployment of the build in the test server, what follows next is testing. Build verification means ensuring that the software quality meets the expectation by executing automated test cases. It will help users to detect bugs in the build. Jenkins supports integration with Selenium. Users just need to specify test suite for the corresponding functional test job. This will execute the Selenium test cases residing under the specified test suite. Kovair Omnibus integration can provide integration with any other test tool other than Selenium if that is what the end customer’s process calls for.
  • Performance Testing Job – To ensure software quality, users need to execute performance test cases along with the functional test cases. So, once the functional testing is completed, users will need to execute the performance testing related test cases. JMeter is a very popular tool for performance testing offering integration support with Jenkins. So, if users specify performance test cases in the corresponding performance test job then it will execute all those performance-related test cases. For this functionality, Kovair is integrated with J-Meter.
Staging Pipeline
Fig 2: Staging Pipeline

 

Production Environment Pipeline

For the production environment, users must create three different jobs namely deployment, functional testing, and performance testing. Unlike the staging environment, it will not require the build job just because the production deployment and testing will only happen after everything passes successfully in staging. In production, the build will be deployed from the staging environment to the production environment. Like the staging environment, users will also need to add those jobs in a sequential order in the production pipeline based on which the execution would be initiated.
  • Deploy Job – If all the functional test cases and performance test cases have been successfully passed to the staging environment then that build is ready to be moved in the production server. With the help of Chef, Jenkins can deploy the build files in the production server. For that, users need to mention the production server’s name in the deploy job and configure it properly. Here again, Kovair Omnibus is integrated with Chef!
  • Functional Testing Job – After successfully deploying the build in the production server, users need to test it again to ensure the software functions are running properly. That means executing the automated test cases again. Just like the staging job, users will need to mention the test suite containing the functional test cases in the functional testing job and the Selenium or other test cases will be executed to verify production build.
  • Performance Testing Job – Once the functional testing is complete in the production server, users will need to execute the performance test cases again. This will ensure that the software is performing properly. Like the staging job, users will need to specify the performance test cases written in JMeter. Based on this, the performance-related test cases will be executed accordingly in the production environment.
Production Pipeline
Fig 3: Production Pipeline

 

Benefits of Kovair Omnibus Jenkins Adapter in Conjunction with Kovair ALM

The integration of Kovair ALM with Jenkins through Kovair Omnibus Jenkins Adapter brings in some inherent benefits as listed below:
  • It allows us to invoke and monitor all these pipelines of Jenkins from one single web-based interface.
  • This allows organizations to overcome the issues faced due to activities happening in silos and gives a holistic picture of software development for release and deployment.
Sample Scenario:
Below is a sample scenario which can be achieved through integration between Kovair ALM & Jenkins. The tools used in the scenario are sample tools:
  • Step 1: Agile planning gets done in any agile tool including Kovair
  • Step 2: Once the sprint is approved, coding happens in development tool Eclipse or other IDE chosen by the customer
  • Step 3: Once coding is complete the code gets checked into GitHub after doing the static code analysis using SonarQube or any other source code repository integrated with Kovair
  • Step 4: The Jenkins pipeline gets invoked. From Jenkins, the build deployment and test automation are done using Jenkins, Chef & Selenium
Kovair Omnibus Jenkins Adapter in Conjunction
The tools mentioned in the above scenario are sample tools. Kovair Omnibus supports integration with 90+ tools covering areas of ALM, PPM, DevOps, ITSM, ERP & PLM

 

Tools Integration

 

Kovair Jenkins Adapter also supports other features such as:
Once the integration is done between Jenkins and Kovair ALM through Kovair Omnibus, then all Jenkins pipelines get synced to Kovair. This allows users to invoke the execution of the pipeline with one single click from Kovair ALM Interface. Real-time execution results for successful and failed jobs residing in that pipeline can also be viewed from Kovair ALM.

Pipeline Execution from Kovair

Pipeline Execution from Kovair
Fig 4: Pipeline Executor displayed in Kovair


Live status of Pipeline Execution in Kovair

Live status of Pipeline Execution in Kovair
Fig 5: Live status of Pipeline Execution in Kovair

 

Single Interface for All Jenkins Pipelines

Kovair ALM comes with a feature where users can view multiple Jenkins pipelines from a single interface. From this single interface, users can not only view all the pipelines defined in Jenkins but also can execute them without hovering across multiple screens or tools. Users can also view the real-time status report of those pipelines from this single interface.

Single Interface for all Pipelines
Fig 6: Single Interface for all Pipelines

 

Reports and Metrics Generation

Kovair ALM brings in all reports generated by Jenkins during its pipeline execution and represents them graphically. This gives organizations a centralized visibility to the progress of the project including the phases covered under DevOps. For example, users can create reports such as build trends, average build time, build failure frequency to name a few.

 

Reports and Metrics Generation
Reports and Metrics Generation
Fig 7: Examples of Build Reports

 

Test Automation Reports


Software testing is an important part of software development life cycle management. Before releasing any software, users need to ensure their quality. For that, executing functional and non-functional test cases is important. After the execution of all test cases, we need to determine the stability of the software build. A thorough analysis of the execution run report can help to achieve this. The execution status of these functional and performance test cases in both staging and production environment can be viewed within Kovair ALM due to the integration with Jenkins through Omnibus. Some of the key areas that users can address are – whether all those test cases are passing? If some test cases are failing, then which ones are those? How many test cases are passing and how many test cases have failed, have any test cases have been skipped?

 

Kovair data lake
Kovair data lake
Kovair data lake
Kovair data lake
Fig 8: Examples of Test Execution Reports displayed in Kovair

 

Major Benefits of Having DevOps Enabled Through Kovair ALM and Jenkins Integration using the Omnibus

Kovair ALM in conjunction with Jenkins integrates every aspect of the application lifecycle, ALM through Kovair Omnibus. This helps organizations to go beyond the traditional DevOps concept, and help them to overcome the issues faced by the siloed nature of activities.

Some of the key business values gained through DevOps Integrated ALM

  • Seamless Collaborations Across All Team Members – DevOps-integrated ALM ensures that the supervision of software applications is not only confined within the phases included in DevOps or other phases of ALM. It allows members from different teams like development, operations, product owners, security, QA, testers, as well as infrastructure teams to collaborate seamlessly. This collaboration of multiple team members helps organizations to achieve continuous development, continuous integration, continuous deployment, and continuous testing – which are the core features of any DevOps implementation.
  • Single Window Visibility for Management – When ALM is integrated with DevOps through Kovair Omnibus, managers get a single view of the release progress across the entire application lifecycle. It provides real-time visibility to the progress of the entire application lifecycle including all different stakeholders that are required to support the entire application lifecycle – and not just for developments and operations.
  • Improved productivity, quality, and the end to end traceability – DevOps Integrated ALM as provided by Kovair ALM along with its integration with Jenkins through Kovair Omnibus allows every team to share their knowledge and progress in a single platform. This practice and transparency not only help to improve productivity & quality but also enables users to view a complete end to end traceability covering all phases of the application lifecycle.

 

Conclusion

With the help of Kovair Omnibus enabled Jenkins Integration with Kovair ALM, organizations can achieve a comprehensive DevOps enabled ALM. Users can get real-time reports on the status of jobs and pipelines. Using the Kovair Jenkins adapter, users can trigger software build jobs as well as pipeline jobs inside Jenkins without having to visit the Jenkins tool. Users will also get real-time reports and dashboards with drill-down capabilities cutting across all phases of application lifecycle development including software test reports for both functional testing and performance testing. In short, this is a very easy and efficient way of implementing DevOps in any organization without too many changes to the processes being used and the culture in the Development Organization that is cited as a major cause of failure in adopting DevOps! The additional tools that are required are all open source tools and thus this implementation can also be a very low-cost value proposition.

 

Kovair Omnibus Synchronizes Data between ServiceNow and Other Tools at a Large US Appliance Maker

Kovair Omnibus Synchronizes Data between Software Tools for one of World’s Large Appliance Manufacturers
One of the world’s largest manufacturer & marketer of home appliances, headquartered in USA was using ServiceNow for managing the customer tickets & IBM Rational Team Concert for managing internal development. The usage of disparate tools from different vendors by different teams for software delivery brought in the challenge of real-time collaboration between the teams and visibility to the management. This Kovair customer is one of the most successful companies in the Fortune 500 List. It operates globally in Semiconductors and other Electronic Components with it headquarter in Silicon Valley, USA.

Their Challenge: Bringing Teams, Tools and Process Together

The company invested heavily for both ServiceNow & RTC for increasing efficiency of teams. This use of different tools by different teams brought in information silos and introduced collaboration challenges between teams. With the vision of bringing two teams together and breaking the silos, the need for integrating these tools became imminent in this organization. Manually synchronizing artefacts between the two tools and keeping both the teams in sync was becoming error prone. The major challenges which they wanted to solve in terms of data synchronization were:
  • In ServiceNow, the external team logs on all the issues as Incidents and Ad-Hoc requests. These tickets (i.e. Incidents & Ad-Hoc Requests) are to be synced automatically to RTC as Defects and Stories respectively. Any update to any of these artefacts on either side needs to be synchronized in a near real-time manner.
  • In addition to the above-mentioned scenario, the team also provided complicated nested business criteria to qualify relevant business decision making data for syncing.

The Solution: Kovair Omnibus – A Scalable Integration Platform

The only way to resolve all the problems stated above was to establish a bi-directional integration between ServiceNow & IBM Rational Team Concert. Kovair used its SOA architected proprietary ESB Omnibus for integrating these two tools. Kovair Omnibus is an SOA architected proprietary Enterprise Service Bus (ESB) platform that can seamlessly connect 90+ commercial tools from different vendors and areas like PPM, ALM, PLM, ITSM, ERP and CRM. Being an ESB, the solution also provided the facility to integrate other tools in future. A few of the benefits of Kovair Omnibus over others are:
  • Web based configuration: Complete web-based configuration without any client footprint. Integrations can be configured with simple mouse clicks in a codeless manner.
  • Multi-tool Routing: Kovair Omnibus supports advanced and intelligent routing of information through an easy visual interface. Customers can exactly control the movement of data from one tool to one or multiple tools based on conditions, as per specific business requirements.
  • Integrity Checking: Kovair Omnibus supports pro-active integrity checking for information synchronized between different tools. This helps to find out any synchronization inconsistencies between tools and then resolve those through re-sync capabilities.
  • Cloud Compatibility: Kovair Omnibus can integrate any SaaS or Cloud Application. This can support any Hybrid Cloud environment where Cloud as well as on premise applications/tools need to be integrated. Omnibus is Cloud compatible – Cloud-to-Cloud, Cloud-to-On-premise and On-premise to On-premise.
With all these unique aspects and capability of integrating in-house tools, Kovair Omnibus provided a unique solution for their integration needs.

Journey with Kovair Omnibus

The client selected the Kovair Omnibus as the Enterprise Service Bus (ESB) for their integration requirement and engaged with Kovair team to design, connect and implement data integrations between ServiceNow & RTC. They shared their business needs or Use Cases as mentioned-above with Kovair team. Kovair delivered it within a very short span of time and without compromising on quality. Considering the ease of use and OOTB features of Kovair Omnibus and the flexibility to add on enhancement with ease, they decided to go with Kovair. Kovair Omnibus was installed in their environment and within a day, all their use cases were configured and demonstrated to the end users. Once the client team was satisfied with the configuration, they tried out the solution for few days. Kovair passed the acceptance criteria defined by them and successfully demonstrated how Omnibus can connect multiple tools supporting various application lifecycle phases to provide an Integrated Software Development environment. Within a short time Kovair Omnibus gained the confidence of teams and they have started expressing how Omnibus is positively affecting their work. They started their production implementation in a phased manner and teams are getting onboarded in an incremental manner. Integration Flow Diagram
Integration Flow Diagram
Beyond just establishing bi-directional integration between the tools, the solution also provided a central integration health dashboard with live sync monitor to manage and monitor data flows with ease in a single interface. The dashboard provided facilities to track the status of each individual data. They appreciated the benefits achieved from the integrated tools ecosystem established using Kovair Omnibus. With this implementation, the silos of data broke and both the teams got synchronized with the same set of data in a real-time manner.

Conclusion

The client is now successfully implementing Integration of tools using Kovair Omnibus platform and thus removed their regular pains. Kovair is not only helping them to integrate tools which they are using today but is working hand in hand with them to ensure that the implementation is correct and successful. Stakeholders of their organization have already started recognizing the benefits of having an integrated environment achieved through Kovair Omnibus.
  • Smooth collaboration between teams
  • Real-time status of all items across different teams
  • Single source of information for all teams
  • Productivity gains through these integrations and Data Synchronization
Want to establish an integrated tools ecosystem? Read more about Kovair Omnibus