Managing Access to open platforms
What can the public see of the Voluntarily platforms?
The Voluntarily platform is designed to be cloud-hosted and managed through continuous integration (CI) services. This means that the tools required to construct the server infrastructure and deploy code to that infrastructure are provided in the codebase (at least for AWS). This makes it simple to spin up multiple instances of the platform for different purposes - integration testing, acceptance testing, trials, production etc.
Each instance occupies an AWS ECS cluster that provides a service containing one or more copies of the platform that scale according to demand. Each service runs the code from a tagged build of the codebase.
Creation of clusters and deployment of updates is restricted to a System Administrator holding AWS admin rights.
Each cluster sits behind a load balancer that directs requests to the individual servers, limits access to the HTTPS port and provides the SSL certificate.
As instances are in the cloud they are inherently accessible by the Internet. A robots.txt file informs search engine indexers that they should ignore test sites and the production site until it is launched.
A Yellow banner above the menu on test instances indicates that this is a test site and links to a content page describing the expectations for this site. The message in this banner can be set on a per-instance basis by changing environment variables in the service. e.g we can have different messages for alpha and beta.
Voluntarily Service Instances
Alpha.voluntarily.nz
Alpha always represents the current latest passing build. It is automatically updated by the continuous integration system each time a new change to the code is accepted into the master branch.
Alpha should be regarded as an integration test sandbox. People will sign in with multiple identities for testing purposes, organisations, activities and opportunities will be mostly fictional and will not actually take place.
Data may be purged from time to time. There will be bugs and incomplete features.
Beta.voluntarily.nz
Beta is the acceptance test instance. It is updated from the alpha build when testing on alpha indicates that features are stable. This will take place at least once a month and ideally weekly.
People are expected to sign in with real identities with organisations, opportunities and activities representing real possibilities. Events that are not intended to take place should be identified as such in the descriptions.
Gamma.voluntarily.nz
Gamma is the performance test instance. It may be automatically populated with large numbers of fake organisations, people, activities and opportunities. Test scripts will load the system and monitor performance and responsiveness.
Updated from Alpha prior to a performance test
Delta.voluntarily.nz
Gamma is the Security test instance. It may be configured with a representative amount of mock data and will be the target of penetration tests.
Updated from Alpha prior to a penetration test.
Live.voluntarily.nz
Live is the primary production instance. It will hold only real people, organisations and activities.
Once enabled it will remain in continuous availability. Data is backed up and multiply redundant.
This site will be indexed by search engines once launched. An updated robots.txt file will be deployed based on the target environment.
hq.voluntarily.nz
HQ is the Voluntarily SquareSpace Content management system. This does not hold a copy of the voluntarily platform but has a set of pages describing the platform and who would use it. This represents our ‘corporate’ or ‘sales’ pages area.
This site is indexed by search engines.
Voluntarily.nz
This is the primary domain for the voluntarily project. It is the URL that most people will use to visit the platform once launched.
Prior to launch Voluntarily.nz aliases to hq.voluntarily.nz.
After launch voluntarily.nz will alias to live.voluntarily.nz