We caught up with Christian Posta who is the chief architect for cloud development at Red Hat, at OSCON to chat about the next big problem Kubernetes adopters will face once they’ve gotten their systems containerized. That problem is traffic management, and the Istio Project, which should hit version 1.0 before the end of this week, is the planned system for handling it all.
“The context of traffic management is really more about doing deployments and reducing the risk of bringing code changes to production. I’ve worked for big banks, I’ve worked for big companies where we would release code once a quarter. Every three months we’d have everyone come in Friday night, stay until Sunday night and do a big bang release of everything. We would take a new version of the code, push it to production, and it would be live,” said Posta.
“The issue with that is that you can do all the testing you want beforehand and be fairly confident about the code you’re trying to release, but when you actually put it into production, it runs into some kind of issue because you don’t actually know how to code is going to behave in production,” said Posta.
To this, Posta suggested that there is infrastructure needed to help handle these issues in production, and to minimize them. “You want monitoring, you want logging, you want diagnostics in place to be able to understand what’s going on, but ideally you want to figure that out before it’s impacting customers. The traffic management is really about decoupling a deployment from a release — Giving those new definitions. So a deployment: you have your new code, your new version, you bring it to production, but it doesn’t take any customer traffic yet. You’re able to do smoke tests and internal tests and all this stuff and live in production,” said Posta.
“Now, when you do a release,” he went on, “You’re trying to figure out what traffic are we going to bring to this new version of code. That’s where, if you have the ability to control the traffic to a very fine level — what requests are these? Are these requests coming from our employees or non-paying customers, or gold-level customers? We want to be able to segment and control and gradually roll out those new code changes. For example, we might want to internal employees to see the new code first, and we’re going to use them as guinea pigs first,” said Posta.
He went on to detail numerous ways having that type of control can help reduce the risk associated with making changes in production.
In this Edition:
0:41: Can you lay out the context of traffic management?
3:51: How do you decouple deployments and production?
8:09: What are some of the new complexities this surfaces?
10:43: How are you managing this type of system internally as a team?
12:00: How are you helping developer teams manage this so they can have better observability?
13:38: What are some of the practices that the community is developing to help newer users be able to adopt Istio quickly?
Red Hat is a sponsor of The New Stack.