This document discusses implementing continuous delivery for a cloud gaming service. It proposes using Scrum and designing a development pipeline to maximize productivity. The project aims to apply a methodology to a multidisciplinary team, integrate proprietary and open source systems, and develop a product to serve users. The pipeline would deploy new versions and configurations to the cloud automatically. It was validated using monitoring tools and testing methodology. Improvements could include making upgrades nondisruptive and extending orchestration to other clouds. Overall the objectives of adopting Scrum and continuous delivery were achieved.
2. Process development
and production start
Introduction
1Continuous delivery in a cloud service
Software
development
project
Methodology
Product
complexity
increases
Development pipeline Maximizes productivity
Product viability
Complexity control
Structured
Planned
Managed
Follows a
Applies a
Ordered development phases
Procedures set
3. Motivation
• Apply a methodology to a multidisciplinary team
• Integration between proprietary and Open Source systems
• Working in an R&D environment in order to market a product
• Putting systems to serve people
2Continuous delivery in a cloud service
4. Project presentation
Objetives
• Search, analysis and implantation of a development methodology
• Design and implementation of software development pipeline
Cloud service
3Continuous delivery in a cloud service
Internet
Cloud Gaming Service
5. Agenda
1. Introduction
2. Motivation
3. Project presentation
4. Development methodologies
5. Service development pipeline
6. Validation
7. Future work
8. Conclusions
4Continuous delivery in a cloud service
6. Development methodologies
Scrum
• Motivated team
• Quality and improvement
• Flexibility and adaptation
• Timeboxed meetings
“Scrum focuses on maximizing the team's ability to deliver
software that meets the emerging requirements”
5Continuous delivery in a cloud service
State of the art
• Waterfall development
• Prototyping
• Incremental development
• Spiral development
• Agile development
13. Platform
Service components diagram
12Continuous delivery in a cloud service
Configuration
Dependencies
Data
Package
Cloud
Configuration
DB schema
Authentication
DB cloud
Nodo BD
App cloud
Nodo App
Nodo App
App node
Nodo BD
DB node
Deployed
Cloud Gaming Service
Internet
14. Use cases
Application cloud scaling
• Node provisioning and add them to the app cloud
Cloud service version update
• Deploy new platform versions to the cloud
Cloud service configuration update
• Distribute configurations to the cloud
13Continuous delivery in a cloud service
17. Future work
19Continuous delivery in a cloud service
Improvements
• Pipeline flow robustness
• Nondisruptive upgrades
• Configuration versioning
(cloud and infrastructure)
Extensions
• Orchestration of the rest of the clouds
• Deployments initiated by UI
18. Conclusions
• Importance of using Scrum and Continuous delivery
• Managing Windows-based clouds with Open Source systems
• Contribution by pull-request to Facter
• Benefits from assuming the role of Scrum Master
• All the objectives has been achieved
20Continuous delivery in a cloud service