Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mfateev
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
mfateev
4d ago
Fun fact: The first-ever Durable Execution POC at AWS Simple Workflow used snapshots. The workflow was implemented as a fully asynchronous Java application, and a snapshot was a dump of the whole object graph using reflection. Performance w
2.
▲
by
mfateev
9mo ago
That sounds like an excellent use for narrow boring company tunnels.
3.
▲
by
mfateev
2y ago
I don't believe in visual programming ever replacing code for general programming. However, many examples exist when visual programs work for narrow domain-specific applications. This works because such applications allow exposing only
4.
▲
by
mfateev
3y ago
Do you know about the Temporal startup program? It gives enough credits to offset support fees for 2 years. https://temporal.io/startup
5.
▲
by
mfateev
3y ago
Every step of the workflow is durably recorded. So you have the full information about the exact state of each workflow. To troubleshoot, you can even download the event history and replay workflow in a debugger as many times as needed. The
6.
▲
by
mfateev
3y ago
temporal.io just released .NET SDK. The observability and scalability of the platform is really good. Disclaimer: I'm one of the founders of the project.
7.
▲
by
mfateev
3y ago
Check out temporal.io. It has support for schedules as well.
8.
▲
by
mfateev
3y ago
Check out temporal.io that fully abstract this. Disclaimer, I'm one of the founders.
9.
▲
by
mfateev
4y ago
State machines are useful when the same input/event requires different handling based on the current state. There are not that many applications when this is true. Most of the time only two handlers in each state are needed, success an
10.
▲
Building Reliable Distributed Systems in Node.js
(temporal.io)
45 points
by
mfateev
4y ago
|
17 comments
11.
▲
by
mfateev
4y ago
Yes, Temporal workflows are as dynamic as needed. The other useful pattern is always running workflows that can be used to model lifecycle of various entities. For example you can have an always running workflow per customer which would man
12.
▲
by
mfateev
5y ago
The main difference is that workflows are written as code in a general purpose programming language. Java, Go, Javascript/Typescript and PHP are already supported. Python and .NET are under development. AWS Step Functions are using JSO
13.
▲
by
mfateev
5y ago
Look at the temporal.io. It is essentially a BPM system that uses Go (as well as Java/PHP/Typescript) to specify business process. And a queue + DB is never simpler for such scenarios. Disclaimer: I'm one of the founders of t
14.
▲
by
mfateev
5y ago
I think we are in agreement here. Temporal does exactly what you described. It uses queues to transporting tasks to processes. But it completely hides them from the business process code. The issue is that 99.9% of developers use queues dir
15.
▲
by
mfateev
5y ago
I think queues are the wrong abstraction to model business processes. That's why a trivial issue like a non recoverable failure during processing a message becomes such a headache. The same goes for ordering. An orchestrator like temp
16.
▲
by
mfateev
5y ago
temporal.io provides much higher level abstraction for building asynchronous microservices. It allows one to model async invocations as synchronous blocking calls of any duration (months for example). And the state updates and queueing are
17.
▲
by
mfateev
5y ago
A lot of startups these days support early exercise or extend the post termination exercise period from 90 days to much longer period like 10 years. So there is no need to stay with the company for 5-10 years after your options vested. The
18.
▲
by
mfateev
5y ago
Temporal takes much simpler approach to updating code while a program is running. For any code update, it keeps both old and the new version of the code. Then it uses the old code to replay already recorded events which allows to reconstruc
19.
▲
by
mfateev
5y ago
Google is mimicking perforce command line. The backend is 100% proprietary. Microsoft is based on Git, but with a lot of engineering on top of it: https://devblogs.microsoft.com/bharry/scaling-git-and-some-b...
20.
▲
by
mfateev
5y ago
AWS DynamoDB is multi-AZ and is strongly consistent (at least for a single key update). I believe you confused it with a Dynamo DB described in a paper Amazon published long ago. AWS DynamoDB has nothing to do with a eventually consistent d
21.
▲
by
mfateev
6y ago
> I also used to use Microsoft's Windows Workflow Foundation to do similar things. Essentially you're sketching a workflow process skeleton and then managing the state atomically by compartmentalizing it, so to speak. temporal.
22.
▲
by
mfateev
6y ago
I'm one of the original creators of temporal.io open source project. Long time ago I worked with an internal Amazon workflow engine that was based on Petri nets. It worked, but I learned that for the majority of the business level work
23.
▲
by
mfateev
6y ago
temporal.io
24.
▲
by
mfateev
6y ago
Great, show me a single product (besides AWS SWF and Azure durable Task Framework) that has the programming model of Temporal. For example, which product allows to write production code like this that survives any process failures: publ
25.
▲
by
mfateev
6y ago
temporal.io supports task heartbeating. An application specific data can be attached to each heartbeat. The data is accessible from outside to display the progress in the UI for example. The data from the last heartbeat is also available to
26.
▲
by
mfateev
6y ago
Did you click on temporal.io? It is hard to describe as it is a new way to build distributed applications that doesn't have a commonly agreed name yet.
27.
▲
by
mfateev
6y ago
Because it is a hard problem to solve holistically. It looks simple on the surface. So almost any company ends up creating an implementation similar to the one described in the article. Then it learns that it is much harder than looks, but
28.
▲
by
mfateev
6y ago
It is not Go specific. It already supports both Go, Java and Ruby. temporal.io our fork of Cadence will have PHP support very soon. Support for other languages is coming. Python and Typescript are the highest priority.
29.
▲
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.
30.
▲
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
More ›