@bufferings #devops_b2 30 countries & regions with local operational presence 70 + services Almost 1.3 B global members ¥ 15.4 T global gross transaction value *FY2018 Figures are from https://global.rakuten.com/corp/ accessed on April 3rd, 2019
@bufferings #devops_b2 Too many alerts Non-automated tests Long methods Meaningless names Manual deployment etc… Not updated documents Big ball of mud Dirty servers What makes Service Operation tough
@bufferings #devops_b2 Good culture, feature flags, chatops, and more. Rakuma team wants you! -> (Wantedly) https://shiiba.page.link/rakuma if current_time <= 7m
@bufferings #devops_b2 Is this really necessary? • Can we check it next morning? • Can we retry it? • Can we develop automatic recovery? What's actually happened? • What's the impact on the users? • What should we do for it?
@bufferings #devops_b2 so that everyone can think about the impact & the solution LogMessageBuilder message("What's happened?") .cause("What's the cause?") .impact("What's the user impact?") .solution("What do we have to do?") .build()
@bufferings #devops_b2 to know the actual impact on the users (Learned) Handle them at the controller layer Data Access Application Service Controller ← We can know the user impact ← We can't know the user impact
@bufferings #devops_b2 Fool Proof to use the tools at ease Fail Safe to keep consistency for every single line Idempotence so that we can send a same message multiple times Eventual Consistency for automatic recovery Decoupled Architecture to minimize the user impact
@bufferings #devops_b2 Codes/Tests/Docs Readable • having reason for every single line • meaningful names • small methods • overview → detail Maintainable • keep them updated • just enough quality & quantity
@bufferings #devops_b2 See what would come next for the service, and prepare for them • business • technology • design • organization Everything is changing rapidly
@bufferings #devops_b2 Service Operation Development Interaction 1. Reply to all the alerts 2. Safe by Design 3. Services over Projects 1. Feel the forces 2. See around the corner Summary
@bufferings #devops_b2 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr https://conferences.oreilly.com/velocity/velocity2009/public/sc hedule/detail/7641 Appendix