### A Successful API is More Than The Sum of its Parts

I recently spoke at [QConSF](https://qconsf.com/) on the topic of “Using Microservices to Build an API That Lasts”. This conference had several excellent sessions and speakers that get into the technical details you need to know about microservices. There is also lots of great information – books and blogs – on the languages and tools you need to build and run your microservices. But a successful API is more than the sum of its parts. So while I do mention some technology, I go beyond that and touch on important product and process considerations. In the talk, I walk you through some strategies we use at SparkPost to continuously evolve our API even as we go through rapid growth and adoption. I hope some of these may be useful in your own API development.

### Using Microservices to Build an API That Lasts

<iframe src="https://www.youtube.com/embed/9PcL0bjeLmM?feature=oembed"></iframe>

This talk covers several topics including:

- REST Is Best: Be Practical not Pedantic
- API Versioning
- API First
- Documentation as Code & Documentation First
- Separating Deployment from Release
- Breaking Changes Bad! API Versioning Good!
- When are breaking changes OK?
- Client Libraries
- Listen and Respond to the Developer Community

And if you’re interested, we’ve included the slides from my talk below as well.

Enjoy!

\-Chris McFadden, VP Engineering

### Slides from QConSF

<iframe src="https://www.slideshare.net/slideshow/embed_code/key/CKsIst5K4PE69l"></iframe>

**[Using Microservices to  Build an API That Lasts](https://www.slideshare.net/SparkPost/using-microservices-to-build-an-api-that-lasts "Using Microservices to  Build an API That Lasts")** from **[SparkPost](https://www.slideshare.net/SparkPost)**

If you’re interested in microservices or devops topics, be sure to check out these other blogs as well:

- [RESTful API Versioning Best Practices: Why v1 is #1](https://www.sparkpost.com/blog/api-versioning-best-practices/)
- [Our DevOps Journey: Achieving Continuous Delivery and Improvement](https://www.sparkpost.com/blog/continuous-delivery-deployment-2/)
- [Our DevOps Journey: Focusing on Deployment Automation](https://www.sparkpost.com/blog/devops-journey-deployment-automation/)
- [Configuration Management and Provisioning in AWS with CloudFormation, Ansible, and Puppet](https://www.sparkpost.com/blog/configuration-management-and-provisioning/)

We’re always open to new ideas and feedback, drop us a line on [Twitter](http://twitter.com/sparkpost) or in our [Community Slack](http://slack.sparkpost.com) if you’ve got questions.