Openstack Architecture Design Guide