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 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 Slide

  3. We are Cookpad

    View Slide

  4. View Slide

  5. 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 Slide

  6. View Slide

  7. 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 Slide

  8. 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 Slide

  9. Technology Stack

    View Slide

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

    View Slide

  11. 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 Slide

  12. 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 Slide

  13. 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 Slide

  14. 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 Slide

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

    View Slide

  16. View Slide

  17. 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 Slide

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

    View Slide

  19. View Slide

  20. ● 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 Slide

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

    View Slide

  22. Thank you for listening!

    View Slide