This past week I had the pleasure of adding a new partner into our Hybrid Cloud ecosystem at Alturna-Tech. Diamanti provides a purpose-built appliance for containerized applications that combines a hyperconverged infrastructure with the performance and efficiency of running containers on bare-metal. Diamanti was founded by infrastructure engineering experts who designed the original Cisco UCS product.
These appliances assure network performance by enforcing performance tiers at the network interface for each container. Each container is guaranteed a share of available network bandwidth. Similarly, D-Series appliances ensure storage performance through bandwidth, IOPS, and latency guarantees. These guarantees are enforced in hardware, solving issues related to noisy neighbors in multitenancy environments. An issue that I have seen first-hand with several customers and running previous containers in AWS.
The solution took a total of 30 mins to deploy and that included racking and stacking these bad boys in our lab.
There are various options when choosing to deploy containers in your organization but before we go there, I’ll briefly explain what containers are and why you should start thinking about them.
If we compare and contrast to virtual machines, VMs consist of a guest operating system that runs on top of a hypervisor. Containers offer a mechanism in which applications can be abstracted from this environment. This allows the application to be deployed easily and consistently. Coming from organizations where we had more than 6 environments, configuration drift can happen to the best of us and containers offer one easy way to eliminate the “It works on my machine” message that most IT professionals have heard throughout their career.
In addition to providing consistency, containers allow IT operation teams to focus on deployment without having to worry about specific software versions and configurations for each application. Each container shares the operating system kernel in read-only format with other containers. This results in a much more lightweight option than virtual machines. By eliminating the need to have multiple copies of an entire operating system running reduces the amount of CPU, memory, and storage thus allowing you to run more containers on a host than VMs.
As with any infrastructure decision, there are a number of factors to consider when deploying containers. You can take the DIY approach which gives you the performance advantage of running on bare-metal but presents the following disadvantages:
- Longer time to deploy
- Management overhead
- Lack of full stack support
- Must keep up with community
- Professional services may be needed
- Solution complexity
- Solution resiliency
Then there are converged and hyperconverged options. These solutions require you to run containers on top of the hypervisor which works great for virtualization but you don’t get the performance advantage of running your containers on bare-metal. I believe that Nutanix is the best platform for Hybrid Clouds and with the release of Karbon, you now have a simpler method of deploying, operating, and handling the lifecycle management of Kubernetes. Diamanti, however is targeted for those customers needing to run high transaction databases with aggressive performance requirements. Delivering 1M+ IOPs and consistent sub-100μs latency per node, wrapped with QoS across the performance tiers, your containers and applications will have guaranteed SLAs.
We have an upcoming performance/stress test with SQL server that will highlight the performance benefits of running your database on bare-metal Kubernetes on Diamanti vs other methods.
Here’s a screenshot of the achieved IO during one of our test loads:
And one of the dashboards showing Diamanti’s QoS features at work:
At Alturna-Tech, we have an entire practice around helping you with this journey to containers and micro services. Be on the lookout for more topics around container security and CI/CD integration in the future.