stateful services, microservices inside, simple and available Elixir additions ? Syntax ? really ? Macros ? `parse_transform` Tools ? Erlang ecosystem is more mature and stable Feedback : productivity, flexibility, the whole experience This presentation is a feeback
a cart with mall shops products and buy them, then organize pick up or delivery. Backend Magic: construct data set from nothing, or very bad inputs Backend magic: handle heterogeneous processes, connect retailer software, synchronize teams
Merge / Join Heterogeneous providers Local micro services Heterogeneous order workflows Transactional order changes Connect non technical partners APIfy websites and emails UI == eternal nightmare Small team == well partitioned jobs
the chaos) HTTP DSL: Ewebmachine Data Mashup: ADAP Service Aggregation: EXOS/node_erlastic/python_erlastic/clojure_erlastic Mail destructuring/structuring: Mailibex State Distribution: Supervisorring FSM definition: ExFSM Rules as matches: ExRules Dev env: neovim-elixir
and models (350LOC) Order adapter for incomplete order (70LOC) FSM Selector rules (20LOC) Processes specification as FSM (500LOC) Service clients/adapters : clojure/python/http (500LOC)
Our new approach, Elixir to pipe them all Distribute multi-language services and state : image caches / RDBS / machine learning models on dedicated nodes Query your entire dataset to create a new one Stream data entities accross the cluster hoping from one node to another when remote data is needed Data sink node will reorder and join entities with a buffer queue Augmentation rules (1000LOC)