Jump to: navigation, search

Solum/HighLevelRoadmap

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

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

  • New CLI: as an app developer, I have access to user friendly CLI commands for managing my apps on Solum
- I can register a new app with Solum
- I can have automated unit tests executed on my latest code in git
- I can invoke unit tests + auto deployment of my latest code in git
- I can view list of my apps registered with Solum
- I can view detail status of individual apps registered with Solum
- I can delete an app from Solum
- I can register a new custom language pack to support deployment of my app needing a custom runtime     
  • Git Experience
- As an app developer, I want to view all the possible trigger URLs available for my app, so that I can can manually configure my code repository to trigger specific workflows on my code in response to events on my codebase.
- As an app developer, I want the CLI to provide an option to set up such a trigger on my repository when I register a new app to Solum, requesting minimal credentials from me to access the repository.
- As an app developer, I want the CLI to provide an option to set up such a trigger on my repository after my app has been registered, likely as part of the "solum app update" command.
  • 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. 
  • Predefined language packs
- Implement Python language pack + sample app
- Implement Java Tomcat 7 language pack + sample app
- Implement Ruby on rails language pack + sample app
  • MySQL Trove
-  Demonstrate MySQL Trove integration with an app deployed on Solum


  • Access to user friendly logs: AppDev : as an application developer, I would be able to access build, test and deployment logs for my apps on Solum
- When any errors occur in unit testing, build, or deploy, I have access to meaningful log info so that I can effectively troubleshoot what went wrong
- 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
- I want to access real time streaming logs from within the CLI console
  • Sever version: show server version in the CLI

Future milestones

  • Service Add-on framework
  • Enable following services via the Add-on framework: MongoDB, NewRelic, MemCache
  • Application performance monitoring (CPU, memory utilization, etc.)
  • Manual scaling
  • Custom SSL Certificates