Kubernetes supports a number of different deployment strategies and choosing the right deployment procedure depends on your needs. I've put together a series of posts that describe how you can use each of those deployment strategies with TIBCO BusinessWorks Container Edition.
As a quick overview, the main deployment strategies are:
- Recreate: All existing Pods are killed and new Pods are created. The entire application is redeployed ? but requires downtime
- Ramped/Rolling Update: Release a new version, route traffic to it and terminate an existing version, then move on to the next instance. Removes any downtime whilst Pods are updated, but you have no control over traffic and you will need to ensure API compatibility across versions
- Blue/Green: Release a new version alongside the older version and then switch traffic. Avoids API compatibility issues, instance rollback but double the resources are required
- Canary: Release a new version to a subset of users. Quite easy to set up, but rollouts can be slower depending on how you manage traffic between Pods
- A/B: Similar to Canary, except that traffic is routed by specific conditions such as Header values. Requires the use of an intelligent load balancer
I split the posts into 5 parts to make it easier to follow, but I'd always suggest starting with Part 1, but you can then go to the most appropriate deployment strategy you want to employ with BWCE.
- Part 1: Initial Set up of Minikube and deployment of BusinessWorks Application
- Part 2: Using the Recreate Strategy
- Part 3: Using Rolling Update Strategy
- Part 4: Using the Blue/Green Update Strategy
- Part 5: Using the Canary Update Strategy
Each tutorial also has a short video of the strategy in action for you to watch and follow along.