The Case for Containerization in Software Development and Deployment

Development of software applications such as a Video Management System (VMS) often encompasses many external elements such as Run Time Libraries, which automate many of the common programming tasks that are required to interact with and take advantage of the Operating System software such as Windows.

In addition, a database is commonly utilized to categorize the video images into a time and date format for effortless searching and retrieval.

Many other common BIN files and libraries are shared with all applications, further streamlining the development timeline and removing redundant tasks associated with modern software development.

While all these common elements are important and aid in development, deployment of a software application, to be able to deploy multiple applications on a single server platform, you must ensure that all applications are in sync with these common elements and that all revisions of these elements are what the application software was built on.

In a virtual server environment, it is difficult to keep all these software revisions in sync and every time an element is updated, all applications may need to be updated as well.

Deployment and support of software like a VMS suddenly becomes dependent on the environment that it is running in, and maintenance of that environment becomes dependent on how quickly the software applications can be checked against these new revisions and updated as needed.

Many times, application software will need to be recompiled and reinstalled further delaying the updates. All these updates and reinstallations add to the cost of deployment and support of the application server and environment. In the past, application software was frequently created and deployed on dedicated servers with their own operating environment, leading to DVR and NVR. This allowed the developer the luxury of controlling the entire platform where the application software would run, thereby eliminating these challenges.

However, in a modern VSaaS application, the developer is no longer in control of the environment and may have no idea what type of external libraries or what revisions of those libraries may exist on the target server.

Virtual servers running in a public or private cloud must have the ability to update operating system software as well as Virus Protection applications and other utilities on demand and without regard to what application versions are running on the server.

Virtual servers running in a public or private cloud must have the ability to update operating system software as well as Virus Protection applications and other utilities on demand and without regard to what application versions are running on the server.

This poses a dilemma for traditional software developers and is the cause of much of the downtime and frustration associated with VSaaS applications.

Application software is bundled with all the related dependencies (BIN, Database, RTL) and placed into a container that utilizes its own operating environment for execution of the application without regard to what other applications or run-time elements may be installed on the server.

This makes the application immune to changes in the overall server environment and allows the software and all its related components to be maintained and updated independently from the server environment it is running on.

Modern methodology carries many benefits:

  • Everything needed is packaged and included by the developer during manufacturing. Installers and users don’t need to worry about installing the right version of .net, Java etc., that is all included in the container. Everything is configured and setup already during the building of the container.
  • What was tested in the QA/QC process is what is exactly what is running in the field.
  • All components are included in containers, databases, secure messaging, recording, directory, API etc. No need for 3rd party software or licenses.
  • Enhanced security: The containers run isolated from the Operating System and other containers which protects them and the system from them. The containers connect to each other over a private virtual network with only specific ports connected to the outside network using controlled access points, like the API gateway.
  • Easy installation and upgrades: The installer is a click through, or “next-next…” operation, and the tech does not need to know anything about docker or the application software. Performing an upgrade is as quick as stopping the old container and starting the new one. The software can also be rolled back to a previous version just as easily. This allows systems to be reliably upgraded without administrators having to touch the systems manually.

Stating the Facts

When you consider all the costs of deployment and maintenance of an application suite like VMS in a VSaaS environment, the cost benefit impact of containerization becomes readily apparent. Add to that the reduction in application downtime, the improvements in reliability, and the ease of use and modern, and containerized application solutions become an easy choice.

Containerized software applications are inherently more portable, scalable, and cost effective. These applications can be run in any hardware environment that supports the bandwidth and CPU demands of the applications running on it, even so called “bare bones” servers that are often found in virtualized environments.

In summary

Modern Containerized applications are the future of VSaaS services and should be the first choice of any user who expects and demands leading edge technology in a modern computing environment.

Edge 360’s Surveill video management solution brings software innovation to the physical security industry by simplifying the deployment and management of video management in any size or type of environment. Whether customers are starting from scratch or have existing video infrastructures, Surveill provides unified, purpose-built video management platforms with software-based intelligence that lowers complexity and overall TCO. visit: