How we spread out our service globally by utilizing AWS and open source software ( COSCUP 2013)

Takashi Someda
Takashi SomedaTechnical Evangelist at nulab
How we spread out our service globally
by utilizing
AWS and open source software
2013/08/04(sun)
Takashi SOMEDA
染田 貴志
COSCUP 2013 Taipei
https://twitter.com/tksmd
Technology Evangelist at Nulab,Inc.
JAWS UG Kyoto Branch leader
About me
https://facebook.com/takashi.someda
Write tech articles about AWS, SCM
https://github.com/tksmd
How we spread out our service globally by utilizing  AWS and open source software ( COSCUP 2013)
COSCUP 2013 Taipei
Backlog is a project management tool that 1,800 companies use.
In addition to issue management feature, Backlog provides
• File sharing by WebDAV
• Git and Subversion repository hosting.
Visit http://backlogtool.com/tw/
920,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
Examples
COSCUP 2013 Taipei
User Growth of Cacoo
COSCUP 2013 Taipei
0
100,000
200,000
300,000
400,000
500,000
600,000
700,000
800,000
900,000
1,000,000
Oct,2010 Oct,2011 Oct,2012 Aug,2013
62,000
200,000
600,000
920,000
All
Japan
Overseas
Agenda
COSCUP 2013 Taipei
 Service Overview
 Real time collaboration
 Flexible Infrastructure by AWS
 Summary
Service Overview
http://www.flickr.com/photos/ancientsword/2856148716/
Service Components
COSCUP 2013 Taipei
Software Architecture
COSCUP 2013 Taipei
Real time Collaboration
http://www.flickr.com/photos/ian_munroe/3315718996/
Simultaneous Editing
COSCUP 2013 Taipei
BlazeDS client
COSCUP 2013 Taipei
http://livedocs.adobe.com/blazeds/1/blazeds_devguide/lcarch_2.html
BlazeDS server
COSCUP 2013 Taipei
http://livedocs.adobe.com/blazeds/1/blazeds_devguide/lcarch_3.html
Message flow between Cacoo Editors
COSCUP 2013 Taipei
Synchronize MessageDestination
COSCUP 2013 Taipei
Patch added to
flex.messaging.cluster.JGroupsCluster
flex.messaging.cluster.ClusterNode
Using custom MessageService extends
flex.messaging.services.MessageService
( can be configured in messaging-config.xml )
What message exchanged
COSCUP 2013 Taipei
http://www.flickr.com/photos/dps/7161557/
Command
Command Execution Model
COSCUP 2013 Taipei
1.add 1.add1.add
2.move
Undomoveadd
1.add
2.zoom
zoom …
Command Interface
COSCUP 2013 Taipei
public class Command implements IExternalizable {
public var sequenceNo:uint = 0;
public var isLocal:Boolean = true;
public function Command() {
}
public function execute():void {
}
public function undo():void {
}
public function redo():void {
execute();
}
:
}
/*
sequenceNo keeps the order of commands to be
executed in each editors.
isLocal is used to distinguish that the command is
created on local editor or it is received from other
editor.
*/
# of Saved Commands
COSCUP 2013 Taipei
430,749,991
Partition on different tablespaces
COSCUP 2013 Taipei
create table command_01 ( LIKE command INCLUDING INDEXES INCLUDING DEFAULTS
INCLUDING CONSTRAINTS,
CHECK (diagram_id % 4 = 0)
) INHERITS (command) TABLESPACE tblspc_01;
ALTER TABLE command_01_pkey set tablespace tblspc_01;
Flexible Infrastructure by AWS
http://www.flickr.com/photos/naturegeak/5688437941/
Cacoo for Google+ Hangouts
COSCUP 2013 Taipei
http://launch-hangouts.cacoo.com/lp-zh_tw.html
We had only one month
COSCUP 2013 Taipei
beginning of March 2012
Cacoo became a candidate of the 3rd party app
announced on Hangouts API launch
28th Mar. 2012
Cacoo for Google+ Hangouts launched
Need to
 Develop application
 Do performance testing estimating 10-20 times accesses than
