SeeChange and Containers

SeeChange and Containers 

SeeChange runs both its management platform and the edge compute of SeeWare in sets of containers to deliver the most stable, secure, efficient and scalable AI solution. 

It used to be that all software solutions would run on an operating system (OS), with the OS (think Windows 10 or MacOS) running on the computer hardware. There are problems with this approach, where there may be resource conflicts between applications and update issues with both OS and applications. 

Prefer to listen to this post?

As computer hardware improved, virtual machines became popular, where multiple installs of operating systems could be run on one computer. This allowed easy switching between versions of OS and even the ability to run different OS – Microsoft Windows, Linux and even MacOS on the same machine. However, by design, these virtual machines provide only limited interaction between applications running on them. 

The concept of containers has been around for many years, with early examples dating back to the 1970s. The technology that we think of today as containers was first introduced with the launch of the Linux operating system in 1991. The Linux kernel included support for a technology called “chroot”, which allowed a user to isolate a part of the file system and run a separate instance of the operating system within it. 

However, it wasn’t until the launch of Docker in 2013 that containers really started to gain mainstream traction. Docker introduced a new way of packaging and running applications in containers that was more user-friendly and easier to use than previous technologies. 

The benefits of running a software solution in containers: 

Ease of deployment: Containers provide a self-contained and consistent environment for running applications, which makes it easier to deploy and run applications in different environments. This can save time and effort compared to manually setting up and configuring an application on each individual machine. 

Maintenance: Containers are designed to be easily updateable, individually. Because containers are standalone and self-contained packages of code, it is easy to update them with a new version of an application or its dependencies. This can be done by creating a new container image with the updated code and dependencies, and then deploying just the updated container. 

Portability: Because containers include all of the necessary code and dependencies to run an application, they can be easily moved from one environment to another. This means that a containerized application can be run on any machine that has the Docker platform installed, without the need to worry about differences in underlying infrastructure or dependencies. 

Isolation: Containers provide isolation from other applications and the host operating system, which can help to prevent conflicts and ensure that an application has the resources it needs to run. This can be especially useful when running multiple applications on the same host machine. 

Interaction & Security: In terms of interaction, containers can communicate with each other and with the host system through well-defined channels, such as network interfaces and inter-process communication (IPC) mechanisms. This allows containers to share data and resources, while still maintaining their isolation from one another. These data channels can be encrypted. Because containers are isolated from one another and from the host system, they provide a higher level of security. This isolation prevents containers from modifying or accessing critical system files and resources, which helps to prevent security breaches.  

Efficiency: Containers are lightweight and take up less resources than traditional virtual machines, which makes them more efficient to run. This means that a host machine can run more containers simultaneously, making it possible to run more applications on the same hardware.

Licensing: SeeChange containers are deployed from an authenticated source with encrypted configuration and SeeChange technology. Deployment and use is restricted by license key for each customer and/or installation.

In summary, the use of containers is key to SeeChange providing a comprehensive solution that delivers stability with flexibility and security.