Skip to content
marekjelen edited this page Jan 23, 2012 · 10 revisions

Wildcloud

What?

Wildcloud is not a Platform as a Service (PaaS) per se, because it is not, yet, offered as a service. It is just a product for deploying web applications. Before the time of a service offering comes, let's call it Do it yourself Platform (DiyP). In example, it may be used as a development/staging environment or as a basis for building some commercial service.

Deployments

Features

  • Design
    • Loosely coupled components
    • AMQP protocol for communication
    • Aufs3 for thin provisioning
    • LXC for instance separation
  • Git repositories management
    • Create / destroy repository
    • Manage SSH keys, authentication, authorization
    • Git push notifications
  • Application deployment
    • Any Git repository may be used as source
    • Build phase to prepare runnable image
    • Deployment phase for starting images
    • Thin provisioning of applications
    • Resource allocation limiting
    • Support for multiple technologies (Ruby, Python, PHP, Node.js)
    • Support for installing system packages
    • Support for running user-specific processes
  • HTTP routing
    • Load-balancing requests among available instances
    • HTTP traffic monitoring (request count, traffic)
    • Request/Response modifications
  • Monitoring, high-availability
    • Dead node detection
    • Dead component detection
    • Automatic restarting of components
    • Remote component management - starting, stopping
    • Automatic restarting of user processes
    • Standart output and error stream logging from instances
  • Storage
    • Simple facade from actual storage - filesystem, gridfs, ...
  • Session store
    • Redis based HTTP service for session sharing

Why?

  • need for a diploma thesis topic and project and this was an interesting endeavor
  • consolidate standalone scripts and libraries into something more robust
Clone this wiki locally