SlideShare a Scribd company logo
Nulab’s DevOps tool stack based on AWS
Wednesday, Feb 5 2014
iJAWS 2nd Meetup @HUB Tokyo
About me
Takashi SOMEDA

Tech Evangelist of Nulab,Inc.
Write tech articles about AWS, SCM

https://twitter.com/tksmd
https://github.com/tksmd
https://facebook.com/takashi.someda
Nulab's DevOps tool stack based on AWS
Backlog is a project management tool that 2,000 clients use.
In addition to issue management feature, Backlog provides
• File sharing by WebDAV
• Git and Subversion repository hosting.
Visit http://backlogtool.com/
1,100,000 users around the world draw wireframes, network diagrams,
UML, business plans and so on.
Cacoo provides basic functionality as a draw tool and powerful collaborative
features like
• Simultaneous Editing on same diagram by multiple users
• Integration with Google Services like Google Apps, Google Drive and Google+
Hangouts
A new collaborative chat app has just been out of beta yesterday!!
• Revolutionize your team discussion
• Integration with nulab’s other services
• Provide easy-to-use API for developers (http://developers.typetalk.in)
Single sign-on service for our all services
Application launcher of our each services
Provisioning Layer
Command
and
Control

Configuration

Bootstrapping

Application Service Orchestration
System Configuration

Cloud or VM
Image Launch

OS install

http://devops-toolchain.googlecode.com/svn/trunk/src/site/resources/presentations/Velocity2010/
Provisioning Layer (our case)
Command
and
Control

Fabric
Ansible

Configuration

Bootstrapping

Packer
Amazon AMI
http://devops-toolchain.googlecode.com/svn/trunk/src/site/resources/presentations/Velocity2010/
Fabric
 Written in Python
 Just run commands on local/remote

machine
@task
def start_tomcat():
sudo('rm -f /usr/java/tomcat/temp/*.{index,data}')
sudo('service tomcat start’)
print green("Tomcat started!!!")
Ansible
 Written in Python
 Idempotency

 Requires python and sshd installed on
server
- name: install requirement system packages
action: yum name={{ item }}
with_items:

- make
- gcc
Packer
 Written in Go
 Tool for pre-baked machine image
"builders": [{
"type": "amazon-ebs",
"region": "us-west-2",

"source_ami": "ami-ccf297fc",
"instance_type": "m1.small",
"ssh_username": "ec2-user",
"ami_name": "base {{isotime}}"
}],
Configuration Workflow

Notify
Run

Build AMI

Configure
Test
Tips – use common ssh.config
$ tree
.
├── ansible
│
└── ansible.cfg
├── fabfile
│
└── __init__.py
├── serverspec
│
└── spec
│
└── spec_helper.rb
└── ssh.config

[ssh_connection]
ssh_args = -F ../ssh.config

env.use_ssh_config = True
env.ssh_config_path = 'ssh.config'

RSpec.configure do |c|
options =
Net::SSH::Config.for(c.host, files=[‘../ssh.config'])
...
Tips – use fabric as interface

@task
def hosts_update():
"""
update /etc/hosts on all running instances
"""
with lcd('ansible'):
local("ansible-playbook -i all.yml --tags=hosts_setup")

- name: copy hosts file
copy: src=etc/hosts dest=/etc/hosts
tags: hosts_setup
We’re hiring!

More Related Content

PDF
Knative and Riff
PDF
Knative And Pivotal Function As a Service
PPTX
Going Serverless with Kubeless In Google Container Engine (GKE)
PDF
What's new in Silverstripe 4? (StripeCon APAC 2016)
PDF
Python conf 2013 taiwan azure
PPTX
Automated Project-Setup and Self-Service Permissions for a Development Platform
PDF
Function as a Service with Knative and riff
PDF
Istio is not just 
for microservices
Knative and Riff
Knative And Pivotal Function As a Service
Going Serverless with Kubeless In Google Container Engine (GKE)
What's new in Silverstripe 4? (StripeCon APAC 2016)
Python conf 2013 taiwan azure
Automated Project-Setup and Self-Service Permissions for a Development Platform
Function as a Service with Knative and riff
Istio is not just 
for microservices

What's hot (20)

PDF
Intro to React
PPTX
How we use the play framework
PDF
Spring Tooling: What's new and what's coming
PPTX
Using GitHub Actions to Deploy your Workloads to Azure
PPTX
PnP Monthly Community Call - December 2017
PPTX
Building your microsite with Documents & Sites
PPTX
Developing Cross-Platform Web Apps with ASP.NET Core1.0
PPTX
CICD Pipeline Using Github Actions
PDF
Make your own Pokédex with the Pokéapi & Node/Express!
PPTX
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
PPTX
Welcome to CloudLand - DevOps Seattle Feb 2020
PDF
Embulk makes Japan visible
PDF
Spring on Kubernetes
PDF
Kubernetes and the Rise of Application-centric Computing
PDF
Nuxeo Platform LTS 2015 - Opening Keynote Event 2015-10
PPTX
The 52°North Web Processing Service
PDF
Building Resilient Cloud Native Apps in GKE
PDF
Nuxeo Platform LTS 2016 - Roadmap
PPTX
A (XPages) developers guide to Cloudant - MeetIT
PPTX
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB Atlas
Intro to React
How we use the play framework
Spring Tooling: What's new and what's coming
Using GitHub Actions to Deploy your Workloads to Azure
PnP Monthly Community Call - December 2017
Building your microsite with Documents & Sites
Developing Cross-Platform Web Apps with ASP.NET Core1.0
CICD Pipeline Using Github Actions
Make your own Pokédex with the Pokéapi & Node/Express!
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
Welcome to CloudLand - DevOps Seattle Feb 2020
Embulk makes Japan visible
Spring on Kubernetes
Kubernetes and the Rise of Application-centric Computing
Nuxeo Platform LTS 2015 - Opening Keynote Event 2015-10
The 52°North Web Processing Service
Building Resilient Cloud Native Apps in GKE
Nuxeo Platform LTS 2016 - Roadmap
A (XPages) developers guide to Cloudant - MeetIT
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB Atlas
Ad

Similar to Nulab's DevOps tool stack based on AWS (20)

PDF
Deploy on AWS from GIT Lab PDF2.pdf
PPTX
DevOps and AWS - Code PaLOUsa 2017
PPTX
How we spread out our service globally by utilizing AWS and open source soft...
PDF
AWS Lambda from the trenches
PDF
Buytaert kris tools
PPTX
Basic architecuture and operation concept of Backlog and Cacoo
PDF
Serverless in production, an experience report (JeffConf)
PDF
DevOps and AWS
PDF
AWS CodeCommit, CodeDeploy & CodePipeline
PDF
How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit...
PDF
7 tools for your devops stack
PDF
Serverless in production, an experience report (Going Serverless)
PPTX
Devops on AWS
PDF
Promise of DevOps
PDF
DevOps with Serverless
PDF
Serverless in production, an experience report (linuxing in london)
PDF
OSDC 2012 | Devops and Open Source by Kris Buytaert
PDF
OSDC 2012 | Devops and Open Source by Kris Buyaert
PDF
Serverless in production, an experience report
PDF
CI CD using AWS Developer Tools Online Workshop
Deploy on AWS from GIT Lab PDF2.pdf
DevOps and AWS - Code PaLOUsa 2017
How we spread out our service globally by utilizing AWS and open source soft...
AWS Lambda from the trenches
Buytaert kris tools
Basic architecuture and operation concept of Backlog and Cacoo
Serverless in production, an experience report (JeffConf)
DevOps and AWS
AWS CodeCommit, CodeDeploy & CodePipeline
How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit...
7 tools for your devops stack
Serverless in production, an experience report (Going Serverless)
Devops on AWS
Promise of DevOps
DevOps with Serverless
Serverless in production, an experience report (linuxing in london)
OSDC 2012 | Devops and Open Source by Kris Buytaert
OSDC 2012 | Devops and Open Source by Kris Buyaert
Serverless in production, an experience report
CI CD using AWS Developer Tools Online Workshop
Ad

More from Takashi Someda (12)

PPTX
エバンジェリストの憂鬱
PPTX
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
PPTX
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜
PPTX
大企業、未踏ソフトウェア、起業 様々な働き方から学んだ「モノ作り」のエッセンス
PPTX
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...
PPTX
Service Configuration Management for Rapid Growth
PPTX
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
PPTX
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
PPTX
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
PPTX
JAWS-UG Kyoto #02 LT
PPTX
AWS ではじめる Programmable Cloud
PDF
Algo 23 MSTP
エバンジェリストの憂鬱
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜
大企業、未踏ソフトウェア、起業 様々な働き方から学んだ「モノ作り」のエッセンス
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...
Service Configuration Management for Rapid Growth
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
JAWS-UG Kyoto #02 LT
AWS ではじめる Programmable Cloud
Algo 23 MSTP

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Encapsulation theory and applications.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Cloud computing and distributed systems.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
cuic standard and advanced reporting.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Review of recent advances in non-invasive hemoglobin estimation
sap open course for s4hana steps from ECC to s4
Encapsulation theory and applications.pdf
Programs and apps: productivity, graphics, security and other tools
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
Network Security Unit 5.pdf for BCA BBA.
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Cloud computing and distributed systems.
Spectral efficient network and resource selection model in 5G networks
Reach Out and Touch Someone: Haptics and Empathic Computing
cuic standard and advanced reporting.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Nulab's DevOps tool stack based on AWS

  • 1. Nulab’s DevOps tool stack based on AWS Wednesday, Feb 5 2014 iJAWS 2nd Meetup @HUB Tokyo
  • 2. About me Takashi SOMEDA Tech Evangelist of Nulab,Inc. Write tech articles about AWS, SCM https://twitter.com/tksmd https://github.com/tksmd https://facebook.com/takashi.someda
  • 4. Backlog is a project management tool that 2,000 clients use. In addition to issue management feature, Backlog provides • File sharing by WebDAV • Git and Subversion repository hosting. Visit http://backlogtool.com/
  • 5. 1,100,000 users around the world draw wireframes, network diagrams, UML, business plans and so on. Cacoo provides basic functionality as a draw tool and powerful collaborative features like • Simultaneous Editing on same diagram by multiple users • Integration with Google Services like Google Apps, Google Drive and Google+ Hangouts
  • 6. A new collaborative chat app has just been out of beta yesterday!! • Revolutionize your team discussion • Integration with nulab’s other services • Provide easy-to-use API for developers (http://developers.typetalk.in)
  • 7. Single sign-on service for our all services Application launcher of our each services
  • 8. Provisioning Layer Command and Control Configuration Bootstrapping Application Service Orchestration System Configuration Cloud or VM Image Launch OS install http://devops-toolchain.googlecode.com/svn/trunk/src/site/resources/presentations/Velocity2010/
  • 9. Provisioning Layer (our case) Command and Control Fabric Ansible Configuration Bootstrapping Packer Amazon AMI http://devops-toolchain.googlecode.com/svn/trunk/src/site/resources/presentations/Velocity2010/
  • 10. Fabric  Written in Python  Just run commands on local/remote machine @task def start_tomcat(): sudo('rm -f /usr/java/tomcat/temp/*.{index,data}') sudo('service tomcat start’) print green("Tomcat started!!!")
  • 11. Ansible  Written in Python  Idempotency  Requires python and sshd installed on server - name: install requirement system packages action: yum name={{ item }} with_items: - make - gcc
  • 12. Packer  Written in Go  Tool for pre-baked machine image "builders": [{ "type": "amazon-ebs", "region": "us-west-2", "source_ami": "ami-ccf297fc", "instance_type": "m1.small", "ssh_username": "ec2-user", "ami_name": "base {{isotime}}" }],
  • 14. Tips – use common ssh.config $ tree . ├── ansible │ └── ansible.cfg ├── fabfile │ └── __init__.py ├── serverspec │ └── spec │ └── spec_helper.rb └── ssh.config [ssh_connection] ssh_args = -F ../ssh.config env.use_ssh_config = True env.ssh_config_path = 'ssh.config' RSpec.configure do |c| options = Net::SSH::Config.for(c.host, files=[‘../ssh.config']) ...
  • 15. Tips – use fabric as interface @task def hosts_update(): """ update /etc/hosts on all running instances """ with lcd('ansible'): local("ansible-playbook -i all.yml --tags=hosts_setup") - name: copy hosts file copy: src=etc/hosts dest=/etc/hosts tags: hosts_setup