nature 0.0.1

A FaaS platform implement
Documentation

Nature

Nature Help you to manage your data from a High Perspective. and automatic converting one data to another data incessantly, this will be continuing until all data assigned by you to be converted.

Sorry for the Nature word that named for this project. Nature means all things, surely this it can not do that, but I could not think out a suitable word for it. It can do all the topic's (Workflow, Message Queue, Stream, BPM, Map Reduce, Gateway, Distributed_System and Database) works which I list for this project.

Please do not think it too complicated. there are only few things be introduced in this project: data and relation between data. Just like atoms and there relations make up the complex world, in this project, data make up all your business. So I like the name Nature.

Important: this project is in a very early stage, it is far to mature.

A big question

This project covered a lot of fields, and each field have their own mature and good projects. why do I provide a new one?

No, this project only focus on one field: Data. I have no intention of compelling with other fields, it's just in these fields, let us to see it deeper.

Functions vs goals

Workflow, Message Queue, Stream, BPM, Map Reduce are function oriented, it may let business go, but when business grow very large, you may lost in functions, because function code-binding with the goal, it can hide goals(data) inadvertently. So the business system be unstable to try to close its vague goals.

Nature let you to plan your goals (data), it's clearly in there and not easily to be changed. nature "hide functions deliberately" for you to easy you work. So you will get a more stable business system.

Bottom-up management vs top-down management

Gateway, Distributed_System and Database are bottom-up management. They are technology oriented, there manage their own affairs in their own way, so it's hard to unify and simplify the management.

Nature let you declare the relation between goals and who can do transfer between the goals. This is all you need to do, other things nature will take it care.

  • Nature like a gateway: You don't care the data go where and how to go.
  • Nature like a distributed system: you don't care data availability and consistently.
  • Nature like a KV-database: you can query data you putted in and Nature itself transferred, and your data will never be lost and changed when they are written down.

So Nature let you manage your business on the Top perspective, Nature will take care of Route, Distribute,Store and other things. that will reduce administrative costs greatly.

What's in it for you

  • Nature isolates business defines (goals) and business implements (functions), that will reduce as many constrains as possible between them, and then reduce the communication costs greatly, let's elaborate on.
    • For managers:
      • No technology limitation but pure business, it make the thing is what it should be.
      • All you goals are clear, visible, accurate and in a uniform form, they are easy to be shown on your monitor, whether the bird taking the big picture or Insight into the details.
      • The most important thing is, you will never lost your target among a big system.
    • For developer:
      • development task is more easier: Nature manages the goals and schedule the services which connected to it, each service just need to achieve one goal, and need not to take care about data consistently and idempotently and store and other things.
      • easy to maintains: services is pluggable , developer need not to take care about the compatibility, Nature will do it for you.
      • Another most important thing is , Nature will speed up your development iterations.
  • More directly, Nature will save you time and money, bigger is cheaper.

Usage scenarios

Backend data process, that is asynchronized. I have a plan to handle data synchronized but not now.

Want to know more?

A concrete example

Concept

Architecture

Reference