uWSGI.. Por quê? Quando? Onde?
                                Cícero Verneck Corrêa




domingo, 25 de novembro de 12
uwsgi - o protocolo




         •      Derivado do protocolo SCGI

         •      Representação binaria

         •      Tamanho do cabeçalho: 4 bytes




domingo, 25 de novembro de 12
Eu não posso usar esse protocolo
         mas quero usar os recursos



         •      HTTP

         •      FastCGI

         •      ZeroMQ




domingo, 25 de novembro de 12
uWSGI - application server container

         •      Escrito em C

         •      Cache

         •      RPC

         •      Gestão de Processos

         •      Implementação de cluster

         •      Plugins podem ser escritos em C/C++ e Objective-C

         •      Open Source (github.com/unbit/uwsgi)




domingo, 25 de novembro de 12
uWSGI - Suporte


                     Tecnologia   Versão     Status
                       Python      0.9.1     Estável
                         Lua       0.9.5     Estável
                        Perl       0.9.5     Estável
                        Ruby       0.9.7     Estável
                       Erlang      0.9.5     Estável
                        PHP         1.0      Estável
                     Mono(.net)    0.9.7   Inutilizável
                        JVM        0.9.7     Alpha
                        GO          1.4      Estável




domingo, 25 de novembro de 12
uWSGI - configuração



         •      Formatos: ini, json, xml, yaml, SQLite, LDAP, ENV, Linha de comando

         •      Variáveis mágicas

         •      Variáveis customizadas

         •      Configuração Logica

         •      Grande número de opções de configuração




domingo, 25 de novembro de 12
uWSGI - Variáveis mágicas

                                    app1.ini




domingo, 25 de novembro de 12
uWSGI - Variáveis mágicas

                                    app1.ini




domingo, 25 de novembro de 12
uWSGI - Variáveis customizadas




domingo, 25 de novembro de 12
uWSGI - Variáveis customizadas




domingo, 25 de novembro de 12
uWSGI - Configuração Logica




       for .. endfor
       if-dir / if-not-dir         declarações suportadas
       if-env / if-not-env
       if-exists / if-not-exists
       if-file / if-not-file
       if-option / if-not-option
       if-reload / if-not-reload


domingo, 25 de novembro de 12
uWSGI - Opções de Configuração
         •      socket
         •      processes
         •      master
         •      max-requests
         •      plugins
         •      logto
                                https://github.com/unbit/uwsgi-docs
         •      uid, gid
         •      virtualenv
         •      pythonpath
         •      idle
         •      emperor
         •      zerg



domingo, 25 de novembro de 12
Emperor
                                multi-app deployment




domingo, 25 de novembro de 12
Zerg
                                Escalabilidade




domingo, 25 de novembro de 12
Broodlord
                                Auto escalabilidade




domingo, 25 de novembro de 12
Broodlord
                                Auto escalabilidade




domingo, 25 de novembro de 12
APIs
                                decoradores, spool, cache, RPC, File, etc.




domingo, 25 de novembro de 12
APIs
                                decoradores, spool, cache, RPC, File, etc.




domingo, 25 de novembro de 12
Cache
                                Framework de cache




domingo, 25 de novembro de 12
uwsgitop




domingo, 25 de novembro de 12
Obrigado...

                                              cicero.verneck@studiosol.com.br

                                              github.com/CiceroComp

                                              @CiceroComp




domingo, 25 de novembro de 12

uWSGI.. Por quê? Quando? Onde? Como?

  • 1.
    uWSGI.. Por quê?Quando? Onde? Cícero Verneck Corrêa domingo, 25 de novembro de 12
  • 2.
    uwsgi - oprotocolo • Derivado do protocolo SCGI • Representação binaria • Tamanho do cabeçalho: 4 bytes domingo, 25 de novembro de 12
  • 3.
    Eu não possousar esse protocolo mas quero usar os recursos • HTTP • FastCGI • ZeroMQ domingo, 25 de novembro de 12
  • 4.
    uWSGI - applicationserver container • Escrito em C • Cache • RPC • Gestão de Processos • Implementação de cluster • Plugins podem ser escritos em C/C++ e Objective-C • Open Source (github.com/unbit/uwsgi) domingo, 25 de novembro de 12
  • 5.
    uWSGI - Suporte Tecnologia Versão Status Python 0.9.1 Estável Lua 0.9.5 Estável Perl 0.9.5 Estável Ruby 0.9.7 Estável Erlang 0.9.5 Estável PHP 1.0 Estável Mono(.net) 0.9.7 Inutilizável JVM 0.9.7 Alpha GO 1.4 Estável domingo, 25 de novembro de 12
  • 6.
    uWSGI - configuração • Formatos: ini, json, xml, yaml, SQLite, LDAP, ENV, Linha de comando • Variáveis mágicas • Variáveis customizadas • Configuração Logica • Grande número de opções de configuração domingo, 25 de novembro de 12
  • 7.
    uWSGI - Variáveismágicas app1.ini domingo, 25 de novembro de 12
  • 8.
    uWSGI - Variáveismágicas app1.ini domingo, 25 de novembro de 12
  • 9.
    uWSGI - Variáveiscustomizadas domingo, 25 de novembro de 12
  • 10.
    uWSGI - Variáveiscustomizadas domingo, 25 de novembro de 12
  • 11.
    uWSGI - ConfiguraçãoLogica for .. endfor if-dir / if-not-dir declarações suportadas if-env / if-not-env if-exists / if-not-exists if-file / if-not-file if-option / if-not-option if-reload / if-not-reload domingo, 25 de novembro de 12
  • 12.
    uWSGI - Opçõesde Configuração • socket • processes • master • max-requests • plugins • logto https://github.com/unbit/uwsgi-docs • uid, gid • virtualenv • pythonpath • idle • emperor • zerg domingo, 25 de novembro de 12
  • 13.
    Emperor multi-app deployment domingo, 25 de novembro de 12
  • 14.
    Zerg Escalabilidade domingo, 25 de novembro de 12
  • 15.
    Broodlord Auto escalabilidade domingo, 25 de novembro de 12
  • 16.
    Broodlord Auto escalabilidade domingo, 25 de novembro de 12
  • 17.
    APIs decoradores, spool, cache, RPC, File, etc. domingo, 25 de novembro de 12
  • 18.
    APIs decoradores, spool, cache, RPC, File, etc. domingo, 25 de novembro de 12
  • 19.
    Cache Framework de cache domingo, 25 de novembro de 12
  • 20.
  • 21.
    Obrigado... cicero.verneck@studiosol.com.br github.com/CiceroComp @CiceroComp domingo, 25 de novembro de 12