Previous Step: Set up and Configure an Amazon Web Services (AWS) Account
#Step 2. Set up a Qubell Account
Before proceeding, let's review application deployment in Qubell. Qubell is designed to simplify the deployment of complex distributed applications for development, testing and production. Applications are deployed into an environment (e.g. dev, QA or production), where various environments may operate on different clouds, reside in different datacenters, and use different services. Once the environment has been set up, Qubell ensures that applications can be launched into any compatible environment. Compatibility between an application and an environment means that if the application requires a certain service, the environment must have a service available for the application. Qubell validates the compatibility of the application and environment at launch. Services come in three types:
- Cloud Accounts - Special service types reserved for public cloud accounts (e.g. Amazon EC2 or Rackspace). If your application expects a cloud, it will not be deployed into an environment that doesn't have one.
- Markers - Another special service type that indicates whether a service is present in the environment. For example, "Mainframe connection" might be a marker that signals the availability of the mainframe end-point in a particular environment.
- Services - Anything from a pool of VMs to a database with customer records. We will be using a service called "Secure Vault". Secure Vault is an encrypted store that holds your private information, including Amazon credentials and SSH keys. Applications can safely store, retrieve and use secret data.
A platform is a central repository of definitions of services available across all environments. The lifecycle of a service starts by being added to the platform, then enabled in environments as needed. Besides different services, environments may have properties and policies. Both properties and policies look like key-value pairs defined for each environment, but they are used for the following different purposes:
- Properties - Used by Qubell to store the parameters necessary to complete application deployment, configuration and management. For example,
db_connection_string = jdbc://somewhere
is a parameter needed by the application to resolve the location of the database driver in this particular environment. We will use properties to pass the location of files stored on S3 between the web store and the analytic engine. - Policies - These overwrite the values of parameters defined by the application. Different environments may impose different rules on the application. For example, while "test" environment may be configured to offer a choice of Ubuntu or CentOS for an operating system, the "production" environment may allow only RHEL. We are going to define a few policies related to the cloud account.
Before an application can be launched, there must be at least one environment set up, and that environment must have all services required by the application. Now, let's continue with configuring our application deployment environment.
To sign up for Qubell, navigate to qubell.com. Select the "Sign Up" link and create an account.
Note that the following services come pre-installed with Qubell:
- Secure Vault 2.0 - The default credentials service
- Workflow Service - The default workflow service
These services are accessible from Applications > System.
Once you create your Qubell account, you need to add your AWS account information to the platform. You can obtain your Amazon secret and access keys by following Amazon's Getting Your Access Key ID and Secret Access Key instructions. Then, go to Qubell and click the menu icon in the upper left corner of the screen. Select Cloud Accounts.
Select the "Add a cloud account" button.
Specify your account name, provider (select Amazon EC2), AWS credentials, and security group, and select the "Save" button.
SSH uses public-key cryptography to authenticate the remote computer and allow it to authenticate the user (without the need for a password). SSH keys always come in pairs (private and public). The public key can be distributed with any SSH server, while the private key is to be safely guarded by the owner. The key pair authenticates the user by verifying that the public and private keys match.
Secure Vault 2.0, Qubell's default credentials service, is pre-configured with an SSH key pair. To access the key pair, navigate to Applications > System.
Select the Secure Vault 2.0 link, and then click the Default credentials service link.
Lastly, select SSH keys from the sub-menu.
Here, you can download the pre-configured public and private keys. To upload a different SSH key pair, click the Upload button. You can also create a new key pair by clicking the Regenerate button.
##4. Set up Environment with Cloud Account and Properties
Qubell comes pre-installed with a default environment. To view this environment, click the menu icon in the upper left corner of the screen and select Environments.
Click the default link or the edit button to view the details associated with this environment.
To associate a cloud account with this environment, select the Set a Cloud Account button. Choose your cloud account from the list (recall we added it in Step 2) and select Save.
To add environment properties, click the "Add a property" button. In the pop-up window, you will need to add the property name, property type