{"__v":1,"_id":"58f5ec48cf6b642300b14029","api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"body":"Lasp is composed of a group of Erlang libraries, that work together, to provide services for the development of planetary scale applications.\n\nThis 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.\n[block:api-header]\n{\n  \"title\": \"Libraries\"\n}\n[/block]\n### Main\n* [lasp](https://github.com/lasp-lang/lasp) provides the entire Lasp programming system\n\n### Core\n* [lasp_pg](https://github.com/lasp-lang/lasp_pg) provides an eventually consistent process registry\n\n### Distribution\n* [partisan](https://github.com/lasp-lang/partisan) provides a replacement for distributed Erlang that provides configurable topologies depending on your application needs;\n* [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; \n* [ishikawa](https://github.com/lasp-lang/ishikawa) provides tagged reliable causal broadcast support for partisan\n\n### Data Structures\n* [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\n\n### Deployment \n* [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\n[block:api-header]\n{\n  \"title\": \"Adoption\"\n}\n[/block]\nLasp 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).\n[block:api-header]\n{\n  \"title\": \"Architecture Diagram of the Lasp Programming System\"\n}\n[/block]\nEach 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).\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/ba9c077-Architecture_Diagram.png\",\n        \"Architecture Diagram.png\",\n        864,\n        648,\n        \"#c5c5c5\"\n      ]\n    }\n  ]\n}\n[/block]","category":"58f5eaa74c413f19007a2858","createdAt":"2017-04-18T10:36:56.340Z","excerpt":"How does Lasp provide support for planetary scale applications?","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"5612c2a00fbdb60d00e4c7d1","slug":"what-is-the-lasp-suite","sync_unique":"","title":"Planetary Scale Applications","type":"basic","updates":["58f6687452927c0f00cc2116"],"user":"5612c290c0731b0d00625078","version":"5612c2a00fbdb60d00e4c7d4","childrenPages":[]}

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]