Academy DevOps: Cloud-based device monitoring solution

three colleagues working on a desktop computer together

Client:
A UK market-leading Medical Tech Solutions Provider

Industry:
Healthcare

Technologies:
.NET, Azure, GitLab, JavaScript, C#, SonarQube

Ten10 Capabilities:
Ten10 Academy: DevOps

Our client is a market-leading Medical Tech Solutions Provider developing their own hardware, software and services. Specialising in the use of smart technology, their products and services provide practical support and non-invasive monitoring by relatives and carers, enabling older people to remain in their own homes for longer as they age.

Download This Case Study

The Project

Our Ten10 Academy Engineers worked with our client on their own custom developed, cloud-based software service to manage the thousands of devices they have deployed at their client’s locations throughout the world. This service is built using the .NET framework and hosted using Azure Services.
All of our clients’ digital hub and associated peripheral devices deployed in the field are monitored and managed by the service, allowing operators to check units for availability, to ensure correct functionality and act if issues are found. The software also creates data logs of usage and monitors performance.

The Challenge

The service had initially been developed by an external software company, with our client wishing to bring this back under their management and control. Our Academy Engineers were brought in to facilitate the handover process.

The primary challenge from a DevOps perspective was the need to migrate the various code repositories from GitLab into Azure, as well as replacing all of the automated processes that had previously been self-hosted, on virtual machines at the external company’s site. The code is written in both JavaScript and C# and thus required different testing approaches for the different stacks.

The original system utilised shell scripts to run a large number of batch commands for the various pipeline stages, integrating well with the merge request processes developers utilised for code analysis. However, due to the self-hosted nature of the implementation, the configuration management would often prove problematic with frequent manual updates and maintenance required to ensure the stability of the automation process. This was a situation everyone wanted to avoid going forward.

The Solution

It became apparent a change in approach was required. The shell scripts proved difficult to maintain and were closely tied to the solution, this was compounded as the original creators of the service were no longer available, and documentation was often lacking in detail around the implementation of the solution.

Therefore the decision was taken to entirely rebuild the automation service from scratch, leveraging the power and flexibility of Azure’s DevOps tools including (Azure Pipelines, Azure Portal, Azure Storage Account and Azure SQL Server) to facilitate our client’s needs.

The result was a modular task based CI & CD pipeline hosted in Azure; integrated with the Developer’s ‘Pull Request’ system to ensure that code is always tested, built, and analysed before any merge is approved. The artifacts are then published to Azure for use elsewhere.

We also opted to integrate the static analysis system SonarQube, providing data to the Development team regarding the quality of the code (Vulnerabilities, Code Smells, Bugs, etc.).

Finally, the build artifacts were ready to be published to an Azure App Service for deployment and staging environments using a Deployment Pipeline.

Benefits

  • Automated workflow for developer commits, testing, and code analysis, helping to speed up the peer review process.
  • Merged code and artifacts are published to Azure, allowing them to be linked to work items as evidence, or reviewed for project analytics.
  • Improved maintainability, pipeline tasks are modular and designed to avoid bespoke implementations.
  • Entirely hosted in Azure, therefore no manual updates are required for dependencies or the virtual machines running the solution.
  • Enhanced security, utilising Azure Variable Groups to store secret keys (e.g. connection strings) that are accessible across different services, without compromising their contents.

The Ten10 Academy Model

Ten10 introduced the client to the Ten10 Academy as a solution to overcome their resourcing challenges. Ten10’s Academy model provides clients with enthusiastic, driven and capable individuals with the attitude and aptitude required to be successful.

Academy Engineers are trained across the technology engineering lifecycle; from Agile software delivery methods, DevOps, test automation and performance testing, through to business analysis, web technology, databases and software development.

The initial training for Academy Engineers comprises a six week, intensive, classroom based technical primer followed by further role-based specialist training, all taught at Ten10’s dedicated training facility in Leeds.

We use the core training as an extended assessment process to gauge an individual’s aptitude for a specific discipline, rather than pre-selecting individuals for specialist roles based on their education, background or initial desires. Based on the assessment results from all the modules and with guidance from our trainers, each individual is selected for the specific role where they will be most successful, based on their aptitude, ability and interests.

Further role specific training is then provided for each individual from our training facility. Additionally, we are able to accommodate specific client toolset and language requirements through client-specific training before placement with the client.

Ten10 Academy Engineers are permanently employed by Ten10 from day one of their training, with the additional benefit of accommodation being provided during the period of intensive Academy training. The Ten10 Academy model allows our client to engage the individuals for a period of two years, based on a specified day rate.

During the engagement, the Academy Engineers would remain permanent employees of Ten10, receiving a range of employee benefits including relocation support, ongoing learning and career development, mentoring and support from a dedicated Wellbeing Team. At the end of the two-year period, the client has the option, but not the obligation, to make a permanent offer of employment to the Academy Engineers.

The model directly addressed the knowledge retention risk that the client had been exposed to using contractors, giving them a solution to future proof their technical teams.

How you can achieve the same results

Navigate through your DevOps transformation with our expert-led DevOps Pipeline Health Check which leverages Ten10’s industry leading expertise to provide practical, pragmatic and value-led DevOps pipeline improvement roadmaps for our clients.

Read more about our DevOps solutions and speak to a member of our team to learn how we can help you.