spec v0.1
Signed-off-by: rscnt <rascnt@gmail.com>
This commit is contained in:
parent
207fc31417
commit
9cf8bcd7f3
1 changed files with 191 additions and 0 deletions
191
docs/hosting_app_spec.rst.txt
Normal file
191
docs/hosting_app_spec.rst.txt
Normal file
|
@ -0,0 +1,191 @@
|
|||
=====================================
|
||||
Ungleich Hosting WebApp Specification
|
||||
=====================================
|
||||
|
||||
Author: Raul Ascencio
|
||||
Contact: raul.ascencio@ungleich.ch
|
||||
Version: 0.1
|
||||
Date: 2015-06-11
|
||||
Copyright © ungleich GmbH 2015
|
||||
|
||||
-----
|
||||
Terms
|
||||
-----
|
||||
|
||||
User
|
||||
The end-user, person/entity who books/use one or more vm's.
|
||||
|
||||
Ungleich
|
||||
The company agents/users the creators and admins ofr the ungleich hosting
|
||||
webapp.
|
||||
|
||||
--------
|
||||
Overview
|
||||
--------
|
||||
|
||||
Ungleich hosting is a Plataform as a Service (PaaS) for multiple application
|
||||
stack, offers multiple languages (ruby, python, javascript {node,io}.js),
|
||||
application servers and databases.
|
||||
|
||||
Ungleich hosting let the user focus on being more productive, without having
|
||||
to worry about the complexities of maintaining a production enviroment.
|
||||
|
||||
**This spec is not complete**, in fact it hasn't even be reviewed once, it
|
||||
probably needs a couple of revisions to be accepted.
|
||||
|
||||
What the ungleich plataform offers:
|
||||
|
||||
- Stack management.
|
||||
- Monitoring and alerting.
|
||||
- High availability.
|
||||
- Automatic aplication deployment.
|
||||
- Ready to use stacks.
|
||||
- Automated Management.
|
||||
- User Access Management [?].
|
||||
- Production Ready Services (Postgresql, Memcached, Redis...).
|
||||
- Backups and redundancy.
|
||||
- Full management and support for stack-related issues [?]
|
||||
|
||||
Avilable stacks:
|
||||
|
||||
**Ruby Stack**
|
||||
|
||||
- Load balancers:
|
||||
- HAProxy
|
||||
- Frameworks:
|
||||
- Ruby on Rails
|
||||
- ...
|
||||
- Web Servers:
|
||||
- NGINX
|
||||
- ...
|
||||
- Application Servers:
|
||||
- Unicorn
|
||||
- Passenger
|
||||
- Puma [?]
|
||||
- Databases:
|
||||
- Postgresql
|
||||
- Mysql [?]
|
||||
- Mongodb [?]
|
||||
- Caching:
|
||||
- Memcached [?]
|
||||
- Redis (people often use it for other things and it's nice to have) [?]
|
||||
- Misc:
|
||||
- Preinstalled gems (sidekiq/resque, )
|
||||
|
||||
**Python Stack**
|
||||
|
||||
- << Inserts Ruby Stack and replace:
|
||||
- Application Servers:
|
||||
- Gunicorn
|
||||
- uWSGI
|
||||
- Frameworks:
|
||||
- Django
|
||||
- ...
|
||||
- Misc:
|
||||
- Celery/Gearman
|
||||
- ...
|
||||
|
||||
**Node Stack**
|
||||
|
||||
- << Inserts Ruby Stack and replace:
|
||||
- Frameworks:
|
||||
- Express
|
||||
- Meteor
|
||||
- Hoodie
|
||||
- Databases:
|
||||
- ...
|
||||
- Couchdb (Hoodie)
|
||||
- Misc:
|
||||
- npm
|
||||
- pm2
|
||||
- browserify/requirejs/webpack
|
||||
- ...
|
||||
|
||||
Brief summary of how it works:
|
||||
|
||||
1. The *User* goes to an Ungleich Hosting website to register.
|
||||
2. Once logged in, the *User* get asked for his/her billing information to start
|
||||
booking machines.
|
||||
3. After the *User* inserts a 'valid' credit card he books a VM.
|
||||
4. When a VM is booked the *User* is subscribed to a 'plan' that it's related
|
||||
with the VM specs.
|
||||
a. User can be asked for a public SSH key, this key can be used to access
|
||||
to the server.
|
||||
5. The subscription gets confirmed, *Ugleich* deploy the requested infrastructure
|
||||
and stack.
|
||||
6. *User* is notified that the new VM is ready to use.
|
||||
7. The *User* access the new VM and deploys the Application.
|
||||
|
||||
-----------------------
|
||||
Ungleich Hosting - Goal
|
||||
-----------------------
|
||||
|
||||
As ungleich, we want to offer "Application Hosting" - pre-configured VMs plus
|
||||
support for the technologies running on them, the VMs should be "clickable"
|
||||
as in self service mid term.
|
||||
|
||||
--------------------------
|
||||
Ungleich Hosting - Phase 0
|
||||
--------------------------
|
||||
|
||||
This phase will deliver a fully functional webpage for railshosting, without the
|
||||
capabilities of the 'ungleich hosting app', except from selecting an stack
|
||||
ordering it by email and the user being subscribed to a plan (billing).
|
||||
|
||||
Where this phase come from:
|
||||
|
||||
+ ...for the moment, it is enough if we generate a mail for every order
|
||||
+ get rails-hosting.ch running so that somebody can order a VM including
|
||||
payment
|
||||
|
||||
*********
|
||||
Non Goals
|
||||
*********
|
||||
|
||||
+ The VMs should be "clickable" as in self service.
|
||||
+ End-User interface to manage their VMs.
|
||||
|
||||
*******************
|
||||
The User Experience
|
||||
*******************
|
||||
|
||||
We assume that the *User* (Masteen) has a Rails Application ready to deploy with our
|
||||
current stack for RoR application.
|
||||
|
||||
|
||||
|
||||
|
||||
--------------------------
|
||||
Ungleich Hosting - Phase 1
|
||||
--------------------------
|
||||
|
||||
This phase will deliver the foundations for most of the ungleich hosting app capabilities.
|
||||
|
||||
|
||||
for the moment, it is enough if we generate a mail for every order
|
||||
|
||||
************
|
||||
User Stories
|
||||
************
|
||||
|
||||
User stories
|
||||
|
||||
get rails-hosting.ch running so that somebody can order a VM including payment
|
||||
|
||||
migrate www.ungleich.ch to Django
|
||||
|
||||
let me try makes an entry in a database, but so far we are not checking it regulary
|
||||
|
||||
the hosting price samples link nowhere
|
||||
|
||||
Info needing for user:
|
||||
|
||||
+ User Info
|
||||
+ Addrress
|
||||
+ Billing Details
|
||||
+ Phone Verification [?]
|
||||
|
||||
DO:
|
||||
|
||||
+ email & password
|
||||
+ Comfirm email -> Billing Details -> Create Droplet
|
Loading…
Reference in a new issue