Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mfateev
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
mfateev
6y ago
This is exactly the model Temporal provides. In languages that support await it is used. In languages like Java and Go normal blocking calls are used.
32.
▲
by
mfateev
6y ago
The main difference is that Temporal is using general-purpose programming languages to implement workflow code. This gives developers unlimited flexibility and doesn't require learning a new specialized language just to add resiliency
33.
▲
by
mfateev
6y ago
The short answer is that Temporal is a fork of Cadence by the original founders of the project. The Temporal fork also has a VC backed company behind it. The Temporal is still an open-source project under MIT License. We believe the success
34.
▲
by
mfateev
6y ago
Why not assuming that you can roll it back to any previous state any time later? Temporal supports such rollbacks.
35.
▲
by
mfateev
6y ago
I wish it were that simple :). A workflow is not just externally stored data with a well-defined schema. It is the computation's whole state, including threads blocked on API calls and local variables on the stack. So it is not possibl
36.
▲
by
mfateev
6y ago
I see your point. But so far we didn't hear many complaints about this feature from the users. The main problem is in forgetting to version code that changed. But the system has protections against such cases. It doesn't end up in
37.
▲
by
mfateev
6y ago
Your question is actually is pretty important as upgrading long running applications is indeed non trivial problem. The standard approach of versioning the whole workflow is OK for introducing new features but doesn't really support bu
38.
▲
by
mfateev
6y ago
Look at how Temporal represents workflows as code. It doesn't use any intermediate representation like DAG or state machine. It executes your code directly as a synchronous program with blocking operations taking as long as necessary
39.
▲
by
mfateev
6y ago
Thank you for all the support! Without the incredible community, the project wouldn't be where it is today.
40.
▲
by
mfateev
6y ago
IMHO the best of both worlds is Azure Durable Functions.
41.
▲
by
mfateev
6y ago
I'm original founder of Cadence project and now CEO of Temporal. AMA.
42.
▲
by
mfateev
6y ago
The visual interface for workflow definition is more hassle than benefit. The majority of such applications' complexity is not in the sequencing of operations but in state management, expressions, data manipulation, parameter passing,
43.
▲
by
mfateev
6y ago
Temporal is the fork of Cadence by the original creators.It is still open source under MIT license. I'm former creator and tech lead of Cadence and currently tech lead of Temporal.
44.
▲
by
mfateev
6y ago
Which bucket temporal.io and Azure Durable Functions that support `workflow as code` do fall into?
45.
▲
by
mfateev
6y ago
temporal.io is home of the Temporal Workflow project. It is not about temporal queries, but about writing resilient distributed application. The state is maintained in an event log and supports rollbacks, thus the name.
46.
▲
by
mfateev
6y ago
It is similar to the Amazon Simple Workflow as both founders of the Cadence and Temporal projects worked on the Simple Workflow. I actually was a tech lead of it. I cannot comment on why AWS made certain decisions as I left Amazon soon afte
47.
▲
by
mfateev
6y ago
In my opinion, there are two classes of workflow definition languages: domain-specific (DSL) and general-purpose. Configuration based languages are awesome for domain-specific use cases. For example, AWS Cloud Formation or HashiCorp Terrafo
48.
▲
by
mfateev
6y ago
I'm not sure how useful all these counts are. If the static analysis that you described was that important we would write most of the software in YAML instead of C/C++/Java/Go/Python, etc. Linux kernel in YAML would
49.
▲
by
mfateev
6y ago
Temporal is the Cadence fork by the founders of the project. You can think about it as a next generation of the project. The biggest difference is gRPC protocol and TLS support. Here is the stackoverflow answer with more info about the new
50.
▲
by
mfateev
6y ago
It is a workflow engine. So the actual work happens inside the activities. So from this point of view it is the same. The difference is that the orchestration code has the full power of a programming language including threads and OO techni
51.
▲
by
mfateev
6y ago
Look at my project temporal.io. It does the same thing using general purpose programming languages. Currently Java and Go are supported with Python, Ruby and C# under development. This is absolutely valid workflow code: public void e
52.
▲
by
mfateev
6y ago
Ruby, Python and .NET are being contributed by the community.
53.
▲
by
mfateev
6y ago
Look at temporal.io. Many of the companies use it to replace Airflow. Disclaimer: I'm tech lead of the project.
54.
▲
by
mfateev
6y ago
Look at temporal.io. It already implements the same idea, but without requiring a new programming language. You can write workflows in Python, Go and Java and soon many other languages. It doesn't even require await/async style pr
55.
▲
Building Reliable Workflows: Cadence as a Fallback for Event-Driven Processing
(doordash.engineering)
1 points
by
mfateev
6y ago
|
0 comments
56.
▲
by
mfateev
6y ago
Temporal/Cadence provide unit testing framework that automatically skips time when workflow is blocked. So you can unit test using standard language frameworks (like mockito) to inject all sort of failures. And the tests execute in mil
57.
▲
by
mfateev
6y ago
Temporal (Cadence) comes with Unit testing framework. The most interesting feature of it is ability to skip time automatically when workflow is blocked waiting for something. It allows testing long running workflows in milliseconds without
58.
▲
Big BPM Is Coming
(medium.com)
1 points
by
mfateev
6y ago
|
0 comments
59.
▲
by
mfateev
6y ago
I agree that Flow being POC had all the above issues. Temporal listened to the users and solved all of them: 1. No code generation. So, you define one interface for activities and use it for both calling activities synchronously from the wo
60.
▲
by
mfateev
6y ago
BPMN is not declarative. It is imperative. It doesn't say what should be achieved. It gives exact instruction what should be executed and in which order. And a big chunk of those instructions are not really visible in the diagram. For
More ›