The Customer is a North American startup providing an innovative digital signage solution for smart retail and entertainment, consisting of hardware and SaaS components. This solution facilitates interactive communication with visitors in shopping and entertainment areas.

Challenge

The Customer aimed to expand their product by adding a cloud-deployed web administration application for managing content displayed on smart retail devices. They needed to launch their product on multiple regional markets simultaneously within a tight schedule, with some regions like China requiring the deployment of the SaaS component on local cloud platforms.

To achieve the desired time to market, the Customer needed to streamline code delivery with DevOps practices supported by an efficient CI/CD pipeline. The pipeline had to be compatible with various cloud platforms, including AWS, Azure, Alibaba Cloud, and Google Cloud Platform (GCP).

Solution

MachinesAndCloud’s team of seven members worked on developing the Customer’s web administration application for AR content management. The app consisted of four layers: the administration panel (UI), the Node.js backend, the SaltStack-based configuration manager, and the middleware API connecting the backend and configuration manager. To accelerate code delivery and enable the Customer to reduce time to market, MachinesAndCloud’s team leveraged their DevOps expertise to create continuous delivery pipelines compatible with multiple clouds.

With CI/CD pipelines in place, MachinesAndCloud’s team ensured seamless integration of frequent code changes (up to 100 commits a day). For the CI/CD workflow, they chose the Drone CI platform, which uses standard delivery protocols for most cloud platforms, meeting the Customer’s broad cloud compatibility requirements. Each pipeline step was launched in a separate AWS-hosted Docker image to maximize fault isolation and prevent them from affecting one another.

To save time on recovery procedures, MachinesAndCloud’s team added the ability to take backup snapshots of code assembly environments for each pipeline step of the feature, release, and master branches. The timestamped snapshots contained the actual operable state of each code assembly environment, enabling developers to easily recover any previous functioning state of the code assembly environment if the current step’s environment did not operate as planned.

Results

By partnering with MachinesAndCloud, the Customer benefited from:

  1. Code delivery pipelines ensuring delivery on a tight schedule.
  2. The ability to deploy their SaaS tool for the digital signage solution in AWS, Azure, Alibaba Cloud, and GCP on-demand, broadening access to the global market and new investors.

Technologies and Tools

AWS, Drone CI, Docker, Kubernetes, MariaDB, Go, Ansible, SaltStack, CMake, GNU Make, Atlassian Bitbucket.