that of cacoo.com at that time
 Prepare 10+ Servers for performance testing and new
production environment
Simplify server operations
COSCUP 2013 Taipei
@task
def add_app(zone):
ec2 = connect_ec2()
ami = ec2.get_image(AMI_ID['app'])
r = ami.run(min_count=1, max_count=1,
key_name=KEY_NAME, user_data=load_cloudinit_script(),
security_groups=['app’],instance_type=INSTANCE_TYPE['app'],
block_device_map=create_block_device_map(),
placement=zone, instance_initiated_shutdown_behavior='stop')
instance = r.instances[0]
wait_for_startup(instance)
execute(”setup_app", hosts=[instance.public_dns_name])
execute(”update_hosts", roles=['all'])
execute(”start_app", hosts=[instance.public_dns_name])
execute(“update_nginx_upstream”)
$ fab add_app:zone=us-west-1a
# fabric and boto
# http://fabfile.org
# http://docs.pythonboto.org/
Tipping Point Example #1
COSCUP 2013 Taipei
Tipping Point Example #2
COSCUP 2013 Taipei
What we did for those growth
COSCUP 2013 Taipei
# For example1
$ ec2addsnap
$ ec2addvol –snapshot <snap_id> –s 1024G
$ ec2attvol
# For example2
$ ec2run
CloudFront for SWF distribution
COSCUP 2013 Taipei
Loading SWF is 10+ times faster
Summary
http://www.flickr.com/photos/nauright/2662160957/
OSS and AWS enable us
COSCUP 2013 Taipei
To fit the infrastructure according to the growth
To make it available to use all over the world
To make realize the key features quickly
COSCUP 2013 Taipei
Thanks!!
Q and A
1 of 33

Recommended

Building a Data Pipeline using Apache Airflow (on AWS / GCP) by
Building a Data Pipeline using Apache Airflow (on AWS / GCP)Building a Data Pipeline using Apache Airflow (on AWS / GCP)
Building a Data Pipeline using Apache Airflow (on AWS / GCP)Yohei Onishi
5.6K views28 slides
Apache Airflow Introduction by
Apache Airflow IntroductionApache Airflow Introduction
Apache Airflow IntroductionLiangjun Jiang
578 views12 slides
Airflow presentation by
Airflow presentationAirflow presentation
Airflow presentationAnant Corporation
498 views11 slides
Deploying to AppEngine by
Deploying to AppEngineDeploying to AppEngine
Deploying to AppEngineAlexander Khaerov
167 views15 slides
Kube Your Enthusiasm - Paul Czarkowski by
Kube Your Enthusiasm - Paul CzarkowskiKube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul CzarkowskiVMware Tanzu
1.2K views193 slides
Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark) by
Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark)Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark)
Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark)DataWorks Summit
2.5K views52 slides

More Related Content

What's hot

Steering the Course with Helm by
Steering the Course with HelmSteering the Course with Helm
Steering the Course with HelmDirk Jablonski
669 views45 slides
Flink Jobs Deployment On Kubernetes by
Flink Jobs Deployment On KubernetesFlink Jobs Deployment On Kubernetes
Flink Jobs Deployment On KubernetesKnoldus Inc.
218 views18 slides
Hydrosphere.io for ODSC: Webinar on Kubeflow by
Hydrosphere.io for ODSC: Webinar on KubeflowHydrosphere.io for ODSC: Webinar on Kubeflow
Hydrosphere.io for ODSC: Webinar on KubeflowRustem Zakiev
541 views60 slides
Airflow at WePay by
Airflow at WePayAirflow at WePay
Airflow at WePayChris Riccomini
6.9K views26 slides
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum by
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseumContinuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseumCodefresh
2.3K views21 slides
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo... by
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...Bitnami
949 views24 slides

What's hot(20)

