Deployment

There are several different ways the Dream Platform can be deployed. The whole point is that it is a platform to build systems and services.

Core components behind Dream Platform:

  • PostgreSQL, at least version 8.4
  • Python, version 2.6 or 2.7
  • ejabberd
  • RabbitMQ
  • memcached
  • NGINX

Servers

At the bare minimum there needs to be one virtual machine for the User Database which handles the IdP functionality. Then all Service Providers need at least one virtual machine each.

We’ve been deploying these on a Ubuntu Precise LTS and we’ve built automatic deployment with Puppet.

Usual deployment looks like this:

_images/server.jpg

Firewall and load balancer in front of application server cluster running several instances of all services. And database at the back. Memcache is running on all application servers and they are shared.

It is also possible to deploy to bare metal but virtual machines are preferred.

This has been deployed to: