How CityShob successfully deploys and upgrades Smart City projects worldwide under COVID-19 restrictions?
C-Insight is a multi-domain, multi-agency, multi-sensor platform that offers advanced safety, security and smart urban management solutions for cities and authorities.
The platform is quite large in scale and is comprised of servers, Big Data Storage, Databases and dozens of clients installed in a single or in multiple Data Centers
Unlike SaaS applications, the C-Insight is mainly installed on premises in customer data centers due to regulatory restrictions and infrastructure considerations that cannot allow porting this workload to the cloud just yet..
Deploying a Smart and Safe City project with complex integration during the COVID-19 pandemic and the restrictions that are imposed (no flights, lockdowns, quarantine) was and still is a very challenging DevOps task.
We needed to find new ways to complete new smart city projects we had in the pipeline and continue maintaining the existing projects (ongoing support and new version upgrades) without being able to travel and be on-site . We even were restricted from visiting our own office due to lockdown and quarantine requirements
When you are planning a product upgrade in critical facility which serves emergency forces you must consider minimum downtime and the tolerance for mistakes is zero
Our DevOps team developed a unique and smart deployment process that allows CityShob to upgrade a large on-premises solution in a single click, and complete the upgrade in less than 45 min remotely with no human intervention.
In one of the cases, we had the following setup we needed to automatically upgrade:
- 16 Windows 2019 Servers
- 2 Data Bases (SQL Server, Elastic)
- 110 Workstations
How did we do that?
To achieve fast deployment with minimum down time and risks in production environment we need to make sure that the same tools and methods (CI/CD) used in our lab are applicable also in the production environment.
We needed to choose a mass-deployment solution. Since there are many of them in the market , like :SCCM, Jenkins, PDQ Deploy, GPO etc., we needed to set some criteria in order to choose the right tool for us
- Agentless – the tool had to use native OS commands without installing any agent on target server / client
- Support Windows and Unix Operating systems
- Scheduler and reports management.
- Easy to use
- Cost Effective
After exploring several deployment tools available in the market, we choose PDQ Deploy https://www.pdq.com, as the most suitable tool to get the job done.
The PDQ tool is a flexible pipeline deployment tool which supports Power Shell, command line, out of the box MSI and WMI deployment capability.
This tool has a built-in package library with the most common applications that can be installed on target machine such as, Java, Chrome browser, .NET, and many other software artefacts that we use as a prerequisite deployment on server and client side.
This capability allows us to deploy from scratch new systems in LAB / Production must faster.
For the C-Insight application we develop unique scripts (power shell, bat, Rest API and SQL) that PDQ can execute on target servers and clients.
The R&D LAB is now automatically deployed every morning with the latest nightly build.
At the end of the deployment a status report is sent to QA and R&D team with the result (success or failed)
The same tool (PDQ) and scripts developed for our LAB are also used in the production environment.
So, once a delivery pipeline is approved in CityShob LAB and ready for production, using a single command, the deployment process is triggered and the artefacts are downloaded from the development pipeline (cloud) and pushed to the on-premises servers, data bases and clients.
The auto deployment tools and scripts that we develop allow CityShob DevOps team to perform complex remote delivery in short and cost-effective manner.
The rehearsal we do on LAB every day allow us to test and improve the deployment tools and reduce risks in production environment.
The result is a full data center and client upgrade done less than 45 min.