Steering the Course with Helm by Dirk Jablonski
Steering the Course with HelmSteering the Course with Helm
Steering the Course with Helm
Dirk Jablonski669 views
Flink Jobs Deployment On Kubernetes by Knoldus Inc.
Flink Jobs Deployment On KubernetesFlink Jobs Deployment On Kubernetes
Flink Jobs Deployment On Kubernetes
Knoldus Inc.218 views
Hydrosphere.io for ODSC: Webinar on Kubeflow by Rustem Zakiev
Hydrosphere.io for ODSC: Webinar on KubeflowHydrosphere.io for ODSC: Webinar on Kubeflow
Hydrosphere.io for ODSC: Webinar on Kubeflow
Rustem Zakiev541 views
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum by Codefresh
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseumContinuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseum
Codefresh2.3K views
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo... by Bitnami
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...
Bitnami949 views
Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion... by Codemotion
 Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion... Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion...
Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion...
Codemotion1.8K views
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019 by Jarek Potiuk
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
Jarek Potiuk1.3K views
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019 by UA DevOps Conference
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
Kubernetes Application Deployment with Helm - A beginner Guide! by Krishna-Kumar
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
Krishna-Kumar 2.3K views
Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and... by Codefresh
 Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and... Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
Codefresh1.2K views
Helm chart-introduction by Ganesh Pol
Helm chart-introductionHelm chart-introduction
Helm chart-introduction
Ganesh Pol127 views
Introduction to Terraform and Google Cloud Platform by Pradeep Bhadani
Introduction to Terraform and Google Cloud PlatformIntroduction to Terraform and Google Cloud Platform
Introduction to Terraform and Google Cloud Platform
Pradeep Bhadani573 views
Provision GCP resources using Terraform @ GDG Craiova by Pradeep Bhadani
Provision GCP resources using Terraform @ GDG CraiovaProvision GCP resources using Terraform @ GDG Craiova
Provision GCP resources using Terraform @ GDG Craiova
Pradeep Bhadani328 views
Knative And Pivotal Function As a Service by Jay Lee
Knative And Pivotal Function As a ServiceKnative And Pivotal Function As a Service
Knative And Pivotal Function As a Service
Jay Lee291 views
GCPUG.TW - GCP學習資源分享 by Simon Su
GCPUG.TW - GCP學習資源分享GCPUG.TW - GCP學習資源分享
GCPUG.TW - GCP學習資源分享
Simon Su595 views

Viewers also liked

大企業、未踏ソフトウェア、起業 様々な働き方から学んだ「モノ作り」のエッセンス by
大企業、未踏ソフトウェア、起業  様々な働き方から学んだ「モノ作り」のエッセンス大企業、未踏ソフトウェア、起業  様々な働き方から学んだ「モノ作り」のエッセンス
大企業、未踏ソフトウェア、起業 様々な働き方から学んだ「モノ作り」のエッセンスTakashi Someda
7.4K views58 slides
Basic architecuture and operation concept of Backlog and Cacoo by
Basic architecuture and operation concept of Backlog and CacooBasic architecuture and operation concept of Backlog and Cacoo
Basic architecuture and operation concept of Backlog and CacooTakashi Someda
1.3K views47 slides
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜 by
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜Takashi Someda
2K views14 slides
Service Configuration Management for Rapid Growth by
Service Configuration Management for Rapid GrowthService Configuration Management for Rapid Growth
Service Configuration Management for Rapid GrowthTakashi Someda
2.4K views57 slides
Nulab's DevOps tool stack based on AWS by
Nulab's DevOps tool stack based on AWSNulab's DevOps tool stack based on AWS
Nulab's DevOps tool stack based on AWSTakashi Someda
1.6K views16 slides
Service Configuration Management for Rapid Growth - demo 10 steps to build pi... by
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...Service Configuration Management for Rapid Growth - demo 10 steps to build pi...
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...Takashi Someda
1.8K views26 slides

Viewers also liked(8)

