Friday 2:35 p.m.–3:05 p.m.
Smart services & smart clients: How micro-services change the way you build and deploy code.
- Audience level:
- Best Practices & Patterns
At Runscope we've standardized the idea of small independent "smart" services that can be quickly built, deployed, and scaled. This talk examines lessons learned from writing these services as well as patterns found in other platforms. We present a detailed look at the code that allow us to build dozens of services, serving billions of requests, while deploying to our cluster over 20 times a day.
From day one, the Runscope architecture was built around the idea of small independent services that can be quickly written, deployed, and scaled up as we grow. Core to this architecture are our service discovery and deploy tools. Over time, we've standardized how we build and communicate with these services into two python libraries: Smart-Service and Smart-Client. This talk examines the lessons learned from building these libraries as well as service building patterns found in other platforms. We also present a detailed look at how Runscope has built over two dozen services, serving over 1 billion requests a month, all while deploying to our cluster over 20 times a day -- and more importantly how you can replicate this to help you build better systems. The talk will show examples of Flask/Flask-Restful based servers and the important modifications we've made to help us operate dozens of services at scale. We also will show code from our HTTP client that wraps Requests with service discovery, failover, and other useful features for reliably making API calls in our infrastructure.