Modernizing Construction Planning Platform: DevOps Success Story

Big Data Infrastructure Revamp for a Construction Planning Leader

Our client provides planning software for construction firms tackling massive industrial projects. Their big data solution allows companies to virtually map out every aspect before building — from 3D design modeling to cost, timelines, and workforce planning. 

The client aimed to scale up the product and enhance its reliability. IT Outposts helped make already powerful software even better.

Project Description

Our client was dealing with a sizable, intricate on-premises-style cloud setup hosted on Azure. To support each client, they duplicate the entire environment, creating separate single-tenant and multi-tenant versions for data isolation. As their architecture expanded with more microservices and virtual machines, management became more cumbersome. 

IT Outposts modernized the client’s setup by migrating to Kubernetes, automating CI/CD, implementing test automation, and more.

Provided Services

Kubernetes managed services

  • Efficient scaling
  • Improved reliability
  • Cost savings
  • Faster deployments

DevOps services

  • Infrastructure and architecture design
  • CI/CD automation
  • Integration

Cloud adoption services

  • Cloud infrastructure management

SRE services

  • Log management and monitoring

DevSecOps services

  • Automated security testing

Work agenda

Client

World-class construction big data company (confidential client)

Location

Undisclosed under NDA

Technical team

3 DevOps engineers

Project timeframe

March 2023 - ongoing

Budget

500,000

Project goals

Migrate client environments from traditional virtual machines to a containerized setup on Kubernetes clusters

Achieve cost optimization by transitioning to Linux from licensed Windows environments

Implement automated CI/CD pipelines for streamlined application builds, testing, and deployments

Establish comprehensive monitoring and observability across Kubernetes and Azure cloud infrastructure

Introduce automated testing capabilities, including static code analysis and functional test automation

Challenges

01

Client environments based on virtual machines

02

Steep Windows licensing costs

Previously, our client’s services ran on Windows. Migrating to Linux immediately provided cost savings since Linux is free to use, unlike Windows, which requires licensing fees. However, from a technical standpoint, the migration was akin to trying to run an Android app on an iPhone. It simply wouldn't work. The two operating systems are too fundamentally different under the hood.

A major part of this project was moving each client's individual environment from traditional virtual machines over to a modern, containerized setup using Kubernetes. But there was an important first step before Kubernetes could even enter the picture.

Since the client's applications were originally built to run on virtual machines, we had to first re-package them to run reliably inside containers. The process of "containerization" prepares applications to become more cloud-friendly and container-native.

03

Inefficient manual deployments

Before our cooperation, deploying any updates or new features was a fully manual process for the client. Developers packaged the latest code versions but then had to hand them off to operations teams to actually deploy. With so many code changes and environment transitions, having automated deployment pipelines was crucial.

04

Lack of unified observability across Kubernetes and Azure

As the client's apps moved to run on Kubernetes clusters in the Azure cloud, full visibility across the modern cloud setup was needed. They required insights into the health, performance, and behavior of workloads spread across multiple clusters. Monitoring also had to cover the Azure cloud infrastructure layer.

05

No existing automated testing

The client only tested features manually. But as developers created new code or made changes, it was easy to accidentally introduce security vulnerabilities. Static code analysis was needed to automatically scan through all the code and find these potential issues.

Additionally, the client's apps have many different features and user flows. Manually testing all the possible scenarios every time code changes would take a huge amount of time and effort.

Contacts

Ready to expand your infrastructure capabilities? If you are dealing with the complexities of on-premises systems, aiming to enhance scalability, or looking for significant cost reductions, our expertise is tailored to your needs. Discover how IT Outposts can modernize your big data infrastructure with Kubernetes solutions, as evidenced by our partnership with a leading construction planning firm.

Solutions

Modernizing Construction Planning Platform: DevOps Success Story

1. Containerization and migration to Kubernetes

Our engineers first containerized the client's services. This involved repackaging their apps to run reliably inside containers. We've migrated part of their client workloads to the modern Kubernetes environment. The remaining client environments still need to go through containerization before they can also be migrated over.

Modernizing Construction Planning Platform: DevOps Success Story

