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.

C24ae68993d2245ac88e24ccc8457a8c?s=128

Didik Wicaksono

March 12, 2015
Tweet

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
  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
  3. We are Cookpad

  4. None
  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)
  6. None
  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
  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
  9. Technology Stack

  10. Cookpad Indonesia • Ruby on Rails • NGINX • Unicorn

    • Elasticsearch • Redis • MySQL • Fluentd Cookpad Japan • Ruby on Rails • NGINX • Unicorn • Solr • Memcached • Redis • MySQL • Fluentd • ???
  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
  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
  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
  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 :(
  15. Cookpad Engineer’s Blog http://techlife.cookpad.com/ http://static.cookpad.com/techlife/presentations.html

  16. None
  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-
  18. Cookpad’s Github https://github.com/cookpad

  19. None
  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
  21. Cookpad is open for new recruits! http://recruit.cookpad.com/

  22. Thank you for listening!