If you are orchestrating microservices, use queues, webhooks, cron jobs, run periodic processes, distribute work or elect leader, call lambda functions, have background processes... you are most likely implementing a workflow in disguise. Explore the concept that nearly all non-trivial code can be viewed as a workflow. This talk introduces Temporal, an open-source workflow orchestration platform, which allows developers to write workflows as if their servers were running indefinitely.
Examine Temporal's ability to facilitate workflows that span extended periods, from milliseconds to years, without compromising reliability. The presentation will highlight Temporal's built-in features for resiliency, automatic retries, and load balancing, which significantly reduce the complexity of distributed system development.
This technical presentation aims to demonstrate how Temporal's approach to workflow management can significantly enhance the reliability and scalability of distributed systems, while also addressing the practical considerations of its implementation.
sendRegistrationLink(user);
sleep(86400);
if(!isRegistered(user)) {
sendReminderLink(user);
}
Demo time01
sleep takes resourcesMeet Temporal workflow engine
*Do not confuse with JavaScript Temporal API
Demo time02
Demo time
Polls the server. Does the work
for(user of getPayingUsers()) {
const invoice = prepareInvoice(user);
const url = storeOnS3(invoice);
sendEmail(user.email, url);
}
Demo time03
There's no magic, just leaky abstractions
new Date() and Math.random() are monkey-patched!
Impressive... And scary. But impressive!
nurkiewicz.com, @[email protected]