大企業、未踏ソフトウェア、起業 様々な働き方から学んだ「モノ作り」のエッセンス by Takashi Someda
大企業、未踏ソフトウェア、起業  様々な働き方から学んだ「モノ作り」のエッセンス大企業、未踏ソフトウェア、起業  様々な働き方から学んだ「モノ作り」のエッセンス
大企業、未踏ソフトウェア、起業 様々な働き方から学んだ「モノ作り」のエッセンス
Takashi Someda7.4K views
Basic architecuture and operation concept of Backlog and Cacoo by Takashi Someda
Basic architecuture and operation concept of Backlog and CacooBasic architecuture and operation concept of Backlog and Cacoo
Basic architecuture and operation concept of Backlog and Cacoo
Takashi Someda1.3K views
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜 by Takashi Someda
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜
「どうすれば価値を生み出すか」を知るために ヌーラボで行っていること 〜 落ち穂拾い 〜
Takashi Someda2K views
Service Configuration Management for Rapid Growth by Takashi Someda
Service Configuration Management for Rapid GrowthService Configuration Management for Rapid Growth
Service Configuration Management for Rapid Growth
Takashi Someda2.4K views
Nulab's DevOps tool stack based on AWS by Takashi Someda
Nulab's DevOps tool stack based on AWSNulab's DevOps tool stack based on AWS
Nulab's DevOps tool stack based on AWS
Takashi Someda1.6K views
Service Configuration Management for Rapid Growth - demo 10 steps to build pi... by Takashi Someda
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...Service Configuration Management for Rapid Growth - demo 10 steps to build pi...
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...
Takashi Someda1.8K views
エバンジェリストの憂鬱 by Takashi Someda
エバンジェリストの憂鬱エバンジェリストの憂鬱
エバンジェリストの憂鬱
Takashi Someda2K views
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏 by Takashi Someda
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
Takashi Someda1.5K views

Similar to How we spread out our service globally by utilizing AWS and open source software ( COSCUP 2013)

Automate the operation of your Oracle Cloud infrastructure v2.0 by
Automate the operation of your Oracle Cloud infrastructure v2.0Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0Nelson Calero
899 views60 slides
仕事ではじめる機械学習 by
仕事ではじめる機械学習仕事ではじめる機械学習
仕事ではじめる機械学習Aki Ariga
8.2K views35 slides
Airflow techtonic template by
Airflow   techtonic templateAirflow   techtonic template
Airflow techtonic templateSampath Kumar
41 views18 slides
Google Cloud Platform for Data Science teams by
Google Cloud Platform for Data Science teamsGoogle Cloud Platform for Data Science teams
Google Cloud Platform for Data Science teamsBarton Rhodes
385 views20 slides
Why and How SmartNews uses SaaS? by
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Takumi Sakamoto
501 views76 slides
Let's build Developer Portal with Backstage by
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
1K views39 slides

Similar to How we spread out our service globally by utilizing AWS and open source software ( COSCUP 2013)(20)

Automate the operation of your Oracle Cloud infrastructure v2.0 by Nelson Calero
Automate the operation of your Oracle Cloud infrastructure v2.0Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0
Nelson Calero899 views
仕事ではじめる機械学習 by Aki Ariga
仕事ではじめる機械学習仕事ではじめる機械学習
仕事ではじめる機械学習
Aki Ariga8.2K views
Google Cloud Platform for Data Science teams by Barton Rhodes
Google Cloud Platform for Data Science teamsGoogle Cloud Platform for Data Science teams
Google Cloud Platform for Data Science teams
Barton Rhodes385 views
Why and How SmartNews uses SaaS? by Takumi Sakamoto
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
Takumi Sakamoto501 views
Let's build Developer Portal with Backstage by Opsta
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
Opsta1K views
Google Cloud Platform (GCP) At a Glance by Cloud Analogy
Google Cloud Platform (GCP)  At a GlanceGoogle Cloud Platform (GCP)  At a Glance
Google Cloud Platform (GCP) At a Glance
Cloud Analogy1.2K views
Elyra - a set of AI-centric extensions to JupyterLab Notebooks. by Luciano Resende
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Luciano Resende477 views
Exploring Google (Cloud) APIs & Cloud Computing overview by wesley chun
Exploring Google (Cloud) APIs & Cloud Computing overviewExploring Google (Cloud) APIs & Cloud Computing overview
Exploring Google (Cloud) APIs & Cloud Computing overview
wesley chun344 views
Introduce Airflow.ppsx by ManKD
Introduce Airflow.ppsxIntroduce Airflow.ppsx
Introduce Airflow.ppsx
ManKD7 views
What's New in Docker - February 2017 by Patrick Chanezon
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon1.4K views
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca... by Sakari Hoisko
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Sakari Hoisko358 views
Deploying Web Apps with PaaS and Docker Tools by Eddie Lau
Deploying Web Apps with PaaS and Docker ToolsDeploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker Tools
Eddie Lau1.5K views
[20200720]cloud native develoment - Nelson Lin by HanLing Shen
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
HanLing Shen132 views
Put the Power of Cloud-based Modeling to Work - Spotlight Session by Obeo
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Obeo169 views
Spring Boot - Microservice Metrics Monitoring by DonghuKIM2
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
DonghuKIM2395 views
Spring boot microservice metrics monitoring by Oracle Korea
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
Oracle Korea2.3K views
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code by Robert van Mölken
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Robert van Mölken201 views
Nyc mule soft_meetup_13_march_2021 by NeerajKumar1965
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021
NeerajKumar1965680 views
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow by Daniel Zivkovic
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
Daniel Zivkovic81 views

