There are several options for deploying Remoting SDK services to Amazon Web Services (AWS) using the Elastic Cloud Computing (EC2) service.
At its simplest, an EC2 instance is just a regular (virtualized) Linux or Windows machine that you can have full control over. So to run a Remoting SDK server, you can simply boot up a new EC2 instance of your choice (or use an existing machine that already runs other services for you), and deploy your server as described in the topics on deployment for Linux and Windows, respectively.
Automatic Deployment from S3
Starting with Remoting SDK 9.1, you can also use the
ROStarter tool to automatically deploy and run your servers on EC2 instances from S3.
ROStarter is a handy tool that will automatically download the latest version of your server and all related files from an S3 bucket, and run it. This way, all you need to do to deploy new versions of your server is to upload a copy to S3 and start or restart new EC2 instances.
This also helps with scalability and failover support by best leveraging AWSs strengths in this area. You define a base image (AMI) for your EC2 instances (either creating one manually or by using the one provided by RemObjects Software) which contains only a static copy of
ROStarter, but no other state and no specific version of your actual server software. You can then start and stop EC2 instances from that image as you see fit, and they will grab the correct version of your server software, and other data, automatically. When servers fail, or more servers are needed to cope with client requests, simply boot up more.
Using the Predefined ROStarter AMI
Getting started with the predefined
ROStarter AMI is easy.
- Simply log into your AWS Console and start a new server instance with the ROStarter AMI, linked below.
- Configure the User Data field of the instance with information about and access keys to the S3 bucket that contains your server, using the snippet below as starting point.
- Upload your server to the S3 bucket in question.
- Launch the instance(s).
ROStarter AMI Links
- Coming soon, as Remoting SDK 9.1 enters beta.
Example User Data
The user data for ROStarter uses a simple ini-style format of value pairs. You can also add your own values and use them from your server.
RO_AWS_S3_Bucket=my-server-bucket RO_AWS_S3_Prefix=subfolder/with/server RO_AWS_S3_RegionEndPoint=s3-sa-east-1.amazonaws.com RO_AWS_AccessKeyID=AK............HA RO_AWS_SecretAccessKey=7C....................18 RO_BaseFolder=~/rostarter
RO_BaseFolder settings are optional.
ROStarter is an upcoming feature for a future release of Remoting SDK (currently planned for version 9.1). More details will be provided when it enters beta, and exact details may be subject to change between now and release.