Fugro is a multinational enterprise which collects and provides highly specialized interpretation of geological data for a number of industries, at land and at sea. The company recently launched OARS (Office Assisted Remote Services), an innovation which uses advanced technology to reduce, and potentially eliminate, the need for surveyors onboard sea-going vessels, optimizing project crewing, safety and efficiency. By keeping skilled staff onshore and using an Internet of Things platform model, Fugro’s OARS project provides faster interpretation of data and decisions, and better access to information across regions.
Improve Agility, Security, and Resiliency
Meet customer growth with scalability and downtime recovery
Speed time-to-market — from new services to new features
With the launch of OARS, Fugro anticipated healthy customer growth requiring the company to proactively address scalability and downtime recovery. In addition, with its Internet of Things (IoT) approach to facilitating OARS, security restricting vessel resource access from within the Fugro internal network needed to be addressed. Public cloud was seen as a way to address these issues, though it presented a different security challenge. Given its customers’ remote locations which could literally be anywhere in the world, deploying consistent, sophisticated services with consistent uptime and continuous delivery of upgrades was the incredible challenge the team of software engineers at Fugro faced. They saw DevOps as the approach to take for easier delivery of new versions of the project. The global nature of its business also meant Fugro needed the ability to create environments near to the actual vessels for technical and legal reasons.
Fugro reached out to Flux7 who immediately got to work with its award-winning consultative approach. The first step in the process was to assess Fugro’s current design plan, from which Flux7 built an architectural blueprint and DevOps in the cloud roadmap for the desired state for OARS services. This long-term, independent plan for infrastructure development and deployment featured Docker and Amazon Web Services (AWS) at the hub to provide a high degree of uptime, ensure data security, and enable portability across global regions.
Following assessment and planning, Fugro and Flux7 began the work to implement the cloud-based infrastructure with resiliency, scalability, and continuous delivery built in. They did so with Docker, Jenkins and AWS as their core technologies. With Docker containers, Fugro is able to build once and run in many places, while creating immutable infrastructure which increases reliability and uptime. Adding Jenkins to the mix allows Fugro to have a continuous deployment flow in which Jenkins triggers the build of new Docker images for target machines. Flexing the capabilities of Flux7 and automation, the team launched the service in one fifth the time of typical Fugro launches.
Using Flux7’s deep AWS and Docker expertise, the team was able to “Dockerize” Fugro’s IoT backend. Docker’s ability to provide a homogenous deployment framework meant the Fugro team could easily port and replicate environments to new global regions on demand. In addition, the new process enabled by Docker created a development workflow enabling developers to work faster, increasing their throughput. In fact, development was able to create brand new environments for globalization in different countries in hours, rather than the weeks they were used to spending. Last, the containerized solution is “self-healing”, having the ability to recover from soft and hard errors.
Flux7 also helped the team ensure security, a non-trivial challenge when working with IoT clients with unreliable networks. For example, vessels communicate sensitive data to OARS over satellite, which can be intermittent given the mobility of the vessels to remote areas. To ensure consistency of communication and data security, Flux7 applied several approaches to security. The first approach consisted of policies across technology layers ensuring compliance with applicable regulations. Second, Flux7 applied cloud security best practices as learned through their extensive experience working with clients in industries with demanding security needs – from financial services to healthcare.
Additionally, Flux7 and Fugro applied networking designed to provide an encrypted channel on top of low bandwidth satellite-backed Internet connections to the vessel. The team designed the system with high availability and infrastructure flexibility to help ensure data would not be lost due to a disaster recovery issue. With a layered security approach, redundancy and elasticity built in, the OARS project implementation features a high degree of security for all data involved.
DevOps in the cloud is more than just technology. It also requires coaching and knowledge transfer to ensure teams can self-manage and grow their infrastructure moving forward. To facilitate an effective culture change, Flux7 helped Fugro create a Center of Excellence for DevOps within Fugro. COE team members were trained to use and extend the Docker-based environment, including cloud best practices and the application of cloud ecosystem tools. For the larger development and IT teams, lunch and learn sessions were hosted for knowledge transfer resulting in a selfpaced extension of the initial framework to meet Fugro’s long-term business needs.
Increased developer agility and sped time to market
Decreased time for new global environments
Secure, self-healing environment
Improved disaster recovery and backup
Several vessels in multiple geographic regions have already begun using OARS as a result of this project’s speedy implementation time. And, with
continuous delivery of code, the vessels are sure to always have the newest software features at their fingertips. And, new environments which previously took weeks to build, now launch in a matter of hours.
The OARS cloud-based system embraces automation and continuous delivery to speed time to market, and ensure high availability. Multiple levels of security and reliability have been built into the solution, extending Fugro’s reputation for reliability, dependability and expertise.
CloudFormation, Docker, pfSense, Ansible, CodeDeploy, Jenkins, Zabbix, CodeCommit, Git, Rake, CloudWatch, SNS, CloudTrail, Config, KMS, MySql, RDS, LAMP, YAML, ELB, VPC