Jump to: navigation, search

Solum/HighLevelRoadmap

< Solum
Revision as of 19:52, 4 February 2015 by Roshan Agrawal (talk | contribs) (Milestone: Kilo)

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.

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