lawebdev presentation - feb. 22, 2010

Upload: ari-lerner

Post on 30-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    1/48

    BeehiveImpressive application deployment

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    2/48

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    3/48

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    4/48

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    5/48

    Dynamic routing mesh

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    6/48

    beehive create

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    7/48

    PythonJava

    RubyRuby

    Ruby

    JavaJavaPython

    Python

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    8/48

    Ruby

    Java

    Python

    Python

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    9/48

    App

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    10/48

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    11/48

    App

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    12/48

    App

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    13/48

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    14/48

    AppApp

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    15/48

    AppApp

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    16/48Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    17/48

    App

    App

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    18/48

    App

    App

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    19/48

    App

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    20/48

    Storage layerInterface to storage backends, such

    as lesystems, s3, etc. that isresponsible for returning squashed

    versions of applications

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    21/48

    Storage layerInterface to storage backends, such

    as lesystems, s3, etc. that isresponsible for returning squashed

    versions of applications

    App

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    22/48

    Storage layerInterface to storage backends, such

    as lesystems, s3, etc. that isresponsible for returning squashed

    versions of applications

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    23/48

    Where is a compressedversion of myapp?

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    24/48

    BeesBackEnd Endpoints

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    25/48

    Image based applications

    Only the libs and binaries needed

    Customizable through hooks

    Templated application environment

    Bee

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    26/48

    Bee

    The applicationenvironment mounted as

    a .img lesystem as aloopback lesystem

    Image based applications

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    27/48

    Templated application environment

    Bee

    By looking at the application type,the bee can be created to match

    the application structure Application types often need

    different environments to run, sobees are created and distributablebased on their applications

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    28/48

    Templated application environment

    Bee

    By looking at the application type,the bee can be created to match

    the application structure Application types often need

    different environments to run, sobees are created and distributablebased on their applications

    RubyPython

    JavaPHP

    ErlangC/C++Whatever

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    29/48

    Only the libs and binaries needed

    Including only the necessarylibraries and binaries, the

    application image is kept smalland easily shipable container

    Bee

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    30/48

    Customizable through hooks

    Customize the entire processthrough hooks and overrides, i.e.:

    start.before: /bin/prepare_start.shstart: thin -R cong.ru startstart.after: notify_started

    Bee

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    31/48

    Image based applications

    Only the libs and binaries needed

    Customizable through hooks

    Templated application environment

    Bee

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    32/48

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    33/48

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    34/48

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    35/48

    Distributed databasehandles distributingthe shared state and

    shared knowledge of the system across the

    systemDi s t r i b

    u t e d D

    a t a b a s e

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    36/48

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    37/48

    P r o

    c e s sM

    an

    a g er

    Gi

    t s er v

    er

    Di s

    t r i b

    u t e d D

    a t a b a s e

    C l i en

    t g em

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    38/48

    WorkowHow to use the damn thing

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    39/48

    git pushdeploy (create/update)

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    40/48

    Continuous deployment

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    41/48

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    42/48

    Wanna play?Wanna help?

    Wanna help play?

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    43/48

    You canIts OPEN-SOURCE!

    Wednesday, February 24, 2010

    http://github.com/auser/poolpartyhttp://github.com/auser/poolparty
  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    44/48

    Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    45/48

    http://github.com/auser/beehive

    Wednesday, February 24, 2010

    http://github.com/auser/poolpartyhttp://github.com/auser/poolparty
  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    46/48

    Questions?Wednesday, February 24, 2010

  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    47/48

    Thank YouAri Lerner

    [email protected]

    Wednesday, February 24, 2010

    mailto:[email protected]:[email protected]
  • 8/14/2019 LaWebDev presentation - Feb. 22, 2010

    48/48

    http://github.com/auser

    irc://irc.freenode.net/#beehivetwitter: @auserawesomeness

    http://github.com/auser/poolpartyhttp://github.com/auser/poolpartyhttp://github.com/auser/poolpartyhttp://github.com/auser/poolpartyhttp://github.com/auser/poolpartyhttp://github.com/auser/poolpartyhttp://github.com/auser/poolpartyhttp://github.com/auser/poolparty