LYME y LYCE son pilas de software compuestas enteramente de software gratuito y de código abierto para crear páginas web dinámicas de alta disponibilidad y resistentes . Las pilas se componen de:
Los paquetes LYME y LYCE se pueden combinar con muchos otros paquetes de software gratuitos y de código abierto, como por ejemplo netsniff-ng para pruebas y refuerzo de seguridad, Snort , un sistema de detección de intrusiones (IDS) y prevención de intrusiones (IPS), RRDtool para diagramas, o Nagios , Collectd o Cacti , para monitoreo.
Tanto las bases de datos Mnesia y CouchDB como Yaws (y también Mochiweb, Misultin y Cowboy) están escritas en Erlang , por lo que las aplicaciones web desarrolladas para LYME/LYCE pueden ejecutarse completamente en una máquina virtual Erlang . Esto contrasta con LAMP, donde el servidor web ( Apache ) y la aplicación (escrita en PHP , Perl o Python ) pueden estar en el mismo proceso , pero la base de datos es siempre un proceso separado. Como resultado del uso de Erlang, las aplicaciones LYME y LYCE funcionan bien bajo cargas elevadas [1] y si se necesita distribución y tolerancia a fallas. [2]
El lenguaje de consulta y manipulación de datos de Mnesia también es Erlang (en lugar de SQL ), por lo que se desarrolla una aplicación web para LYME utilizando un único lenguaje de programación.
El interés en LYME como pila había comenzado en agosto de 2005, [3] y pronto se citó como una plataforma de aplicaciones web de alto rendimiento que utilizaba un único lenguaje de desarrollo en todo momento. Pronto aparecieron comparaciones favorables con otras pilas populares como Ruby on Rails . Las comparaciones con LAMP también han sido favorables, [ cita necesaria ] aunque algunos [4] han destacado las dificultades de trasladar el "pensamiento SQL" al contexto muy diferente de Mnesia.
Un usuario exitoso de LYME es la empresa sueca de procesamiento de pagos por Internet Klarna , que ha construido toda su arquitectura en LYME. Este se considera un proyecto exitoso que demuestra las virtudes tanto de LYME como de la programación funcional en general. [5] LYME también se cubrió en la sesión de Erlang [4] en Software Practice Advancement (SPA) 2008. [6]
Además de Yaws, existen otros servidores web escritos en Erlang, por ejemplo, Mochiweb, Misultin y Cowboy.
Además de Mnesia y CouchDB, hay un par de otras bases de datos escritas en Erlang, por ejemplo, Cloudant , Couchbase Server (nacido como Membase), un sistema de gestión de bases de datos optimizado para almacenar datos detrás de aplicaciones web interactivas, Riak y SimpleDB (parte de Amazon Web Services). [7] ).