As monolithic applications are increasingly superseded by container-based software, often hosted in the cloud, financial firms need to be mindful of the challenges of monitoring their complex and dynamic container-based environments. Dynamic provisioning using container technology introduces a level of complexity not found in monolithic applications and the monitoring of this environment – to gauge, for instance, performance optimization and troubleshoot issues in the enterprise – requires a different approach to that used for monolithic applications. In a container environment, multiple containers can be running on the same host, which can make it difficult to isolate issues caused by a specific container and an application’s containers can be spread across multiple hosts, making it difficult to monitor them all from a central location. The opacity and impermanence of containers can also make it difficult to diagnose issues, monitor performance and locate issues before they become critical.
One of the key advantages of cloud computing technology is its scalability in terms of compute power, memory and storage. Today, cloud services based on virtualization and containerization are well established in financial firms. Both techniques enable the abstraction of one level of the technology stack from the one beneath it – a buffer, if you will – allowing software running above the abstraction layer to be moved around, typically from server to server as memory, storage or compute power become available.
Container instances can be ‘spun up’ or shut down to meet changing demands for applications and services in real-time and, as they are abstracted from the hardware, this can be on any server with available capacity to host that container instance, which is known as dynamic provisioning. It can offer many benefits to capital markets firms, including improved agility, cost savings and the ability to respond more quickly to changing market conditions. However, it also presents challenges for systems administrators in terms of resource management and troubleshooting.