Edit this Page Suggest Edits Planetary Scale Applications How does Lasp provide support for planetary scale applications?

Lasp is composed of a group of Erlang libraries, that work together, to provide services for the development of planetary scale applications. This is achieved through a set of components that have been designed to work together to provide a comprehensive solution for future Elixir and Erlang applications: large-scale, and geo-distributed. These components, provided as libraries, provide a cohesive solution, that can be used independently; each library is focused on solving a particular problem, composes easily with the other, and provides developer support for easing the development of these applications. [block:api-header] { "title": "Libraries" } [/block] ### Main * [lasp](https://github.com/lasp-lang/lasp) provides the entire Lasp programming system ### Core * [lasp_pg](https://github.com/lasp-lang/lasp_pg) provides an eventually consistent process registry ### Distribution * [partisan](https://github.com/lasp-lang/partisan) provides a replacement for distributed Erlang that provides configurable topologies depending on your application needs; * [plumtree](https://github.com/lasp-lang/plumtree) provides a fork of Basho's Plumtree library for optimizing overlay networks using spanning trees which are maintained decentrally and adapted to operate with partisan; * [ishikawa](https://github.com/lasp-lang/ishikawa) provides tagged reliable causal broadcast support for partisan ### Data Structures * [types](https://github.com/lasp-lang/types) provides a reference implementations of both operation-based, state-based, and delta-based Conflict-free Replicated Data Types ### Deployment * [sprinter](https://github.com/lasp-lang/sprinter) provides service discovery layer for operating Lasp components on both Mesosphere's DC/OS and Google's Kubernetes [block:api-header] { "title": "Adoption" } [/block] Lasp is used as part of the underlying infrastructure for Space-Time Insights's adaptation of Microsoft Orleans in Erlang, [erleans](https://github.com/GOFactory/erleans). [block:api-header] { "title": "Architecture Diagram of the Lasp Programming System" } [/block] Each of these libraries can be used independently, or optionally, as part of a deployment of the entire system. Here's one possible, and the default configuration, provided out of the box when you install the [entire suite](https://github.com/lasp-lang/lasp). [block:image] { "images": [ { "image": [ "https://files.readme.io/ba9c077-Architecture_Diagram.png", "Architecture Diagram.png", 864, 648, "#c5c5c5" ] } ] } [/block]