Today we’ve made four new hands-on training courses available. Each of these courses covers the same topic—Versioning—using a specific SDK:
- Versioning Workflows with Go
- Versioning Workflows with Java
- Versioning Workflows with Python
- Versioning Workflows with TypeScript
Why Should I Learn Versioning?
Versioning is an essential skill for Temporal application developers to learn, especially as they near the production deployment of their first application. Versioning allows you to successfully make changes to your application code, even when Workflow Executions that were started with the original code are still running when you deploy the updated code.
By completing one of these training courses, you'll learn when Versioning is necessary and practice applying it using your favorite SDK.
What Do These Courses Cover?
We had three main goals in mind when designing these courses.
Explaining when and why you need to use Versioning
Building on the coverage of determinism from our Temporal 102: Exploring Durable Execution course, we begin by explaining how a modification to your application can result in errors after deployment. During the hands-on exercise in this course, you’ll experience it firsthand by introducing an incompatible change, deploying it, and then observing a non-deterministic error that prevents your Workflow from making progress. You’ll then use Versioning to correct the problem by preserving both the old and new execution paths in your Workflow Definition.
Exploring two techniques for Versioning in Temporal
These courses cover multiple approaches to Versioning in Temporal: Workflow Type Versioning and the GetVersion / Patching APIs. It explains how they work and how to use them when developing and deploying your applications.
Comparing and contrasting these techniques
The courses summarize the advantages and disadvantages of each approach, helping you to understand which one is most appropriate for a given situation.
Who Should Take this Course?
This course is appropriate for any Temporal application developer who understands how Temporal uses History Replay to achieve durable execution. Since that topic is covered in Temporal 102: Exploring Durable Execution, we recommend that you first complete that course (for your selected SDK) before you begin one of our Versioning courses.
If you’re ready to learn Versioning, just follow one of the links below and begin your free hands-on training:
- Versioning Workflows with Go
- Versioning Workflows with Java
- Versioning Workflows with Python
- Versioning Workflows with TypeScript
A note for those already enrolled in Temporal 102 with Go: Exploring Durable Execution
The original release of this course contained a chapter on Versioning. Since this content has now been moved to the new Versioning Workflows with Go course, we have now published a new revision of Temporal 102 with Go that eliminates the duplication. All new enrollments will use the latest revision of Temporal 102, but to ease the transition for those currently working through the course, anyone already enrolled will have access to the older revision through May 1, 2024.
What’s Next for Temporal Training?
Last year, the Education team followed up the original Temporal 101: Introducing the Temporal Platform course in Go by releasing versions of this course that covered our Java, TypeScript, and Python SDKs. We also released Temporal 102: Exploring Durable Execution for Go, TypeScript, Java, and Python, as well as our Introduction to Temporal Cloud training.
You can expect us to continue delivering new hands-on training courses in 2024. And, if you attend Replay, be sure not to miss out on Wednesday, September 18. That’s when members of our Education team and our partner Bitovi will deliver 14 of these courses live—we invite you to participate!