CI/CD for Smart Buildings Application

Develop Deploy Test

In this discussion, we introduce the solution and learnings from our project we executed for our customer, a SaaS based Building Information Management solution (BIM). The customer is into serving building industry with the smarter construction process and effective operations through its life cycle with its SaaS product. The product helps their customers and partners create models with rich, accurate, standards related data on different aspects, resulting in more efficient design and high-quality constructions.

The SaaS product (BIMAssure) helps designers, builders, owners, and operators leverage Building Automation process and BIM tools to its fullest potential.  The solution leverages the best of emerging technologies like Cloud, Mobility, Big Data Analytics, etc., and applies to a traditional industry.

First, a bit about the existing system:

The customer had development teams spread across the USA (multiple locations), India and Singapore. The development process needed close collaboration from the team, central versioning and code repository system in a shareable environment. They have three different physical environments for development, QA and Production and the technology stack is Linux, Java, Windows/SQL, Auto CAD drawings.

The target customer base is mostly in APAC and Europe to whom they must extend design validation and intelligent operations services. Despite an agile development process, the build and release cycles are taking a few months for each client.

Key business requirements were:

  • Automate the creation of infrastructure for development, test and production environments
  • Create a build automation process that tracks change requests
  • Deploy applications in different zones to enable faster access to building plans, drawings, and national standards.
  • Monitor the applications and infrastructure for uptime in the cloud environment

Choice of Cloud platform:

The choice of the hosting platform and optimizing the various components accessible globally from anywhere, was the biggest decision as a SaaS provider. The robustness and scalability of the platform, options for compute, memory, storage, bandwidth, multiple zones, and open APIs were critical factors. Only one challenge then was to use Chef Solo instead of OpsWorks to create a staging environment to include the Windows code base.

With a deep understanding of the AWS features to address the client requirements, Newt team sized CPU, RAM and IOP’s for the application and selected instance type based on the capacity requirements.

Newt Global offered the following solution – automated sequence of actions:

  • Launched EC2 instances for Dev, QA, Stage and Prod environments.
  • Created appropriate security groups and mounted EBS volumes and configured Glacier to store log files and project archives.
  • Configured RDS instances and imported DB schema and used cookbooks store din S3 storage.

The workflow automation extended to launching and managing MySQL and Postgres instances for staging and production environments.

Diagram

 

Deployment highlights:

  • The scripts & the Templates will reside in the S3 bucket and serve the Cloud Formation Template to create EC2 instances.
  • Once the instances are created, Jenkins will be triggered, which will, in turn, deploy the necessary builds to the instances.
  • After the build process is complete, the deployment validation job will be triggered by the customized tool which was created by Newt Global.
  • Tools like Chef-Solo has been used for automation deployment, Jenkins for Continuous Deployment.

Business benefits:

  • The Development cycles were made faster as the feedback loop was faster due to automated infra-structure creation – reduced from months to weeks.
  • Deployment cycles shrunk from days to hours and AWS provided a centralized repository for all configuration files.
  • CI/CD ensured better control and visibility on the change management process
  • The Synchronization between Development and Deployment was reduced by over 50%.

CTAWant to take your DevOps Story to the next level?

Newt Global Consulting LLC can help you be successful in your DevOps journey just the way our 400+ customers achieved theirs. Contact us at marketing@newtglobalcorp.com