Yaws : Yet Another Web Server

Yaws : Yet Another Web Server

Yaws : Yet Another Web Server Xavier Van de Woestyne ~ @derniercriio (Lille |> Elixir) 3 WHOAMI I @vdwxv sur Twitter, @xvw sur Github ; I Erlang, OCaml, Elixir, Ruby etc. ; I Développeur à Dernier Cri ; I LilleFP. Qui a de l’expérience dans le tuning de BEAM et de OTP et du Lexer Erlang ? Figure 1: Ouf, moins de 4 personnes ! Sommaire Objectif Faire une brève présentation des outils Erlang ! Plan I Erlang et le web (Cowboy + blablabla) ; I présentation formelle de Yaws ; I applications structurées avec modernité et Appmode ; I et dans le futur ; I conclusion. “Erlang is the DSL for writing (web) servers” @pavlobaron I Concurrent ; I la VM peut transformer les interactions avec des sockets en envois de messages ; I gen_(...) et inets. On peut imaginer écrire un serveur en ~40 lignes de codes. Et comment tenir la montée en charge ? I gen_server I supervisor I application (pour la bogossitude) C’est tellement simple qu’il existe des milliers de serveurs (web) sur les internets ! I Elli ; I Cowboy ; I Yaws ; I MochiWeb ; I Misultin ; I ... Figure 2: aha Cowboy, le choix de Phoenix ! En vrai, Cowboy n’est pas un serveur HTTP(s) . I Bibliothèque Low-level ; I discutablement composable ; I très efficace ; I facile à prendre en main. C’était un choix qui s’inscrivait vraiment bien dans la vibe de Phoenix ! Les apports de Cowboy dans le monde Erlang I Une culture de la bibliothèque spécialisée ; I une véritable culture de l’usage des high-order-function (sans troll) ; I de l’agilité (facile à maintenir et tout) ! I Phoenix. Pendant ce temps là, en 2001, Yaws ! I @klacke (Claes Wikstrom) ; I 2001, des compétitions de Floorball ; I le web comme medium, hors de question d’utiliser PHP ! “I was absolutely struck with horror when I finally realized how horrible the LAMP stack was, and in particular the ugliness of the PHP language.” @Klacke (en 2001) Who is Klacke ? I ASN.1 Compiler (le king de 1988) ! Who is Klacke ? I ASN.1 Compiler (le king de 1988) ! I eprof Who is Klacke ? I ASN.1 Compiler (le king de 1988) ! I eprof I ets et dets Who is Klacke ? I ASN.1 Compiler (le king de 1988) ! I eprof I ets et dets I Mnesia Who is Klacke ? I ASN.1 Compiler (le king de 1988) ! I eprof I ets et dets I Mnesia I Erlang Bit Syntax Who is Klacke ? I ASN.1 Compiler (le king de 1988) ! I eprof I ets et dets I Mnesia I Erlang Bit Syntax I Erlang distribué Yet Another Web Server : I Un serveur embarqué ou stand-alone ; I Hyper stable et distribuable ! Perf (req/sec) I > Apache I > Nginx I > Cowboy Utilisateurs WhatsApp, Klarna entre autres. Yaws KESAKO I HTTP 1.1 I URL/#arg rewriting I SSL support I cookie/session support I munin stats I CGI and FCGI I forward and reverse proxies I file upload I WebDAV I small file caching I SOAP support I haXe support I ehtml and exhtml I virtual directories I configurable deflate I ACLs I precompressed static files • configurable MIME types I JSON and JSON-RPC 2.0 I WebSocket support I GET/POST chunked transfer I streaming I multipart/mime support I PHP handling via FCGI I server-side includes I heart integration I both autoconf and rebar builds I logging in Apache common format I virtual servers I man pages and LaTex/PDF docs I JIT-compiled - yaws pages I Server-Sent Events I appmods I yapps Appmod et Yapps I Arrêter de faire comme Apache ; I percevoir le framework comme une brique logicelle ; I avoir de belles URL’s. Bénéfices de Yaws I De la performance de OUF ; I le serveur du futur (sans troll, Ocsigen blahblah); I si vous avez envie de faire du HaXe ! Et pour Elixir ? I Un port de Yaws pour Elixir (et éventuellement Phoenix) ie: @Hyperaho ; I Elixir et Erlang sont Iso’s, pourquoi est-ce compliqué ? Conclusion I Les besoins réels, via Elixir, pour construire une API ? (Plug, Ecto) ; I self-contained applications ; I LE FUTUUUUUR ? Questions ? I Elixir et Yaws ? I Cowboy ? I OCaml :D.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    25 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us