

Bloomberg L.P. is best known for the technology it reports on, but recent innovations in enterprise information technology have prompted the financial software and media organization to get its hands dirty, so to speak.
The company has open-sourced a new tool that allows system engineers to test and monitor their Kubernetes container orchestration systems.
Bloomberg described in a blog post Sunday how it has been using Kubernetes to manage the software containers that power many of its business applications. Software containers are popular because they allow developers to build their apps once, and run them on any platform or operating system without needing to change the code for each one. Kubernetes is the most popular software for managing those software containers.
Although these new technologies offer great benefits, they also have a tendency to break quite easily, Bloomberg said. As a result, systems engineers are forced to run all kinds of elaborate tests that simulate a variety of potential problems to ensure the infrastructure they’re using stays up and running. But with so many potential problems that could crop up, it simply isn’t possible to simulate every single one.
“When you have something so complex that it’s difficult to predict things, the only reasonable way to deal with that is to simulate the kinds of failure you’re expecting to see before they happen to you in production,” said Mikolaj Pawlikowski, a London-based software engineer with Bloomberg’s Data Technologies team.
To that end, Bloomberg decided to build a new testing system that works by causing problems with the Kubernetes infrastructure at random, in order to ensure that whatever issue crops up won’t disrupt its most critical apps.
Bloomberg’s new tool, called PowerfulSeal, is based on a program called ChaosMonkey that was first developed by Netflix Inc. as a way of ensuring its service wouldn’t go down in the event of a system failure. ChaosMonkey works by randomly terminating virtual machines running on Amazon Web Services Inc.
“It would take down nodes so that engineers could gain confidence the application would keep running anyway,” Pawlikowski said.
PowerfulSeal is designed to do the same thing for Kubernetes deployments, with its key advantage being that it’s able to describe the objects running in each container so that it knows precisely which things it needs to break for testing purposes. The tool can run autonomously, and also features an “interactive mode” for engineers to experiment and see how it behaves on their clusters and, over time, build their own testing policies.
Now that PowerfulSeal is up and running, Bloomberg has decided to let everyone benefit, making it open source with the code available on GitHub. PowerfulSeal currently works only with OpenStack, but Bloomberg is hoping that others can help to develop drivers for public cloud platforms such as Amazon Web Services, Microsoft Azure and Google Cloud Platform.
“I hope the community will help make this PowerfulSeal even more powerful,” Pawlikowski said.
THANK YOU