The “Depend on Docker” philosophy at Baker Hughes, a GE company
BHGE is the world’s leading full stream Oil & Gas company on a mission to find better ways to deliver energy to the world. BHGE Digital develops enterprise grade cloud-first SaaS solutions to improve efficiency and reduce non-productive time for the Oil & Gas industry.
In our group, we have developed an analytics-driven product portfolio to enable company-wide digital transformation for our customers. Challenges ranging from predicting the failures of mission-critical industrial assets such as gas turbines to optimizing the conditions of an Electric Submersible Pump (ESP) to increase production, which require building and maintaining sophisticated analytics at scale.
The past few years have taught us this: where there is a whale, there is a way!\
We face two major challenges in delivering advanced analytics:
- Data silos
We must handle a multitude of data sources that range from disconnected historical datasets to high speed sensor streams. Industrial data volumes and velocities dwarf even the largest ERP implementations as shown below.
- Analytics silos
Analytics silos consist of complex analytics written over several decades in multiple programming languages (polyglot) and runtime environments. The need to orchestrate these analytics to work together to produce a valuable outcome makes the challenge doubly hard.
Our approach to solving the hardest problems facing the industrial world: combine the power of domain expertise with modern deep learning/machine learning/probabilistic techniques and scalable software practices.
At BHGE, we have developed innovative solutions to accelerate software development in a scalable and sustainable way. The top two questions that our developers in the industrial world face are: How can we make software development easier? How can we make software that can be built, ship, and run on Mac, Windows, Linux, on-prem, and on any cloud platform?
Docker Enterprise allows us to break down silos, reduce complexities, encapsulate dependencies, accelerate development, and scale at will. We use Docker Enterprise for everything from building to testing and deploying software. Other than a few specialized cases, we find very little reason to run anything outside of the Docker container platform.
We gave a live talk as part of the Transformational Stories track at DockerCon 2018, titled “Depend on Docker” where we discussed our journey to accelerate ideas to production software.
In our talk, we cover use cases that need a polyglot infrastructure with highly diverse groups from scientists, aerospace and petroleum engineers to software architects to co-create a production application (you can watch the video or see the slides).
For us, a project qualifies as “depend-on-docker” if the only “external” dependency it needs to go from source to running software is Docker. In the spirit of DockerCon, at the talk we demonstrated and open-sourced our depend-on-docker project, and showed examples of some projects that follow the “depend-on-docker” philosophy, such as semtk, tree and enigma (follow the links to our Github pages).
In addition to its ease of use, we have made starting your own depend-on-docker project on Linux or Windows really simple. We hope that after you take a look at our GitHub or watch our DockerCon video you will be inspired to build anything you can imagine and convinced that the only external dependency you need is Docker!
- Alex Iankoulski and Arun Subramaniyan co-authored this blog. Alex Iankoulski is a Principal Software Architect for Data Science and Analytics at Baker Hughes, a GE Company where he focuses on enabling deep learning scientists and analytics experts to bring algorithms and new modeling techniques from prototype to production using containers. He believes that good tools get out of the way, empower users to go fast and enable them to stay focused on what they do best.