Home / Companies / Temporal / Blog / June 2023

June 2023 Summaries

7 posts from Temporal

Filter
Month: Year:
Post Summaries Back to Blog
This guide introduces key terms related to distributed systems and Temporal, a service and library that ensures code never gets stuck in failure at the application or platform level. Core concepts include concurrency, scalability, reliability, eventual consistency, strong consistency, CAP theorem, ACID properties, atomicity, isolation, durability, durable execution, idempotent function, deterministic function, platform, application, event sourcing, Temporal, Worker, Workflow, Activity, Query, Signal, retry, Cluster, and History. Understanding these terms can help you engage in conversations about distributed systems and Temporal with confidence.
Jun 29, 2023 1,300 words in the original blog post.
The monthly newsletter highlights key updates and events from Temporal, including the announcement of tickets on sale for Replay 2023, set to take place in Seattle from September 12-14, featuring speakers from companies like Datadog, Netflix, Microsoft, and AWS. The newsletter introduces new technology features, such as the public preview of Schedules and the release of Temporal for VS Code, alongside a series by Rob Holland on scaling clusters. Upcoming meetups in Seattle and Tel Aviv, as well as participation in EuroPython in Prague and We Are Developers in Berlin, are also featured. The newsletter promotes resources like the Temporal 101 with Java course and new documentation for setting up a Codec Server, and offers opportunities for technical onboarding, production optimization, and design review sessions via the Cloud website. Additionally, it emphasizes the importance of understanding request latency for Temporal Server performance and explores the Saga Design Pattern for distributed systems.
Jun 29, 2023 495 words in the original blog post.
Data Encryption in Temporal provides a higher level of data security compared to typical approaches by enabling users to encrypt their data using user-specific algorithms invoked in the Temporal SDK Data Converter without sharing encryption keys with Temporal. This means Temporal never has access to the algorithms or keys used to encrypt/decrypt user data, regardless of whether Temporal infrastructure is compromised by an attacker. To support this need, Temporal provides a pluggable Codec Server capability that affords users the opportunity to call their specific encryption/decryption algorithm in their local web browser or CLI without providing access to their encryption keys to Temporal. This allows users to view unencrypted data in the Temporal UI or CLI without creating a potential security risk since decryption occurs locally, on a user’s machine, not on Temporal’s servers. Administrators can now configure a Codec Server per Namespace, enabling different Codec Servers for different namespaces and providing a better experience for all Temporal users. Temporal continues to invest in Security and Compliance capabilities, including the recent announcement of Audit Logging, and is working on new authentication and authorization capabilities for Temporal Cloud.
Jun 27, 2023 679 words in the original blog post.
The Actor Model is a design pattern that assumes everything is an actor, capable of sending and receiving messages, creating new actors, and maintaining state. Temporal Workflows can be implemented as Actors by using Signals to send messages between them and utilizing the Update feature to return responses. Creating child workflows within a parent workflow allows for the creation of new actors. To build a Workflow that can practically run forever, it's essential to consider issues like Signal and Update loss, ensuring pending signals are handled before continuing as new, and implementing Continue-As-New to restart with a clean event history. Temporal Workflows can be designed to function as Actors by carefully managing message exchange, child workflows, and the use of Continue-As-New to maintain their state.
Jun 27, 2023 2,775 words in the original blog post.
The Temporal 101 with Java course has been released, offering developers an opportunity to learn the fundamentals of Temporal using Java. This free, online, self-paced course is designed for beginners and includes code examples and hands-on exercises that are accessible even for those with minimal Java experience. The course covers the same fundamental concepts as previous 101 courses but uses the Java SDK. Registration is required to save progress and verify completions. The course consists of written content, videos, assessments, and hands-on exercises, taking approximately two hours to complete. A certificate of completion will be provided upon successful course completion. No software downloads are needed as a browser-based exercise environment is provided through GitPod. Developers who have already taken 101 in Go or TypeScript may still benefit from the Java course by strengthening their understanding of core Temporal components and learning about specific features of the Java SDK. The Temporal Education Updates mailing list can be joined to stay updated on new courses, including upcoming versions in TypeScript and Java for Temporal 102.
Jun 16, 2023 612 words in the original blog post.
When deploying a self-hosted Temporal Server on Kubernetes, request latency can be an important performance indicator. To achieve reliably low request latencies, it's essential to monitor and optimize CPU usage, as excessive throttling or limits can lead to increased latency. One effective strategy is to set the GOMAXPROCS environment variable to match the number of available cores, allowing Go to make better decisions about concurrent processing. Additionally, disabling CPU limits altogether and using dedicated nodes with taints and tolerations can help reduce latency spikes during deployment rollouts. By following these tips, users can improve the performance and reliability of their Temporal Cluster while saving resources.
Jun 13, 2023 1,772 words in the original blog post.
The author built an internal tool that syncs a GitHub org's list of repositories with a Notion database, allowing team tracking and role management. The tool fetches data from the GitHub API and updates the Notion database using TypeScript code. It runs daily at 6am on a schedule that is reliable due to Temporal Schedules, which ensures continuous execution even in case of machine failure or other issues. The tool has two main purposes: tracking team ownership and role assignments for each repository, making it easier to view and manage this information in one place.
Jun 06, 2023 608 words in the original blog post.