Inside Sqale's Backend at Sapporo Ruby Kaigi 2012

Gosuke Miyashita
Gosuke MiyashitaSoftware Engineer
Inside Sqale’s Backend
   Sapporo Ruby Kaigi 2012
      Gosuke Miyashita
      paperboy&co. Inc.
A little bit about me
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Technical Manager
        at
  paperboy&co.
https://github.com/mizzy
    http://mizzy.org/
      @gosukenator
Inside Sqale’s Backend
http://www.facebook.com/sqalejp
WARNING
There are little topics
about Ruby in this talk
What is Sqale?
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Cloud Application
Platform like Heroku
Architecture Overview
SFTP
       Git over SSH         HTTP/HTTPS
AWS    SSH


                             Web Proxy
      SSH Router
                            to Containers
     File             Deploy
                                 Containers
  Repositories        Servers
Containers
SFTP
       Git over SSH         HTTP/HTTPS
AWS    SSH


                             Web Proxy
      SSH Router
                            to Containers
     File             Deploy
                                 Containers
  Repositories        Servers
Virtual Environments
  Assigned To Users
Similar to Dynos of
      Heroku
Containers made by
LXC (Linux Containers)
EC2 Instance (1 Virtual Machine)
Container   Container   Container   Container   Container
   for         for         for         for         for
 user A      user A      user B      user B      user B



Container   Container   Container   Container   Container
   for         for         for         for         for
 user C      user D      user D      user E      user E



Container   Container   Container   Container   Container
   for         for         for         for         for
 user E       user F      user F      user F      user F
Nginx
     Unicorn
      sshd
   supervisrod
on each container
Amazon Linux
          +
Patched kernel(3.2.16)
grsecurity kernel patch
for various restrictions
original kernel patches
  to restrict tcp port
 bind and fork bomb
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Anti fork bomb patch
makes some changes to
cgroup and fork process
See
paperboy-sqale/sqale-patches
         on GitHub
Web Proxy
SFTP
       Git over SSH         HTTP/HTTPS
AWS    SSH


                             Web Proxy
      SSH Router
                            to Containers
     File             Deploy
                                 Containers
  Repositories        Servers
HTTP/HTTPS

                               ELB



                nginx                           nginx




Container   Container   Container   Container    Container   Container
   for         for         for         for          for         for
 user A      user B      user B      user C       user C      user C
nginx
  lua-nginx-module
redis2-nginx-module
http://lokka-mizzy.sqale.jp/

                        Which containers?
           Redis                                       nginx
                host001:8083, host001:8084
                                                         or

host001
 nginx port 8081     nginx port 8082   nginx port 8083        nginx port 8084

    Container           Container         Container              Container
       for                 for               for                    for
   i4pc-mizzy          i4pc-mizzy        lokka-mizzy            lokka-mizzy
nginx.conf (excerpt)
location / {
    set $container "";
    set $next_containers "";

    error_page 502 = @failover;

    rewrite_by_lua_file dynamic-proxy.lua;
    proxy_pass http://$container;
}
dynamic-proxy.lua (excerpt)
local reply = ngx.location.capture("/redis")
if reply.status ~= ngx.HTTP_OK then
  ngx.exit(503)
end

local containers, type =
  parser.parse_reply(reply.body)
