SlideShare a Scribd company logo
1 of 39
Download to read offline
楽天が挑むDevOps
July,29th 2013
YoheiSasaki
PaaS Development& Operations Section
Architecture CommitteeOffice
DevelopmentUnit
Rakuten,Inc.
About me
• Yohei Sasaki
• Lead of Rakuten Platform as a Service.
• Technology Background:
• IBM Tivoli / Ruby on Rails / Apache Hadoop /
Apache CouchDB / Node.js / CloudFoundry /
…
• Job Background:
• Technical Support Engineer / Application
Developer / System Developer / System
Administrator / Project Manager / …
万屋
About us
• Rakuten, Inc.
• Internet Service Company
• Many businesses
• 1000+ developers
• 70+ teams
• 1000+ projects
インターネット企業
Go Global
• Englishnization 英語公用語化
Agenda for Today
• Why/What is RPaaS.
• Practices in RPaaS.
• Messages for DevOps people
WHY/WHAT IS RPAAS
RPaaSについて
Business Objectives
• Expand business services more rapidly
• Reduce the cost
早い + 安い + 旨い
Rakuten Platform as a Service
• Everything should be automated.
• Developer’s IN Rakuten should focus on
business implementation in the latest
technologies.
• Platform as a Service infrastructure for
Developers in Rakuten, Inc.
• Like Google App Engine, Heroku, ..etc
• Abstraction Layer of On-Premise/Off-Premise
プライベート
クラウド?
Traditional Service Building Steps
• Too many human to
human workflows
• Too many approvals.
• Too many meetings.
• Too many documents.
Request Servers
Wait for
hardware/VM
creation
Setup Operating
System
Install Software
Setup monitoring
Deploy website
Check / Test
Add to Load
Balancer
...
Developer
Operators
複雑
ステークホルダー多い
申請書たくさん
Steps in RPaaS
Developer
rpaas push myapp
Grab a coffee
• Make it simple
• Deploy
• rpaas push myapp
• URL mapping
• rpaas map myapp xxx.rakuten.co.jp
• Manage scaling
• rpaas instances myapp +10
• Bind database
• rpaas bind-service db1 myapp
• Set Monitoring
• rpaas monitor myapp –cpu 90 –mem 80
コマンド1発
Tricks – DevOps Layering
Service Devs
System Operators
Focus on Stable Infrastructure
Focus on Development
Ask
Response
依頼
Tricks – DevOps Layering
RPaaS API Service
Service DevOps
RPaaS DevOps
Focus on Infrastructure Features
Focus on Business App
Ask
Response
Consult
Consult
自動化された標準
一緒に
考える
PaaS
Reference: RPaaS Architecture
IaaS
Network
Hardware
Operating System
PaaS Kernel
Data
Services
Application
Runtime
Operation
API
SDK
RPaaS API
Service
一緒に
考える場所
Key Concepts
• Standard Document => Programmable API
• Standard Infrastructure => Infrastructure with Library
Key Concepts
• Standard Document => Programmable Standard
• Standard Infrastructure => Infrastructure with Library
標準化 道具
Key Concepts
• Standard Document => Programmable Standard
• Standard Infrastructure => Infrastructure with Library
標準化 道具
早い 旨い
Key Concepts
• Standard Document => Programmable Standard
• Standard Infrastructure => Infrastructure with Library
標準化 道具
早い 旨い安い
Service Team DevOps
rpaas stats
rpaas instances
rpaas log-storage
git push
rpaas push
rpaas map
デプロイサイクルが全部自動化
デバッグ用オペレーションもAPIで提供
サーバーのことは気にしない
PRACTICES IN RPAAS
どうやってRPaaSを作っているのか
Change the business
RPaaS DevOps
Focus on Infrastructure Features
System Operators
Focus on Stable Infrastructure
やり方を変える
安定だけではない
旨さを求める
Internal Competition
• Objectives:
• Provide multiple options for users
PaaS
IaaS
Internal Customers Internal Market
ユーザーを確保する
ところからが仕事
Member Roles Definition
• Objectives:
• Clarify the responsibilities for each member.
• A member has more than one role.
Role In charge of:
Release
Manager
• Conducting the release operations by cooperation with
administrator.
System
Administrator
• Handling Daily Operation.
• Quick Fix on troubles.
• Reporting system stats to Team Leader.
System
Developer
• RPaaS functions from planning to operations.
• Negotiation with Team Leader and Managers to decide the
release line and scope.
Team Leader • Coordination of system developers and related people
• Evaluation for RPaaS.
Manager • Budget Control
• HR related things such as evaluation
“兼任できる”
ロールを明確にする
KPI Definition
• Objectives:
• Clarify the mission.
• Evaluate the mission result.
Role In charge of:
System
Administrator
• # of alerts
• Time to solve the alerts
Release
Manager
• # of releases.
• Time to release.
System
Developer
• # of features newly implemented
• # of solved issues
Team Leader • # of launched business services
ロールに目標をつけ、評価する
Release Note
• Objectives:
• Clarify impacts
• Clarify who are customers of what you develop.
リリースノートを
全員で最初に作る
Communication in Code
• Objectives:
• Do not use manual ops.
• Anyone can do any ops
紙だけでコミュニケーションしない
Git-flow as Communication Protocol
• Objectives:
• Design & implementations in code repositories, not in meeting
rooms.
• Isolate each feature
feature/*
develop
release/*
master
hotfix/*
Administrator
Release Manager
Developer
Admin/RM
独自のルールは極力作らない
Standard Release Procedure
• Objectives:
• Reduce manual operations.
$ cd ~/rpaas-commander
$ cap setup-summary
$ cap setup-role -n
$ cap setup-role
$ cap service-in
手順書 = 動くコード
CI for infrastructure
• Objectives:
• Reduce the release tasks of which 80% are ‘task confirmation.
確認作業もコードで指示
Rolling Update
• Objectives:
• Easy to rollback
• A/B test for infrastructure
L7 Software LoadBalancer
Virtual Machine (v1)
Virtual Machine (v1)
Virtual Machine (v1)
Virtual Machine (v2)
Virtual Machine (v2)
Virtual Machine (v2)
アップデートではなく新規構築
Eat our own dog food
• Objectives:
• Stands on customer side.
• Understand pros and cons for our weapons.
自分の道具を自分で使う
Off topic?: Englishnization
• Team members from 7 countries
• Finding Specialists in the world
• Source Code / Diagram > English?
MESSAGES FOR DEVOPS
PEOPLE
Key Factors for DevOps
• Everyone should have ‘developer role’.
• Tool is a tool.
• Everything should be automated.
Key Factors for DevOps
• Everyone should have ‘administration role’.
• Tool is a tool.
• Everything should be automated.
Everyone should have ‘developer role’
• De-facto standard communication method.
• Read source
• Find a bug
• Fix the bug
• Create a new application.
#!/usr/bin/env ruby
puts “Hello Developers!”
ソースコードいじりましょう
Tool is a tool
• Chef does not solve the barrier between Devs and Ops.
@@ -1,4 +1,4 @@
-package "apache" do
+package "nginx" do
action :install
end
I wanna use Nginx! Unacceptable.
Pull Request
Chef 使ってるかどうかは
問題ではない
Everything should be automated
• Everything / Uncompromising
• Automate after manual operations
“手作業” を使っていいのは1ヶ月に1度
手順書が必要な作業を実施したら、
自動化するまでが仕事
Thank you!
And we are hiring!
楽天 PaaS開発エンジニア
• Global Team
• Emerging Technology
• Trend words
• Challenge Everyday

More Related Content

What's hot

Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Dmitry Buzdin
 

What's hot (20)

DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
 
Azure, DevOps and the Commodore 64
Azure, DevOps and the Commodore 64Azure, DevOps and the Commodore 64
Azure, DevOps and the Commodore 64
 
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
 
Going Agile: Brought to You by the Public Broadcasting System - Atlassian Sum...
Going Agile: Brought to You by the Public Broadcasting System - Atlassian Sum...Going Agile: Brought to You by the Public Broadcasting System - Atlassian Sum...
Going Agile: Brought to You by the Public Broadcasting System - Atlassian Sum...
 
Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and Infrastructure
 
What manufacturing teaches about DevOps
What manufacturing teaches about DevOpsWhat manufacturing teaches about DevOps
What manufacturing teaches about DevOps
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
 
How to use Microsoft Teams
How to use Microsoft Teams How to use Microsoft Teams
How to use Microsoft Teams
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | EdurekaAzure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
 
Boris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on AzureBoris Devouge (Microsoft) - DevOps on Azure
Boris Devouge (Microsoft) - DevOps on Azure
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Steve Thair (DevOps Guys) - DevOps for Windows in the Wild
Steve Thair (DevOps Guys) - DevOps for Windows in the WildSteve Thair (DevOps Guys) - DevOps for Windows in the Wild
Steve Thair (DevOps Guys) - DevOps for Windows in the Wild
 
Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012 Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Microsoft Azure DevOps - The Developers Conference
Microsoft Azure DevOps - The Developers ConferenceMicrosoft Azure DevOps - The Developers Conference
Microsoft Azure DevOps - The Developers Conference
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 

Viewers also liked

DevOps or: How I Learned to Stop Worrying and Love the Cloud
DevOps or: How I Learned to Stop Worrying and Love the CloudDevOps or: How I Learned to Stop Worrying and Love the Cloud
DevOps or: How I Learned to Stop Worrying and Love the Cloud
Hirokazu MORIKAWA
 
eBay Architecture
eBay Architecture eBay Architecture
eBay Architecture
Tony Ng
 

Viewers also liked (14)

10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
[RakutenTechConf2013] [A-2] Ichiba Architecture
[RakutenTechConf2013] [A-2] Ichiba Architecture[RakutenTechConf2013] [A-2] Ichiba Architecture
[RakutenTechConf2013] [A-2] Ichiba Architecture
 
React.js + Flux
React.js + FluxReact.js + Flux
React.js + Flux
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 
angular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1clubangular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1club
 
Om
OmOm
Om
 
DevOps or: How I Learned to Stop Worrying and Love the Cloud
DevOps or: How I Learned to Stop Worrying and Love the CloudDevOps or: How I Learned to Stop Worrying and Love the Cloud
DevOps or: How I Learned to Stop Worrying and Love the Cloud
 
Creating a team of DevOps “Super Sentai”
Creating a team of DevOps “Super Sentai”Creating a team of DevOps “Super Sentai”
Creating a team of DevOps “Super Sentai”
 
Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016
 
楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ
 
eBay Architecture
eBay Architecture eBay Architecture
eBay Architecture
 
Rancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bienRancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bien
 
DevOps Note 20120224
DevOps Note 20120224DevOps Note 20120224
DevOps Note 20120224
 
楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して
 

Similar to 楽天が挑むDevOps

How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
VMware Tanzu
 

Similar to 楽天が挑むDevOps (20)

Data(?)Ops with CircleCI
Data(?)Ops with CircleCIData(?)Ops with CircleCI
Data(?)Ops with CircleCI
 
SaaS - Software as a Service - Charles University - Prague - March 2013
SaaS - Software as a Service - Charles University - Prague - March 2013SaaS - Software as a Service - Charles University - Prague - March 2013
SaaS - Software as a Service - Charles University - Prague - March 2013
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devops
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as code
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
 
DevOps on Oracle Cloud
DevOps on Oracle CloudDevOps on Oracle Cloud
DevOps on Oracle Cloud
 
Achieve Performance Testing Excellence for Your SAP Apps
Achieve Performance Testing Excellence for Your SAP AppsAchieve Performance Testing Excellence for Your SAP Apps
Achieve Performance Testing Excellence for Your SAP Apps
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
 
Reliability Engineering for Enterprise Serverless
 Reliability Engineering  for Enterprise Serverless Reliability Engineering  for Enterprise Serverless
Reliability Engineering for Enterprise Serverless
 
Cloud(Ansible, Kubernete)
Cloud(Ansible, Kubernete)Cloud(Ansible, Kubernete)
Cloud(Ansible, Kubernete)
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
SkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid Cloud
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...
 
A Network Engineer's Approach to Automation
A Network Engineer's Approach to AutomationA Network Engineer's Approach to Automation
A Network Engineer's Approach to Automation
 
CA World 2014 Release Automation Coexistence in the Enterprise
CA World 2014 Release Automation Coexistence in the EnterpriseCA World 2014 Release Automation Coexistence in the Enterprise
CA World 2014 Release Automation Coexistence in the Enterprise
 

More from Rakuten Group, Inc.

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

楽天が挑むDevOps

  • 1. 楽天が挑むDevOps July,29th 2013 YoheiSasaki PaaS Development& Operations Section Architecture CommitteeOffice DevelopmentUnit Rakuten,Inc.
  • 2. About me • Yohei Sasaki • Lead of Rakuten Platform as a Service. • Technology Background: • IBM Tivoli / Ruby on Rails / Apache Hadoop / Apache CouchDB / Node.js / CloudFoundry / … • Job Background: • Technical Support Engineer / Application Developer / System Developer / System Administrator / Project Manager / … 万屋
  • 3. About us • Rakuten, Inc. • Internet Service Company • Many businesses • 1000+ developers • 70+ teams • 1000+ projects インターネット企業
  • 4. Go Global • Englishnization 英語公用語化
  • 5. Agenda for Today • Why/What is RPaaS. • Practices in RPaaS. • Messages for DevOps people
  • 7. Business Objectives • Expand business services more rapidly • Reduce the cost 早い + 安い + 旨い
  • 8. Rakuten Platform as a Service • Everything should be automated. • Developer’s IN Rakuten should focus on business implementation in the latest technologies. • Platform as a Service infrastructure for Developers in Rakuten, Inc. • Like Google App Engine, Heroku, ..etc • Abstraction Layer of On-Premise/Off-Premise プライベート クラウド?
  • 9. Traditional Service Building Steps • Too many human to human workflows • Too many approvals. • Too many meetings. • Too many documents. Request Servers Wait for hardware/VM creation Setup Operating System Install Software Setup monitoring Deploy website Check / Test Add to Load Balancer ... Developer Operators 複雑 ステークホルダー多い 申請書たくさん
  • 10. Steps in RPaaS Developer rpaas push myapp Grab a coffee • Make it simple • Deploy • rpaas push myapp • URL mapping • rpaas map myapp xxx.rakuten.co.jp • Manage scaling • rpaas instances myapp +10 • Bind database • rpaas bind-service db1 myapp • Set Monitoring • rpaas monitor myapp –cpu 90 –mem 80 コマンド1発
  • 11. Tricks – DevOps Layering Service Devs System Operators Focus on Stable Infrastructure Focus on Development Ask Response 依頼
  • 12. Tricks – DevOps Layering RPaaS API Service Service DevOps RPaaS DevOps Focus on Infrastructure Features Focus on Business App Ask Response Consult Consult 自動化された標準 一緒に 考える
  • 13. PaaS Reference: RPaaS Architecture IaaS Network Hardware Operating System PaaS Kernel Data Services Application Runtime Operation API SDK RPaaS API Service 一緒に 考える場所
  • 14. Key Concepts • Standard Document => Programmable API • Standard Infrastructure => Infrastructure with Library
  • 15. Key Concepts • Standard Document => Programmable Standard • Standard Infrastructure => Infrastructure with Library 標準化 道具
  • 16. Key Concepts • Standard Document => Programmable Standard • Standard Infrastructure => Infrastructure with Library 標準化 道具 早い 旨い
  • 17. Key Concepts • Standard Document => Programmable Standard • Standard Infrastructure => Infrastructure with Library 標準化 道具 早い 旨い安い
  • 18. Service Team DevOps rpaas stats rpaas instances rpaas log-storage git push rpaas push rpaas map デプロイサイクルが全部自動化 デバッグ用オペレーションもAPIで提供 サーバーのことは気にしない
  • 20. Change the business RPaaS DevOps Focus on Infrastructure Features System Operators Focus on Stable Infrastructure やり方を変える 安定だけではない 旨さを求める
  • 21. Internal Competition • Objectives: • Provide multiple options for users PaaS IaaS Internal Customers Internal Market ユーザーを確保する ところからが仕事
  • 22. Member Roles Definition • Objectives: • Clarify the responsibilities for each member. • A member has more than one role. Role In charge of: Release Manager • Conducting the release operations by cooperation with administrator. System Administrator • Handling Daily Operation. • Quick Fix on troubles. • Reporting system stats to Team Leader. System Developer • RPaaS functions from planning to operations. • Negotiation with Team Leader and Managers to decide the release line and scope. Team Leader • Coordination of system developers and related people • Evaluation for RPaaS. Manager • Budget Control • HR related things such as evaluation “兼任できる” ロールを明確にする
  • 23. KPI Definition • Objectives: • Clarify the mission. • Evaluate the mission result. Role In charge of: System Administrator • # of alerts • Time to solve the alerts Release Manager • # of releases. • Time to release. System Developer • # of features newly implemented • # of solved issues Team Leader • # of launched business services ロールに目標をつけ、評価する
  • 24. Release Note • Objectives: • Clarify impacts • Clarify who are customers of what you develop. リリースノートを 全員で最初に作る
  • 25. Communication in Code • Objectives: • Do not use manual ops. • Anyone can do any ops 紙だけでコミュニケーションしない
  • 26. Git-flow as Communication Protocol • Objectives: • Design & implementations in code repositories, not in meeting rooms. • Isolate each feature feature/* develop release/* master hotfix/* Administrator Release Manager Developer Admin/RM 独自のルールは極力作らない
  • 27. Standard Release Procedure • Objectives: • Reduce manual operations. $ cd ~/rpaas-commander $ cap setup-summary $ cap setup-role -n $ cap setup-role $ cap service-in 手順書 = 動くコード
  • 28. CI for infrastructure • Objectives: • Reduce the release tasks of which 80% are ‘task confirmation. 確認作業もコードで指示
  • 29. Rolling Update • Objectives: • Easy to rollback • A/B test for infrastructure L7 Software LoadBalancer Virtual Machine (v1) Virtual Machine (v1) Virtual Machine (v1) Virtual Machine (v2) Virtual Machine (v2) Virtual Machine (v2) アップデートではなく新規構築
  • 30. Eat our own dog food • Objectives: • Stands on customer side. • Understand pros and cons for our weapons. 自分の道具を自分で使う
  • 31. Off topic?: Englishnization • Team members from 7 countries • Finding Specialists in the world • Source Code / Diagram > English?
  • 33. Key Factors for DevOps • Everyone should have ‘developer role’. • Tool is a tool. • Everything should be automated.
  • 34. Key Factors for DevOps • Everyone should have ‘administration role’. • Tool is a tool. • Everything should be automated.
  • 35. Everyone should have ‘developer role’ • De-facto standard communication method. • Read source • Find a bug • Fix the bug • Create a new application. #!/usr/bin/env ruby puts “Hello Developers!” ソースコードいじりましょう
  • 36. Tool is a tool • Chef does not solve the barrier between Devs and Ops. @@ -1,4 +1,4 @@ -package "apache" do +package "nginx" do action :install end I wanna use Nginx! Unacceptable. Pull Request Chef 使ってるかどうかは 問題ではない
  • 37. Everything should be automated • Everything / Uncompromising • Automate after manual operations “手作業” を使っていいのは1ヶ月に1度 手順書が必要な作業を実施したら、 自動化するまでが仕事
  • 39. And we are hiring! 楽天 PaaS開発エンジニア • Global Team • Emerging Technology • Trend words • Challenge Everyday