Skip to content

Instantly share code, notes, and snippets.

@ryan-mars
Created March 21, 2021 04:00
Show Gist options
  • Save ryan-mars/5c178226143a7e0586623c3f61c09c43 to your computer and use it in GitHub Desktop.
Save ryan-mars/5c178226143a7e0586623c3f61c09c43 to your computer and use it in GitHub Desktop.
Thoughts on the design of Fractal

What are the fundamental "primatives" of cloud native applications?

  • Distributed hash table (Dynamo)
  • Full text search (Elastic Search)
  • Large object storage
    • Write at once, or append only (S3)
    • Read-write at byte resolution (EFS)
  • Function - short duration, batch?, discrete?, pure function? (Lambda)
  • Function - indefinite duration, reentrant (Fargate)
  • Queue - records stand alone, matter more in relation to data outside the queue, think of a queue of tasks (SQS)
  • Stream - records have more value in relation to each other (Kinesis, MQTT, WebSockets?)
  • Window - ephemeral aggregation of temporal data (Timestream, Kinesis data analytics)
  • Data pipeline - aggregation of data into any durable store (any sort of ETL, Glue, EMR)
  • Multi-dimensional data store (any star schema database, Redshift)
  • State machine
    • Short duration (Step functions)
    • Indefinite duration (persisted in a database)
  • API / Service interface
    • Stitching many interfaces together (GraphQL)
    • HTTP/REST (API GW)
    • Websockets
    • MQTT
    • ?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment