Bluebird: High-performance SDN for Bare-metal Cloud Services
- Manikandan Arumugam ,
- Deepak Bansal ,
- Navdeep Bhatia ,
- James Boerner ,
- Simon Capper ,
- Changhoon Kim ,
- Sarah McClure ,
- Neeraj Motwani ,
- Ranga Narasimhan ,
- Urvish Panchal ,
- Tommaso Pimpo ,
- Ariff Premji ,
- Pranjal Shrivastava ,
- Rishabh Tewari
The bare-metal cloud service is a type of IaaS (Infrastructure as a Service) that offers dedicated server hardware to customers along with access to other shared infrastructure in the cloud, including network and storage.
This paper presents our experiences in designing, implementing, and deploying Bluebird, the high-performance network virtualization system for the bare-metal cloud service on Azure. Bluebird’s data plane is built using high-performance programmable switch ASICs. This design allows us to ensure the high performance, scale, and custom forwarding capabilities necessary for network virtualization on Azure. Bluebird employs a few well-established technical principles in the control plane that ensure scalability and high availability, including route caching, device abstraction, and architectural decoupling of switch-local agents from a remote controller.
The Bluebird system has been running on Azure for more than two years. During this time, it has served thousands of bare-metal tenant nodes and delivered full line-rate NIC speed of bare-metal servers of up to 100Gb/s while ensuring less than 1µs of maximum latency at each Bluebird-enabled SDN switch. We share our experiences of running bare-metal services on Azure, along with the P4 data plane program used in the Bluebird-enabled switches.