More from Takashi Someda

AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013 by
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013Takashi Someda
2.3K views49 slides
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語 by
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Takashi Someda
3.6K views58 slides
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月 by
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月Takashi Someda
5.2K views34 slides
JAWS-UG Kyoto #02 LT by
JAWS-UG Kyoto #02 LTJAWS-UG Kyoto #02 LT
JAWS-UG Kyoto #02 LTTakashi Someda
2.4K views18 slides
AWS ではじめる Programmable Cloud by
AWS ではじめる Programmable CloudAWS ではじめる Programmable Cloud
AWS ではじめる Programmable CloudTakashi Someda
3.2K views47 slides
Algo 23 MSTP by
Algo 23 MSTPAlgo 23 MSTP
Algo 23 MSTPTakashi Someda
1.1K views31 slides

More from Takashi Someda(6)

AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013 by Takashi Someda
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
Takashi Someda2.3K views
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語 by Takashi Someda
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Takashi Someda3.6K views
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月 by Takashi Someda
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
Takashi Someda5.2K views
AWS ではじめる Programmable Cloud by Takashi Someda
AWS ではじめる Programmable CloudAWS ではじめる Programmable Cloud
AWS ではじめる Programmable Cloud
Takashi Someda3.2K views

Recently uploaded

Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
154 views62 slides
Business Analyst Series 2023 - Week 4 Session 8 by
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8DianaGray10
86 views13 slides
The Role of Patterns in the Era of Large Language Models by
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
80 views65 slides
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...ShapeBlue
85 views10 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
112 views34 slides
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPoolShapeBlue
84 views10 slides

Recently uploaded(20)

Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue154 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray1086 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue85 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue112 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue84 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue88 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue94 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue117 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue63 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
ShapeBlue253 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue176 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...
ShapeBlue101 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
Fwdays53 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
ShapeBlue179 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc160 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue146 views

