Staff Engineer, Platform Engineering at Twitter
Performance tuning of microservices in the data center is hard because of the multitude of available knobs, the large number of microservices and variation in work loads, all of which combine to make the problem combinatorially intractable. Maintaining optimal performance in the face of continuous upgrades to the service and platform software and hardware makes the problem even harder. As a result, lots of performance is typically left on the table and data center resources wasted. We share our recent experiences in applying Bayesian optimization based machine learning to the performance tuning problem. We share some pitfalls and lessons from our project so far. We outline our vision of building a continuous optimization service for microservices in the data center.