You are Home   »   News   »   View Article

DevOps at Kongsberg Digital

Thursday, April 1, 2021

Kongsberg Digital, a Norwegian provider of oil & gas, maritime and utilities software and digital solutions, is a pioneer in 'DevOps', the collaborative process of 'developing' software tools in tune with 'IT operations' hand in hand. DevOps is the pioneering approach to develop and deliver software hosted in the cloud.

Kongsberg Digital has numerous applications across the business areas, including in digital platform, maritime simulation, oil & gas, digital twin etc.

Anshul Lalit, director of DevOps and Quality Management, Kongsberg Digital, says he sees DevOps as more of a culture than any technology. It is a culture “that inclines towards growth, communication, and fast response.”

The move to DevOps also meant a change in how the company serves its customers, moving from being product based to service based, and making as many products as possible cloud hosted, and moving to an “app store” model, where customers can buy different applications or services online.
“DevOps is not a product,” he refers. “You cannot buy DevOps and install it. DevOps is people following a process enabled by products to deliver value to our end users.”

Getting DevOps working at the company involved a number of changes to how the company worked, including changes to “legacy workflows, silos, bureaucratic gates, geo-boundaries,” he says. “We are consistently optimising our way of working.”
Kongsberg has developed its own system, which it calls “Kongsberg Digital Cloud Delivery Model” or KCDM. Part of the KCDM is an assessment of the “DevOps” maturity level – how far the various software development teams have progressed along their “DevOps” journey, Mr Lalit says.

Testing is very important part of the DevOps process – because you do not want to put software tools with new code in front of customers without being completely sure they work, will not cause extra security threats, or interfere with what they are currently doing. Kongsberg aims to use automated testing as much as possible.

Kongsberg Digital was established in 2016, to provide digital solutions to the shipping, oil and gas, renewable and utilities industry. It was launched with 450 employees as a spin-out from the parent company, Kongsberg, a technology company active in maritime, defence and aerospace, which has 144 bn NOK annual revenue ($14bn).

Software examples

Kongsberg Digital’s software for drilling integrates information from different service providers involved in drilling. There can be thousands of sensors, and many changes to the sensor set up.

To test the software before providing it to customers, it needs to be run on a similar set up data to the real world conditions, including sensor data from multiple wells and with multiple users.

Kongsberg has an automated testing system which can simulate several hours of the software being under a large data load, monitoring multiple wells, providing data to multiple users, visualisation with large data load, and multiple wells.

It can run legacy “CodedUI”, modern “Protractor” and API tests, where the testing software simulates someone actually interacting with the drilling software via the user interface.

Meanwhile on the maritime side, Kongsberg is gradually moving its products to be cloud services on a platform it calls “Kognifai”.

The core product group is “Vessel Insight,” for capturing and aggregating data from the fleet. Staff get access to fleet overview data, vessel specific dashboards and data analysis tools. It enables customers to make better decisions about how to operate their vessels.

There are apps in “Kognifai” for managing personnel onboard, managing paint, device connectivity over satcom, accessing weather data, and managing maintenance projects and bunker planning.

Teams

Kongsberg Digital has established what it calls “feature teams” to develop and test software improvements. This setup resonates the KCDM setup driven by DevOps philosophy, and helps killing the silo mentality.

Each team contains people with all the necessary skills to carry the whole chain of tasks, from architecting new software improvements, coding them, testing them, delivering, monitoring and fixing any problems. The mantra is “you build it, you run it,” Mr Lalit said. “For any special or niche needs, we have a pool of resources helping our feature teams”.

Individuals in the team have roles such as developers, testers, operations, security champions, incident champions and automation.

The “security champion” ensures that work complies with company secure coding guidelines, and threats are modelled.

There can be different types of testers involved, including people testing APIs, people testing UIs, integrated workflows, and people looking at underlying code.

Each team also has a “scrum master”, who is a sort of leader who manages the software development process, around two week “sprints”, with the goal being to produce something usable at the end of it. “Everything that comes out of the 2 weeks sprint cycle should be deployable. Whether you deploy it or not is a different story.”

This kind of Agile based organisational structure replaces one where there were different departments for coders, testers, and software operations.

Testing and security

Developing automated testing methods proved to be an important component of making DevOps work, Mr Lalit says.

The company developed its own testing framework called “Galaxy”, which reduced the amount of coding needed for testing by 50 per cent, without reducing test effectiveness.

There is a quick intermediate testing phase, and then a “heavy testing” phase which uses large amount of automation.

There is a “failure analytics” system, which reports the reason behind any failure and suggests ways to improve.

Products need to be tested for “performance, scalability and reliability”, or PSR. This is all done with automated tests running for 1 to 3 days. There is also testing for disaster recovery.

A small number of customers still have their software deployed on premise, and these implementations need to be tested separately.

For security, there is a company security team which reviews if software tools comply with company guidelines, and can do their own penetration testing, to see how easy the products are to hack into.

Kongsberg uses various threat modelling tools and methods to secure software development, testing and deployments, which provides detailed descriptions of how to mitigate the potential threats it identifies,” Mr Lalit says.

Microsoft Azure

Microsoft Azure is the primary hosting provider for Kongsberg Digital’s software. Azure also offers a range of services to help build and test the software.

Azure can support many software systems including machine learning, databases, Kubernetes, sensors (IOT), identity management and providing developer tools. “It has everything so cleanly integrated with our development hub that it makes the job easier,” he says.

The “Azure DevOps” software can be used to manage various aspects of the development cycle, including project planning and management, spring and backlog management, continuous integration / continuous delivery, control of source code, and collaboration.



Associated Companies
» Kongsberg Digital
comments powered by Disqus

CREATE A FREE MEMBERSHIP

To attend our free events, receive our newsletter, and receive the free colour Digital Energy Journal.

DIGITAL ENERGY JOURNAL

Latest Edition Jan Feb 2021
Feb 2021

Download latest and back issues

COMPANIES SUPPORTING ONE OR MORE DIGITAL ENERGY JOURNAL EVENTS INCLUDE

Learn more about supporting Digital Energy Journal