How we spread out our service globally by utilizing AWS and open source software ( COSCUP 2013)

  • 1. How we spread out our service globally by utilizing AWS and open source software 2013/08/04(sun)
  • 2. Takashi SOMEDA 染田 貴志 COSCUP 2013 Taipei https://twitter.com/tksmd Technology Evangelist at Nulab,Inc. JAWS UG Kyoto Branch leader About me https://facebook.com/takashi.someda Write tech articles about AWS, SCM https://github.com/tksmd
  • 4. COSCUP 2013 Taipei Backlog is a project management tool that 1,800 companies use. In addition to issue management feature, Backlog provides • File sharing by WebDAV • Git and Subversion repository hosting. Visit http://backlogtool.com/tw/
  • 5. 920,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
  • 7. User Growth of Cacoo COSCUP 2013 Taipei 0 100,000 200,000 300,000 400,000 500,000 600,000 700,000 800,000 900,000 1,000,000 Oct,2010 Oct,2011 Oct,2012 Aug,2013 62,000 200,000 600,000 920,000 All Japan Overseas
  • 8. Agenda COSCUP 2013 Taipei  Service Overview  Real time collaboration  Flexible Infrastructure by AWS  Summary
  • 14. BlazeDS client COSCUP 2013 Taipei http://livedocs.adobe.com/blazeds/1/blazeds_devguide/lcarch_2.html
  • 15. BlazeDS server COSCUP 2013 Taipei http://livedocs.adobe.com/blazeds/1/blazeds_devguide/lcarch_3.html
  • 16. Message flow between Cacoo Editors COSCUP 2013 Taipei
  • 17. Synchronize MessageDestination COSCUP 2013 Taipei Patch added to flex.messaging.cluster.JGroupsCluster flex.messaging.cluster.ClusterNode Using custom MessageService extends flex.messaging.services.MessageService ( can be configured in messaging-config.xml )
  • 18. What message exchanged COSCUP 2013 Taipei http://www.flickr.com/photos/dps/7161557/ Command
  • 19. Command Execution Model COSCUP 2013 Taipei 1.add 1.add1.add 2.move Undomoveadd 1.add 2.zoom zoom …
  • 20. Command Interface COSCUP 2013 Taipei public class Command implements IExternalizable { public var sequenceNo:uint = 0; public var isLocal:Boolean = true; public function Command() { } public function execute():void { } public function undo():void { } public function redo():void { execute(); } : } /* sequenceNo keeps the order of commands to be executed in each editors. isLocal is used to distinguish that the command is created on local editor or it is received from other editor. */
  • 21. # of Saved Commands COSCUP 2013 Taipei 430,749,991
  • 22. Partition on different tablespaces COSCUP 2013 Taipei create table command_01 ( LIKE command INCLUDING INDEXES INCLUDING DEFAULTS INCLUDING CONSTRAINTS, CHECK (diagram_id % 4 = 0) ) INHERITS (command) TABLESPACE tblspc_01; ALTER TABLE command_01_pkey set tablespace tblspc_01;
  • 23. Flexible Infrastructure by AWS http://www.flickr.com/photos/naturegeak/5688437941/
  • 24. Cacoo for Google+ Hangouts COSCUP 2013 Taipei http://launch-hangouts.cacoo.com/lp-zh_tw.html
  • 25. We had only one month COSCUP 2013 Taipei beginning of March 2012 Cacoo became a candidate of the 3rd party app announced on Hangouts API launch 28th Mar. 2012 Cacoo for Google+ Hangouts launched Need to  Develop application  Do performance testing estimating 10-20 times accesses than that of cacoo.com at that time  Prepare 10+ Servers for performance testing and new production environment
  • 26. Simplify server operations COSCUP 2013 Taipei @task def add_app(zone): ec2 = connect_ec2() ami = ec2.get_image(AMI_ID['app']) r = ami.run(min_count=1, max_count=1, key_name=KEY_NAME, user_data=load_cloudinit_script(), security_groups=['app’],instance_type=INSTANCE_TYPE['app'], block_device_map=create_block_device_map(), placement=zone, instance_initiated_shutdown_behavior='stop') instance = r.instances[0] wait_for_startup(instance) execute(”setup_app", hosts=[instance.public_dns_name]) execute(”update_hosts", roles=['all']) execute(”start_app", hosts=[instance.public_dns_name]) execute(“update_nginx_upstream”) $ fab add_app:zone=us-west-1a # fabric and boto # http://fabfile.org # http://docs.pythonboto.org/
  • 27. Tipping Point Example #1 COSCUP 2013 Taipei
  • 28. Tipping Point Example #2 COSCUP 2013 Taipei
  • 29. What we did for those growth COSCUP 2013 Taipei # For example1 $ ec2addsnap $ ec2addvol –snapshot <snap_id> –s 1024G $ ec2attvol # For example2 $ ec2run
  • 30. CloudFront for SWF distribution COSCUP 2013 Taipei Loading SWF is 10+ times faster
  • 32. OSS and AWS enable us COSCUP 2013 Taipei To fit the infrastructure according to the growth To make it available to use all over the world To make realize the key features quickly