Jump to: navigation, search

Difference between revisions of "Solum/HighLevelRoadmap"

(Program Scope)
(Milestone: Kilo)
Line 37: Line 37:
  
 
'''Predefined language packs'''
 
'''Predefined language packs'''
* Implement Python language pack + sample app
+
- Implement Python language pack + sample app
* Implement Java Tomcat 7 language pack + sample app
+
- Implement Java Tomcat 7 language pack + sample app
* Implement Ruby on rails language pack + sample app
+
- Implement Ruby on rails language pack + sample app
  
 
* '''MySQL Trove''': Demonstrate MySQL Trove integration with an app deployed on Solum
 
* '''MySQL Trove''': Demonstrate MySQL Trove integration with an app deployed on Solum
Line 53: Line 53:
 
  - I want to be able to drill down into detail logs
 
  - 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 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
+
- I want to access real time streaming logs from within the CLI console
  
 
* '''Sever version''': show server version in the CLI
 
* '''Sever version''': show server version in the CLI

Revision as of 21:24, 4 February 2015

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
  • 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
  • Logging improvements: Operator persona

- Lack of sufficient info in log for investigating build errors: When any errors/exceptions occur in unit testing, build, build LP, deploy, we need to log sufficient info, e.g. assembly_id, image_id, etc., so that we can associate errors with resources.


  • 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.
- 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