SlideShare a Scribd company logo
Large-scale web service
           and operations
             with Ruby

2011   7   19
2011   7   19
I and
                RubyKaigi
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Large-scale web service
         and operations with
                Ruby
2011   7   19
Large-scale web service
         and operations with
                Ruby
2011   7   19
Large-scale web service
         and operations with
                Ruby
2011   7   19
Large-scale web service
         and operations with
                Ruby
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Bringing smiles to everyone by
           making every day cooking more
                     enjoyable.


2011   7   19
What is
                COOKPAD?

2011   7   19
2011   7   19
12,300,000 UU (pc only)
                1+ million Recipes
           Used by 1 in 2 women
                in their 30s
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Architecture based on best practices




2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
http://d3921.image.cookpad.com/
            recipes/1237075/100x141c/
       0b9c3ad1cba65869058e17cf78988bcb.jpg



2011   7   19
http://d3921.image.cookpad.com/
          recipes/1237075/      100x141c
                                       /
       0b9c3ad1cba65869058e17cf78988bcb.jpg


2011   7   19
‘100’


                ‘100x100’


                ‘100x100c’


                ‘100x100c40_198_137_104_300’

2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Easily customizable
                       search
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Architecture based on best practices



2011   7   19
“Good enough” is not good enough.
                Always focus on what is best


2011   7   19
2011   7   19
•   Only add absolutely necessary features


                •   Avoid complexity




2011   7   19
•   Design for caching


                •   Avoid complex SQL queries




2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Development



2011   7   19
2011   7   19
2011   7   19
Working with Rails within a large team



2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Run specs remotely

2011   7   19
$	
  rake	
  cookpad:spec:remote
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
How did using a CI change our development flow?


                Only release successful CI builds

                Test coverage as a requirement



                Tests should be written so they can run on a CI




2011   7   19
2011   7   19
$	
  cap	
  production	
  deploy

                 Add a "deploy message" to every release

                 (ex: "Added feature x", "Fixed bug z" etc)

                 Skype notification

                 Mail sent to developer and support mailing lists

2011   7   19
2011   7   19
2011   7   19
2011   7   19
It is nearly impossible to reduce number of exceptions to 0


                Looking for spikes in number of exceptions is key


2011   7   19
2011   7   19
2011   7   19
2011   7   19
Expands upon Rails functionality

                 Selective release of new features

                  (ex: “Show feature X only to users A, B, C)

                Used for prototyping

                Specs not required

       If an exception occurs in an extension, it is turned off automatically

2011   7   19
2011   7   19
2011   7   19
new features


                stats for staff
2011   7   19
2011   7   19
How do we handle prototypes
                  we decide not to release?

2011   7   19
$	
  rm	
  app/extensions/
                  foobar_ext



2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
2011   7   19
Thank You

2011   7   19
2011   7   19

More Related Content

PDF
クックパッドの開発プロセス
PDF
モバイルアプリ開発体制の継続的改善 in JaSST'14 Hokkaido
PDF
第7回 ECMA-262 Edition5.1読書会
PDF
Rubyの会社でPythonistaが3ヶ月生き延びた話
PPTX
スケールしない広告サーバの作り方
PPTX
高速な広告配信サーバの作り方のコツ
PPTX
HTTPプロキシによるゼロダウンタイムなアドサーバー移行
PDF
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
クックパッドの開発プロセス
モバイルアプリ開発体制の継続的改善 in JaSST'14 Hokkaido
第7回 ECMA-262 Edition5.1読書会
Rubyの会社でPythonistaが3ヶ月生き延びた話
スケールしない広告サーバの作り方
高速な広告配信サーバの作り方のコツ
HTTPプロキシによるゼロダウンタイムなアドサーバー移行
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ

Similar to Ruby を利用した大規模ウェブサービスの開発・運用 (20)

PDF
20110903 candycane
PDF
Ruby and Rails, as secret weapon to build your service-oriented apps
PDF
Pitfalls of Continuous Deployment
PPTX
SELF - Becoming a Rails Developer - The Rest of the Story
PDF
Building Large Web Applications That Are Easy to Maintain
PPT
Ruby On Rails Introduction
KEY
Freelancing and side-projects on Rails
PDF
Outside The Code
PDF
Mwrc2011 cookbook design patterns
PDF
Ruby on Rails 3.1: Let's bring the fun back into web programing
PDF
Rocket Fuelled Cucumbers
KEY
Enterprise Architectures with Ruby (and Rails)
PDF
Continuous Deployment: The Dirty Details
PDF
Rails - getting started
KEY
Rapid development with Rails
KEY
Becoming a more productive Rails Developer
PDF
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
PDF
Building Cloud Castles
PDF
Running The Show Configuration Management With Chef Presentation
PDF
How Heroku uses Heroku to build Heroku
20110903 candycane
Ruby and Rails, as secret weapon to build your service-oriented apps
Pitfalls of Continuous Deployment
SELF - Becoming a Rails Developer - The Rest of the Story
Building Large Web Applications That Are Easy to Maintain
Ruby On Rails Introduction
Freelancing and side-projects on Rails
Outside The Code
Mwrc2011 cookbook design patterns
Ruby on Rails 3.1: Let's bring the fun back into web programing
Rocket Fuelled Cucumbers
Enterprise Architectures with Ruby (and Rails)
Continuous Deployment: The Dirty Details
Rails - getting started
Rapid development with Rails
Becoming a more productive Rails Developer
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
Building Cloud Castles
Running The Show Configuration Management With Chef Presentation
How Heroku uses Heroku to build Heroku
Ad

More from Yuichi Tateno (6)

PDF
fluentd を利用した大規模ウェブサービスのロギング
KEY
継続的インテグレーション - Ruby勉強会@札幌-18
KEY
大江戸Ruby会議01 高速なテストサイクルを回すには
PDF
さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料
PDF
Deb2009
PDF
デブサミ2009 はてなの開発戦略
fluentd を利用した大規模ウェブサービスのロギング
継続的インテグレーション - Ruby勉強会@札幌-18
大江戸Ruby会議01 高速なテストサイクルを回すには
さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料
Deb2009
デブサミ2009 はてなの開発戦略
Ad

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Machine learning based COVID-19 study performance prediction
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
Empathic Computing: Creating Shared Understanding
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Review of recent advances in non-invasive hemoglobin estimation
Machine learning based COVID-19 study performance prediction
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
cuic standard and advanced reporting.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Encapsulation_ Review paper, used for researhc scholars
MIND Revenue Release Quarter 2 2025 Press Release
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
sap open course for s4hana steps from ECC to s4
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Programs and apps: productivity, graphics, security and other tools
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.

Ruby を利用した大規模ウェブサービスの開発・運用