Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cookpad Indonesia Technology Stack

Cookpad Indonesia Technology Stack

Informal discussion and sharing session at Jogja Digital Valley. Presenting technology stack of Cookpad Indonesia and some of Cookpad Japan. Also discussion and sharing awesome libraries and resources that Cookpad Engineers have created.

Didik Wicaksono

March 12, 2015
Tweet

More Decks by Didik Wicaksono

Other Decks in Technology

Transcript

  1. Cookpad Indonesia
    Technology Stack
    Didik Wicaksono
    https://github.com/firewalker06
    https://twitter.com/did1k
    Informal discussion and sharing at Jogja Digital Valley
    Mar 12, 2015

    View full-size slide

  2. Didik Wicaksono
    Github: firewalker06
    Twitter: did1k
    ● 2008 => start as a web designer
    ● 2010 => learn PHP
    ● 2011 => created DapurMasak.com (not a co-founder)
    ● 2012 => won Sparxup and INAICTA
    ● 2014 => got acquired by Cookpad, learn Ruby

    View full-size slide

  3. We are Cookpad

    View full-size slide

  4. Cookpad is Japan’s top recipe site allowing
    visitors to upload and search through original,
    user-created recipes. Currently being used by
    most Japanese women in their 20-30s,
    Cookpad has become an essential tool in
    enabling families to enjoy cooking across
    Japan.
    In 2014, Cookpad acquires Mis Recetas
    (Spanish), Allthecooks (English), and
    DapurMasak (Indonesian)

    View full-size slide

  5. Before acquired by Cookpad (2013)
    ● 500 K UU/month
    ● 5 K recipes
    ● PHP CodeIgniter
    ● deploy once in 2-3 weeks
    After acquired by Cookpad (2014)
    ● 1.4 M UU/month
    ● 12 K Recipes
    ● Ruby on Rails
    ● deploy once in 2 days

    View full-size slide

  6. Cookpad Japan
    ● over 50 M UU/month
    ● over 1.9 M Recipes
    ● Ruby on Rails
    ● deploy 11+ times a day
    ● 80+ engineers
    ● created other products, web & mobile apps
    related to recipes
    ● most revenue comes from Premium Member
    Subscription
    ● founded in 1997
    ● IPO in 2009
    ● 3 Ruby Committers, 1 Rails Commiter

    View full-size slide

  7. Technology Stack

    View full-size slide

  8. Cookpad Indonesia
    ● Ruby on Rails
    ● NGINX
    ● Unicorn
    ● Elasticsearch
    ● Redis
    ● MySQL
    ● Fluentd
    Cookpad Japan
    ● Ruby on Rails
    ● NGINX
    ● Unicorn
    ● Solr
    ● Memcached
    ● Redis
    ● MySQL
    ● Fluentd
    ● ???

    View full-size slide

  9. Development Lifecycle in Cookpad Indonesia
    ● Add stories in Pivotal Tracker
    ● Engineers pick a story to work on
    ● Create a pull request in Github
    ● Code reviews by team members
    ● LGTM!
    ● Merge pull request
    ● Test & Deploy
    ● Finish PT story

    View full-size slide

  10. Awesome stuff that Cookpad engineers built
    ● tofu
    ○ scalable image (pictures) system
    ● mamiya
    ○ github.com/sorah/mamiya
    ○ deployment system, 150 hosts/m
    ● switch_point
    ○ github.com/eagletmt/switch_point
    ○ simple master / slave DB connection switch
    ● rrrspec
    ○ github.com/cookpad/rrrspec
    ○ distributed testing, highly fault-tolerant

    View full-size slide

  11. continue...
    ● database_rewinder
    ○ github.com/amatsuda/database_rewinder
    ○ fast delete strategy for cleaning up tables after
    testing
    ● ridgepole
    ○ github.com/winebarrel/ridgepole
    ○ update database from SchemaFile without adding
    migration files
    ○ like chef/puppet
    ● chanko
    ○ github.com/cookpad/chanko
    ○ prototyping Rails app by creating “units” of MVC

    View full-size slide

  12. continue...
    ● kage
    ○ github.com/cookpad/kage
    ○ duplicate HTTP requests to another server
    ● pt-flow
    ○ github.com/balvig/pt-flow
    ○ integrate workflow between PT and Github
    ● probably more, but I don’t know yet :(

    View full-size slide

  13. Cookpad Engineer’s Blog
    http://techlife.cookpad.com/
    http://static.cookpad.com/techlife/presentations.html

    View full-size slide

  14. Some Interesting English Presentations
    ● Continuous Delivery in Cookpad
    ○ https://speakerdeck.com/takai/continuous-delivery-
    in-cookpad
    ● Cookpad and Microservices
    ○ https://speakerdeck.com/taiki45/cookpad-and-
    microservices
    ● The Recipe for The World’s Largest Rails Monolith
    ○ https://speakerdeck.com/a_matsuda/the-recipe-for-
    the-worlds-largest-rails-monolith
    ● Scalable Deployment
    ○ https://speakerdeck.com/sorah/scalable-
    deployments-how-we-deploy-rails-app-to-150-plus-
    hosts-in-a-minute
    ● Tofu Cookpad’s Image System
    ○ http://www.slideshare.net/mirakui/20111102-rails-

    View full-size slide

  15. Cookpad’s Github
    https://github.com/cookpad

    View full-size slide

  16. ● Cookpad founded in 1997, IPO in 2009, in
    2014 start acquiring recipe sites around the
    world
    ● github.com/cookpad : open source
    contributions
    ● techlife.cookpad.com : engineer’s blog and
    talks
    Conclusion

    View full-size slide

  17. Cookpad is open for new recruits!
    http://recruit.cookpad.com/

    View full-size slide

  18. Thank you for listening!

    View full-size slide