How to Build a Modern IT Infrastructure for your Digital Pathology Lab (Part 2/3)

Private Cloud IT Infrastructure Architectures

Traditional infrastructures

Prior to the introduction of “virtualization”, organizations used to run and manage their software applications directly on physical servers. While this method of deployment provides applications with direct access to resources, it creates several critical issues in an enterprise environment. It is quite difficult to specify resource boundaries for each application in such an environment, which undermines the reliability of software solutions that compete for the same resource type. In addition to these resource allocation issues, traditional IT infrastructures also suffer from resource underutilization. The following figure illustrates a typical traditional IT infrastructure architecture.

Virtualized infrastructures
To address the problems of traditional IT infrastructures, enterprises started to place their IT hardware equipment behind a “virtualization” via a “hypervisor”. Virtualization makes it possible to split the resources of a physical server into multiple virtual machines (VMs) and run different applications on VMs with isolated resources. Although this modification adds some overhead and affects the performance slightly, it comes with significant advantages such as enhanced security and resource utilization. Moreover, virtualized environments are much easier to manage, maintain, and scale. Finally, since virtualization enables better resource allocation and utilization, it can reduce the TCO. The following figure shows a virtualized IT infrastructure.

Virtualized infrastructures
To address the problems of traditional IT infrastructures, enterprises started to place their IT hardware equipment behind a “virtualization” via a “hypervisor”. Virtualization makes it possible to split the resources of a physical server into multiple virtual machines (VMs) and run different applications on VMs with isolated resources. Although this modification adds some overhead and affects the performance slightly, it comes with significant advantages such as enhanced security and resource utilization. Moreover, virtualized environments are much easier to manage, maintain, and scale. Finally, since virtualization enables better resource allocation and utilization, it can reduce the TCO. The following figure shows a virtualized IT infrastructure.

Each VM is a full-fledged independent computing environment with its own operating system (OS). While this provides a great deal of flexibility, the overhead introduced by virtualization can be unnecessarily high for some organizations. In such situations, it is better to use lightweight alternatives of VMs called “containers” instead.

Container-centric architectures without virtualization
Containers, on the other hand, allow shared usage of the host OS resources (kernel, binaries, libraries, etc). These relaxed isolation properties make containers significantly smaller, and therefore, lightweight compared to VMs, enabling better resource utilization. Thanks to the smaller size of containers, they provide better portability of applications across different computing environments. A high-level illustration of container-centric architectures is shown below:

Containers come with several other advantages such as:

  • Enabling effective development operations, continuous integration and continuous delivery (CI/CD) in application development
  • Container image immutability and portability across platforms
  • Effective resource isolation leading to better resource allocation and management

 

Container-centric architectures with virtualization (hybrid approach)
In some organizations, there are additional requirements with respect to resource isolation that cannot be easily done using containers alone. For example, it might be beneficial to separate development environments from staging (pre-production) and production environments. This level of isolation allows enterprises to develop and test new applications, such as AI models, in a sandbox environment without having to worry about security, resource management, and interference with production environments such as the clinical workflow in digital pathology labs. The following figure shows how a virtualized container-centric architecture can be built.

 

Kubernetes clusters
Managing containers in a container-centric architecture (with or without virtualization) can be a challenging task. For example, production services that run inside containers might become unavailable to users because of an underlying container being down. Therefore, a software system that can automate the management of containers would greatly improve the service availability and application performance.

One of the most common solutions that large organizations use today is Kubernetes. This widely-used solution provides a framework for running, monitoring, managing, and scaling containers, and several other advantages that detailed coverage of them is beyond the scope of this article. Some of these advantages include:

  • Load balancing and network traffic load distribution
  • Storage orchestration
  • Resource allocation for containers
  • Improved resiliency of the production services

In Part 3, we will cover the storage, compute, and other considerations of a modern IT infrastructure.

 

sidebar image
Categories

Social Media

Our Newsletter

Subscribe to our newsletter to get timely updates on latest news and articles.

    Join our team

    Join us and build products for cancer diagnosis. We are looking for great people to join our growing team.
    Back to top

    Incredible
    and modern
    design

    Contemporary theme especially made for technology & software developing company websites. Deon, a new age of WP design.