software engineering at rightscale

Download Software Engineering at RightScale

Post on 26-Jun-2015




1 download

Embed Size (px)


A guest lecture given at the University of St Andrews on how RightScale does software engineering.


  • 1. Software Engineering at RightScale Ali Khajeh-Hosseini @AliKhajeh Oct 2014, University of St Andrews

2. Im here to talk about RightScale Cloud Analytics and how we build it 3. Jan 2009: Started researching cloud cost forecasting in St Andrews Dec 11: With Hassan, we launched PlanForCloud Jul 12: Acquired by RightScale Nov 13: Launched Private-Beta of Cloud Analytics Mar 14: Cloud Analytics goes into Public-Beta Oct 14: Cloud Analytics is Generally Available The story so far 4. What the heck is a cloud? 5. Server 6. Rack 7. Container 8. Electricity, Water, Internet 2500 Servers 9. Taken from one of Dave Cliffs talk on Cloud Computing 10. a cloud 11. Infrastructure-as-a-Service Platform-as-a-Service Software-as-a-Service Cloud Computing 12. Cloud Analytics helps users make decisions Cloud Management helps users take actions 13. Cloud spending is growing rapidly Cloud pricing is complicated we scrape over 12,000 prices Need to monitor, forecast and optimize cloud spend The challenge 14. Connect to a cloud We regularly collect data 15. Slice and dice the data 16. See historic trends 17. Forecast costs based on switching clouds or increased growth 18. Who buys our products? Enterprises like Sony, EA Games, PBS, Pearson Publishing, Zynga 19. Our Scale How many dev teams? How many code repos? How many instances? How much VC funding? 20. RightScale Engineering Youre shipping too late if youre comfortable with what youre shipping 21. Engineering Roles Product Manager: what should we build? Engineering Manager: how should we build it? Architects: design the systems UX: design the user experience Operations: deploy, scale and monitor systems Escalations: something just broke, who can fix it? Support/Docs: help customers use it Engineers: work with everyone to build and test it 22. Dev Process: Scrum 2 week sprints 1 day planning End of sprint demo Release Retro 2weeks 23. Design Wikipages +Comments/discussions Itsmostlyinformal No Word documents No UML diagrams 24. Planning Story:As a user I want to export report as PDF So that I can share it with others Refactor simulation engine to Switch from Google charts to Highcharts Generate PDF in background queue Write tests Code review Engineers breakdown stories into tasks Granularity: less than a day to complete 25. Estimation Play planning poker 26. Sprint calculations =================SprintSummary================= SprintBegins:02/06/2014 SprintEnds:10/06/2014 SprintDura=on:9days Team:John,Joe,Je,Jack Development: Vaca=on:0days TotalCapacity:200hours --releaseissues:10 --prioritybugs:30 --techdebt:50 --backlog:110Start sprinting 27. Daily standup (9:30am sharp) Answer: 1. What did you do yesterday? 2. What are going to do today? 3. Is anything blocking you? 28. Weekly release trains Merge your feature if its ready to ship that week 29. Code reviews 30. Good tests Positive tests Negative tests Fast tests 31. Continuous integration 32. Good test coverage 33. Exception handling 34. Issue tracking 35. Performance monitoring 36. Some


View more >