Best practices for A/B deployment and versioning

Hi, What are some of the recommended ways to implement a/b deployment and api versionining? Thanks