Diamanti emerged from stealth last April with backing from some impressive investors, including Goldman Sachs, to announce a beta appliance designed to overcome new challenges posed by networking and storage I/O when scaling containers in production. One of the early use cases where the fast box really helps customers is with Continuous Integration/Continuous Deployment (CI/CD). A beta customer, MemSQL, turned to Diamanti as they dramatically scaled automated testing on their flagship product that Gartner recently named as the number one operational data warehouse. I spoke to Mark Balch, VP of Product Marketing at Diamanti, to learn more.
VMblog: Why is CI/CD becoming more important these days?
Mark Balch: CI/CD pipelines emphasize validating code with automated build and test processes, so that as new functionality is being developed, it is also being integrated and tested on the fly. It makes the cycles of shipping software much faster. But it also creates test automation requirements that are very CPU, memory, network, and storage-intensive.
VMblog: Tell me about the unique challenges of distributed applications in CI/CD.
Balch: Distributed computing is officially here. The scale of modern applications -- the number of users and data volumes they have to support -- changed the form factor of the application. Enterprise platforms and applications are now designed to run across multiple machines in clusters, rather than on the previous single server or monolithic stack. So if you are delivering software to enterprises, it needs to be evaluated across so-called "four corner" testing scenarios, stressing the many permutations of customer environments that can break software in production.
VMblog: At what point did MemSQL come to Diamanti?
Balch: I think they found themselves in this first generation of testing that required many thousands of unique tests to run daily, with millions of unique test cases and highly variable runtimes for the testing. All of these tests required terabytes of RAM and multiple cores, so you can imagine the scale you have to think about to test a platform like that. You can't just throw it onto a test platform, you have to build your own.
VMblog: And how did containers enter the equation?
Balch: After experimenting with a VM infrastructure, MemSQL discovered performance really took a hit. So they turned to containers. The container networking model is completely different than the traditional enterprise networking model, and delivering storage resources to many different containers is much different than configuring storage for monolithic applications. When you run thousands of containers, you need control over how those containers claim resources. With unit tests this becomes especially important, because some tests require a lot more resources than others, and some tests are short-running while others can take hours to complete. Diamanti solved this problem and that attracted MemSQL to our solution.
Once again, thanks to Mark Balch, VP of Product Marketing at Diamanti, for speaking to VMblog.com.