Jump to: navigation, search

Solum/HighLevelRoadmap

< Solum
Revision as of 19:51, 4 February 2015 by Roshan Agrawal (talk | contribs) (Previous milestones)

System Overview

SolumOverview.png

Program Scope

For developers: Provide an easy to use, fast experience developing applications for OpenStack , by providing an automated CI/CD pipeline.

For release managers: Provide streamlined application lifetime management via Environments (dev,test,staging,prod), permissions(I.e. who can deploy to prod),what tests get run in which environment, usage/cost information per environment, etc

The program vision consists of the following 4 items-

1. CI: Source to image (continuous integration pipeline)

 - GIT, build+unit test, generate image, run functional tests, persist image for deployment via Heat

2. CD

 - automated deployment, management of running apps(monitoring, autoscaling, self-healing), blue green deployments, application versioning and rollbacks

3. Environments

 - permissions(I.e. who can deploy to prod),what tests get run in which environment, usage/cost information per environment, etc

4. Developer tooling

 - IDE plugins, SDK's, CLI, UI console

TBD: Work in Progress

Solum Roadmap

Previous milestones

  • SOLUM-R1: Application deployment/management [R1.1 (Story 1 and 2 only), R1.2, R1.3]
  • SOLUM-R4: User Authentication
  • Blueprints: https://launchpad.net/solum/+milestone/milestone-1
  • Reliability improvements: bug fixes
  • Ability to configure unit tests to be run as part of CI pipeline
  • Retry on failures: as an application developer, if the CI invocation faiIs due to any reason, I would be able to trigger rerun of the CI workflow without resubmitting the code.

Milestone: Kilo

  • Custom Language Pack
- As an operator, I can codify setup of custom language stack, and make it available to application developers so that they can start using the custom stack for CI+CD (build, run tests, generate DU). 
- as an application developer, I can codify setup of my custom language stack, and have Solum use my custom stack for CI+CD. 
  • Implement Python language pack + sample app
  • Implement Java Tomcat 7 language pack + sample app
  • Implement Ruby on rails language pack + sample app
  • Demonstrate MySQL Trove integration with an app deployed on Solum
  • Access to logs : as an application developer, I would be able to access build, test and deployment logs for my apps on Solum.
- I want my logs to be accessible only to me
- I want to be able to view summary log data (build pass/pail, test pass/fail, number of tests passed/failed etc)
- I want to view my logs scoped to individual pull requests 
- I want to be able to drill down into detail logs
- I would like to see user friendly logs i.e. logs meant to be consumed by an app developer persona
- on private repos I want all GitHub collaborators on the repo to have access to the test logs. For public repos, I want the public to have access to the test logs. 


  • Jenkins Integration: as a customer already using Jenkins for my CI needs, I would be able to integrate my Jenkins CI instance with Solum and have access to Solum features (i.e. persist build output produced by Jenkins in glance via Solum, automated deployments, etc.)
  • Trove Integration: as an application developer, I would be able to deploy apps that have ready access to trove MySQL service.

Milestone 2015.1

Milestone 2015.1.2

  • Auto scaling
  • Self-healing
  • Custom SSL Certificates
  • Container Sleep/Wake
  • Blue/green deployments

Milestone 2015.1.3

  • Environments (Dev, Test, Prod, custom)
    • Application Lifecycle Management (promote code from dev to test to prod)
  • SDK for interfacing with the PaaS REST API
  • Roles and privileges


Milestone 2015.2

  • Non-web workloads (Background and scheduled jobs)
  • HA via distributed placement of load balanced set of code container instances
  • Network isolation - dedicated private network for applications
  • IDE Plugins for Eclipse, IntelliJ, JBoss Studio, Komodo
  • Integration with online IDE
  • Online developer sandbox
  • Additional services