dynamic-proxy.lua (excerpt)
while #containers > 0 do
  tmp = table.remove(
    containers,
    math.random(#containers))
  if ngx.shared.downed_containers:get(tmp) then
    ngx.log(ngx.DEBUG, tmp .. " is down")
  else
    container = tmp
    break
  end
end
dynamic-proxy.lua (excerpt)
ngx.var.container = container
ngx.var.next_containers
  = luabins.save(containers)
nginx.conf (again)
location / {
    set $container "";
    set $next_containers "";

    error_page 502 = @failover;

    rewrite_by_lua_file dynamic-proxy.lua;
    proxy_pass http://$container;
}
nginx.conf (excerpt)
location @failover {
    error_page 502 = @failover;

    rewrite_by_lua_file failover.lua;
    proxy_pass http://$container;
}
failover.lua (excerpt)
local downed_container = ngx.var.container
if downed_container then
  ngx.shared.downed_containers:set(
    downed_container,
    1,
    sqale.NEGATIVE_CACHE_SECONDS
  )
end
failover.lua (excerpt)
while #containers > 0 do
  tmp = table.remove(
    containers,
    math.random(#containers))
  if ngx.shared.downed_containers:get(tmp) then
    ngx.log(ngx.DEBUG, tmp .. " is down")
  else
    container = tmp
    break
  end
end
failover.lua (excerpt)
if not container then
  ngx.exit(503)
end

ngx.var.container = container
ngx.var.next_containers
  = luabins.save(containers)
nginx.conf (agin)
location @failover {
    error_page 502 = @failover;

    rewrite_by_lua_file failover.lua;
    proxy_pass http://$container;
}
See
http://bit.ly/UHbHIb
    by @hiboma
SSH Router
SFTP
       Git over SSH         HTTP/HTTPS
AWS    SSH


                             Web Proxy
      SSH Router
                            to Containers
     File             Deploy
                                 Containers
  Repositories        Servers
Git           SFTP            SSH Login


               SSH Router




    File            File
Repositories   Repositories         Containers
(Git Server)   (File Server)
How implement this
     routing?
OpenSSH with script
authentication patch
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
See
mizzy/openssh-script-auth
       on GitHub
Change routes by
SSH_ORIGNAL_COMMAND
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
In case of
SSH_ORIGINAL_COMMAND
        is “git-*”
git push
        (ssh sqale@gateway.sqale.jp git-recieve-pack
        ‘/mizzy/lokka.git’)
                Run AuthorizedKeys
                Script
SSH Router                                 MySQL
                Verify the public key
                and get the user’s git
                server
                command=“ssh sqale@git001.sqale.lan
                git-recieve-pack
    File        ‘/var/repos/mizzy/lokka.git’”
Repository
(Git Server)
In case of
SSH_ORIGINAL_COMMAND
     is “sftp-server”
sftp sqale@gateway.sqale.jp
        (ssh sqale@gateway.sqale.jp sftp-server)

                Run AuthorizedKeys
                Script
SSH Router                                 MySQL
                 Verify the public key
                 and get the user’s file
                 server
                command=“ssh sqale@file001.sqale.lan
                sftp-server”
     File             git push               File
 Repository                              Repository
(File Server)                            (Git Server)
In case of
SSH_ORIGINAL_COMMAND
        is empty
ssh sqale@gateway.sqale.jp


             Run AuthorizedKeys
             Script
SSH Router                                 MySQL
             Verify the public key
             and get the user’s
             cotainers list
             Display the user’s containers list and
             wait the user’s selection

             command=“ssh sqale@
Container    users001.sqale.lan -p 8081”
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Deploy Servers
SFTP
       Git over SSH         HTTP/HTTPS
AWS    SSH


                             Web Proxy
      SSH Router
                            to Containers
     File             Deploy
                                 Containers
  Repositories        Servers
Please ask to
  @kyanny
Other
About Sqale’s Server
 Build Automation
http://bit.ly/NBbj9F
 by @lamanotrama
Thanks
1 of 65

Recommended

Inside Sqale's Backend at RubyConf Taiwan 2012 by
Inside Sqale's Backend at RubyConf Taiwan 2012Inside Sqale's Backend at RubyConf Taiwan 2012
Inside Sqale's Backend at RubyConf Taiwan 2012Gosuke Miyashita
3.1K views64 slides
Inside Sqale's Backend at YAPC::Asia Tokyo 2012 by
Inside Sqale's Backend at YAPC::Asia Tokyo 2012Inside Sqale's Backend at YAPC::Asia Tokyo 2012
Inside Sqale's Backend at YAPC::Asia Tokyo 2012Gosuke Miyashita
2.9K views65 slides
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps by
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOpsОмские ИТ-субботники
875 views39 slides
CoreOS Overview by
CoreOS OverviewCoreOS Overview
CoreOS OverviewVictor S. Recio
988 views17 slides
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem) by
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)Ruoshi Ling
3.6K views73 slides
Ansible not only for Dummies by
Ansible not only for DummiesAnsible not only for Dummies
Ansible not only for DummiesŁukasz Proszek
2.4K views89 slides

More Related Content

What's hot

Who is afraid of privileged containers ? by
Who is afraid of privileged containers ?Who is afraid of privileged containers ?
Who is afraid of privileged containers ?Marko Bevc
65 views22 slides
Dockercon Swarm Updated by
Dockercon Swarm UpdatedDockercon Swarm Updated
Dockercon Swarm UpdatedDocker, Inc.
10.4K views10 slides
What Have Syscalls Done for you Lately? by
What Have Syscalls Done for you Lately?What Have Syscalls Done for you Lately?
What Have Syscalls Done for you Lately?Docker, Inc.
379 views33 slides
Ansible 實戰:top down 觀點 by
Ansible 實戰:top down 觀點Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點William Yeh
19.6K views118 slides
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock... by
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...Fwdays
3K views45 slides
Dockerizing a Symfony2 application by
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 applicationRoman Rodomansky
3K views47 slides

What's hot(20)

Who is afraid of privileged containers ? by Marko Bevc
Who is afraid of privileged containers ?Who is afraid of privileged containers ?
Who is afraid of privileged containers ?
Marko Bevc65 views
Dockercon Swarm Updated by Docker, Inc.
Dockercon Swarm UpdatedDockercon Swarm Updated
Dockercon Swarm Updated
Docker, Inc.10.4K views
What Have Syscalls Done for you Lately? by Docker, Inc.
What Have Syscalls Done for you Lately?What Have Syscalls Done for you Lately?
What Have Syscalls Done for you Lately?
Docker, Inc.379 views
Ansible 實戰:top down 觀點 by William Yeh
Ansible 實戰:top down 觀點Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點
William Yeh19.6K views
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock... by Fwdays
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...
Алексей Петров "Dockerize Me: Distributed PHP applications with Symfony, Dock...
Fwdays3K views
Packet Walk(s) In Kubernetes by Don Jayakody
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In Kubernetes
Don Jayakody461 views
Kubernetes in 20 minutes - HDE Monthly Technical Session 24 by lestrrat
Kubernetes in 20 minutes - HDE Monthly Technical Session 24Kubernetes in 20 minutes - HDE Monthly Technical Session 24
Kubernetes in 20 minutes - HDE Monthly Technical Session 24
lestrrat1.6K views
Kubernetes internals (Kubernetes 해부하기) by DongHyeon Kim
Kubernetes internals (Kubernetes 해부하기)Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
DongHyeon Kim2.2K views
CoreOS + Kubernetes @ All Things Open 2015 by Brandon Philips
CoreOS + Kubernetes @ All Things Open 2015CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015
Brandon Philips409 views
CoreOS: Control Your Fleet by Matthew Jones
CoreOS: Control Your FleetCoreOS: Control Your Fleet
CoreOS: Control Your Fleet
Matthew Jones16.1K views
Container & kubernetes by Ted Jung
Container & kubernetesContainer & kubernetes
Container & kubernetes
Ted Jung3.6K views
Vagrant for real (codemotion rome 2016) by Michele Orselli
Vagrant for real (codemotion rome 2016)Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)
Michele Orselli43.9K views
青云CoreOS虚拟机部署kubernetes by Zhichao Liang
青云CoreOS虚拟机部署kubernetes 青云CoreOS虚拟机部署kubernetes
青云CoreOS虚拟机部署kubernetes
Zhichao Liang29.6K views
Docker Runtime Security by Sysdig
Docker Runtime SecurityDocker Runtime Security
Docker Runtime Security
Sysdig 733 views
Object Storage with Gluster by Gluster.org
Object Storage with GlusterObject Storage with Gluster
Object Storage with Gluster
Gluster.org3.2K views
Automating Mendix application deployments with Nix by Sander van der Burg
Automating Mendix application deployments with NixAutomating Mendix application deployments with Nix
Automating Mendix application deployments with Nix
Sander van der Burg2.4K views
Continuous Integration: SaaS vs Jenkins in Cloud by Ideato
Continuous Integration: SaaS vs Jenkins in CloudContinuous Integration: SaaS vs Jenkins in Cloud
Continuous Integration: SaaS vs Jenkins in Cloud
Ideato12.1K views

Viewers also liked

OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京 by
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京Kentaro Ebisawa
9.2K views69 slides
コンテナ情報交換会2 by
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2Masahide Yamamoto
5.6K views28 slides
PaaSの作り方 Sqaleの場合 by
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合hiboma
14.1K views55 slides
cassandra 100 node cluster admin operation by
cassandra 100 node cluster admin operationcassandra 100 node cluster admin operation
cassandra 100 node cluster admin operationoranie Narut
8.5K views112 slides
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク by
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークTakuya ASADA
5K views46 slides
Intel DPDK Step by Step instructions by
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
56.9K views12 slides

Viewers also liked(8)

OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京 by Kentaro Ebisawa
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
Kentaro Ebisawa9.2K views
PaaSの作り方 Sqaleの場合 by hiboma
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
hiboma14.1K views
cassandra 100 node cluster admin operation by oranie Narut
cassandra 100 node cluster admin operationcassandra 100 node cluster admin operation
cassandra 100 node cluster admin operation
oranie Narut8.5K views
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク by Takuya ASADA
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Takuya ASADA5K views
Intel DPDK Step by Step instructions by Hisaki Ohara
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
Hisaki Ohara56.9K views
Nosqlの基礎知識(2013年7月講義資料) by CLOUDIAN KK
Nosqlの基礎知識(2013年7月講義資料)Nosqlの基礎知識(2013年7月講義資料)
Nosqlの基礎知識(2013年7月講義資料)
CLOUDIAN KK22.9K views

Similar to Inside Sqale's Backend at Sapporo Ruby Kaigi 2012

containerD by
containerDcontainerD
containerDstrikr .
1.8K views34 slides
Containerization is more than the new Virtualization: enabling separation of ... by
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
9K views61 slides
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints by
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context ConstraintsAlessandro Arrichiello
2.3K views37 slides
From Monolith to Docker Distributed Applications by
From Monolith to Docker Distributed ApplicationsFrom Monolith to Docker Distributed Applications
From Monolith to Docker Distributed ApplicationsCarlos Sanchez
1K views60 slides
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup by
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupStefan Schimanski
5.5K views45 slides
PuppetDB: Sneaking Clojure into Operations by
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operationsgrim_radical
1.5K views109 slides

Similar to Inside Sqale's Backend at Sapporo Ruby Kaigi 2012(20)

containerD by strikr .
containerDcontainerD
containerD
strikr .1.8K views
Containerization is more than the new Virtualization: enabling separation of ... by Jérôme Petazzoni
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints by Alessandro Arrichiello
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
From Monolith to Docker Distributed Applications by Carlos Sanchez
From Monolith to Docker Distributed ApplicationsFrom Monolith to Docker Distributed Applications
From Monolith to Docker Distributed Applications
Carlos Sanchez1K views
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup by Stefan Schimanski
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Stefan Schimanski5.5K views
PuppetDB: Sneaking Clojure into Operations by grim_radical
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operations
grim_radical1.5K views
Virtualization with Vagrant (ua.pycon 2011) by Dmitry Guyvoronsky
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)
Dmitry Guyvoronsky1.6K views
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security) by Codemotion
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Codemotion571 views
Using Docker with OpenStack - Hands On! by Adrian Otto
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!
Adrian Otto5.1K views
Road to Opscon (Pisa '15) - DevOoops by Gianluca Varisco
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
Gianluca Varisco1.8K views
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin... by Gianluca Varisco
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...
DevOoops (Increase awareness around DevOps infra security) - VoxxedDays Ticin...
Gianluca Varisco1.3K views
Why you’re going to fail running java on docker! by Red Hat Developers
Why you’re going to fail running java on docker!Why you’re going to fail running java on docker!
Why you’re going to fail running java on docker!
Red Hat Developers3.5K views
LasCon 2014 DevOoops by Chris Gates
LasCon 2014 DevOoops LasCon 2014 DevOoops
LasCon 2014 DevOoops
Chris Gates54.2K views
Swift Install Workshop - OpenStack Conference Spring 2012 by Joe Arnold
Swift Install Workshop - OpenStack Conference Spring 2012Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012
Joe Arnold4.2K views
Containerization Is More than the New Virtualization by C4Media
Containerization Is More than the New VirtualizationContainerization Is More than the New Virtualization
Containerization Is More than the New Virtualization
C4Media694 views
Automate drupal deployments with linux containers, docker and vagrant by Ricardo Amaro
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant
Ricardo Amaro9.8K views
Spring Boot on Kubernetes/OpenShift by Kamesh Sampath
Spring Boot on Kubernetes/OpenShiftSpring Boot on Kubernetes/OpenShift
Spring Boot on Kubernetes/OpenShift
Kamesh Sampath1.5K views
Dockerffm meetup 20150113_networking by Andreas Schmidt
Dockerffm meetup 20150113_networkingDockerffm meetup 20150113_networking
Dockerffm meetup 20150113_networking
Andreas Schmidt1.1K views
Building Clustered Applications with Kubernetes and Docker by Steve Watt
Building Clustered Applications with Kubernetes and DockerBuilding Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and Docker
Steve Watt4.8K views
Continuous Delivery: The Next Frontier by Carlos Sanchez
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
Carlos Sanchez1.6K views

More from Gosuke Miyashita

Walter ファミリーの紹介 at Shibuya.go#1 by
Walter ファミリーの紹介 at Shibuya.go#1Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1Gosuke Miyashita
5.2K views28 slides
Serverspec at Testing Framework Meeting by
Serverspec at Testing Framework MeetingServerspec at Testing Framework Meeting
Serverspec at Testing Framework MeetingGosuke Miyashita
6.6K views34 slides
Serverspec at July Tech Festa 2013 by
Serverspec at July Tech Festa 2013Serverspec at July Tech Festa 2013
Serverspec at July Tech Festa 2013Gosuke Miyashita
5.7K views89 slides
Serverspec at hbstudy #45 by
Serverspec at hbstudy #45Serverspec at hbstudy #45
Serverspec at hbstudy #45Gosuke Miyashita
13.1K views128 slides
NoSQLに関するまとめ by
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめGosuke Miyashita
26.3K views31 slides
イベント駆動プログラミングとI/O多重化 by
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化Gosuke Miyashita
15.4K views78 slides

More from Gosuke Miyashita(20)

Walter ファミリーの紹介 at Shibuya.go#1 by Gosuke Miyashita
Walter ファミリーの紹介 at Shibuya.go#1Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1
Gosuke Miyashita5.2K views
Serverspec at Testing Framework Meeting by Gosuke Miyashita
Serverspec at Testing Framework MeetingServerspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
Gosuke Miyashita6.6K views
Serverspec at July Tech Festa 2013 by Gosuke Miyashita
Serverspec at July Tech Festa 2013Serverspec at July Tech Festa 2013
Serverspec at July Tech Festa 2013
Gosuke Miyashita5.7K views
イベント駆動プログラミングとI/O多重化 by Gosuke Miyashita
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita15.4K views
Maglica - A Simple Internal Cloud Tool at #techkayac by Gosuke Miyashita
Maglica - A Simple Internal Cloud Tool at #techkayacMaglica - A Simple Internal Cloud Tool at #techkayac
Maglica - A Simple Internal Cloud Tool at #techkayac
Gosuke Miyashita6.8K views
DevOps とは何か 何であるべきか by Gosuke Miyashita
DevOps とは何か 何であるべきかDevOps とは何か 何であるべきか
DevOps とは何か 何であるべきか
Gosuke Miyashita3.5K views
Ia型超新星とチャンドラセカール限界 by Gosuke Miyashita
Ia型超新星とチャンドラセカール限界Ia型超新星とチャンドラセカール限界
Ia型超新星とチャンドラセカール限界
Gosuke Miyashita2.3K views
Assurer - a pluggable server testing/monitoring framework by Gosuke Miyashita
Assurer - a pluggable server testing/monitoring frameworkAssurer - a pluggable server testing/monitoring framework
Assurer - a pluggable server testing/monitoring framework
Gosuke Miyashita1.8K views
Open Source System Administration Framework - Func by Gosuke Miyashita
Open Source System Administration Framework - FuncOpen Source System Administration Framework - Func
Open Source System Administration Framework - Func
Gosuke Miyashita1.7K views
Puppet Best Practices? at COOKPAD by Gosuke Miyashita
Puppet Best Practices? at COOKPADPuppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPAD
Gosuke Miyashita2.7K views
How Danga::Socket handles asynchronous processing and how to write asynchrono... by Gosuke Miyashita
How Danga::Socket handles asynchronous processing and how to write asynchrono...How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...
Gosuke Miyashita2.1K views
Danga::Socketの非同期処理の仕組みとPerlbalで非同期処理するプラグインを書く方法 by Gosuke Miyashita
Danga::Socketの非同期処理の仕組みとPerlbalで非同期処理するプラグインを書く方法Danga::Socketの非同期処理の仕組みとPerlbalで非同期処理するプラグインを書く方法
Danga::Socketの非同期処理の仕組みとPerlbalで非同期処理するプラグインを書く方法
Gosuke Miyashita1.8K views
Xen Summit 2008 Tokyo - Operating Xen domains through LL(Perl/Python) with li... by Gosuke Miyashita
Xen Summit 2008 Tokyo - Operating Xen domains through LL(Perl/Python) with li...Xen Summit 2008 Tokyo - Operating Xen domains through LL(Perl/Python) with li...
Xen Summit 2008 Tokyo - Operating Xen domains through LL(Perl/Python) with li...
Gosuke Miyashita2K views
関西オープンソース 2008 30days Albumの裏側 by Gosuke Miyashita
関西オープンソース 2008 30days Albumの裏側関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側
Gosuke Miyashita3.1K views

Recently uploaded

Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
344 views86 slides
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesShapeBlue
119 views15 slides
"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
40 views29 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
28 views49 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
65 views28 slides
HTTP headers that make your website go faster - devs.gent November 2023 by
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
28 views151 slides

Recently uploaded(20)

Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software344 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue119 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays40 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue65 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn28 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue74 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue50 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue96 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue77 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10369 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue48 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson133 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue54 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue85 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue145 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive

Inside Sqale's Backend at Sapporo Ruby Kaigi 2012