2. Linux transitioning assistance

Our team provided assistance by directly contributing changes to the client's source code. We worked closely with their development team to adapt their services to run on Linux.

Modernizing Construction Planning Platform: DevOps Success Story

3. CI/CD implementation

We leveraged modern CI/CD tools and practices to establish automated software delivery pipelines.

Modernizing Construction Planning Platform: DevOps Success Story

4. Providing unified observability

To effectively operate and monitor the applications deployed across Kubernetes clusters on Azure, we implemented a unified monitoring and observability solution. This involved standard open-source tools:

  • Prometheus for collecting metrics on resource usage, traffic, performance, etc., of the Kubernetes containers and pods
  • Grafana, a dashboarding tool integrated with Prometheus to visualize and analyze Kubernetes metrics through customizable dashboards

In addition, our team configured monitoring for the underlying Azure cloud infrastructure.

Modernizing Construction Planning Platform: DevOps Success Story

5. Test automation

On our side, we implemented automated testing by setting up various testing systems, including code analysis automation and automated functional testing.

With code analysis automation, the client can catch code problems and vulnerabilities before buggy versions go into prod, where issues could cause bigger problems.

The automated functional testing allowed running full tests continuously to verify new changes don’t break existing features.

Results

Modernizing Construction Planning Platform: DevOps Success Story

Migrating to a Kubernetes container environment made the entire solution much more scalable to handle future growth and highly available to minimize disruptive downtime.

Modernizing Construction Planning Platform: DevOps Success Story

Now, with automated CI/CD pipelines in place, the client can push out around 250 automatic deployments every month. That's a game-changer for getting their latest work into end customers' hands quickly.

Modernizing Construction Planning Platform: DevOps Success Story

By transitioning from Windows to Linux, the client eliminated hefty Windows licensing fees, lowering their operating costs

Modernizing Construction Planning Platform: DevOps Success Story

Monitoring tools like Prometheus and Grafana gave the ops team complete visibility into the Kubernetes clusters and Azure infrastructure. Real-time observability ensures issues get identified and resolved rapidly.

Modernizing Construction Planning Platform: DevOps Success Story

Software quality and reliability got a huge boost from test automation. Both the code itself and the app features go through automated checks, which helps catch bugs and before they cause problems for end users.

DevOps tech stack

CI/CD

Modernizing Construction Planning Platform: DevOps Success Story

Gitlab

Modernizing Construction Planning Platform: DevOps Success Story

Flux CD

Monitoring

Modernizing Construction Planning Platform: DevOps Success Story

Prometheus

Modernizing Construction Planning Platform: DevOps Success Story

Grafana

Modernizing Construction Planning Platform: DevOps Success Story

GCP Alerting

Modernizing Construction Planning Platform: DevOps Success Story

ELK

Infrastructure component provisioning

Modernizing Construction Planning Platform: DevOps Success Story

AWS

Modernizing Construction Planning Platform: DevOps Success Story

Docker

Modernizing Construction Planning Platform: DevOps Success Story

Terraform

Modernizing Construction Planning Platform: DevOps Success Story

Kubernetes

Services & databases

Modernizing Construction Planning Platform: DevOps Success Story

Postgresql

Modernizing Construction Planning Platform: DevOps Success Story

MongoDB

Modernizing Construction Planning Platform: DevOps Success Story

RabbitMQ

Modernizing Construction Planning Platform: DevOps Success Story

Redis

Contact us to increase your
IT infrastructure efficiency

    By sending a message you agree with your information being stored by us in relation to dealing with your enquiry.

    Top-rated DevOps as a service company

    50+

    projects delivered
    remotely

    90%

    of certified engineers in the company

    2 years

    average client engagement duration

    4.7/5

    customer satisfaction
    score
    Modernizing Construction Planning Platform: DevOps Success Story
    Modernizing Construction Planning Platform: DevOps Success Story
    Modernizing Construction Planning Platform: DevOps Success Story
    Modernizing Construction Planning Platform: DevOps Success Story
    Click to rate this post!
    [Total: 0 Average: 0]