SOA Suite on Amazon EC2

2010-06-15: this post is now obsolete. Please refer to this new post instead:

BPM 11gR1 now available on Amazon EC2

2009-11-16 UPDATE: We have now completely scripted the Oracle SOA Suite AMI – users no longer need to manually attach the Amazon EBS snapshot. Updated instructions below.

Last week at Oracle OpenWorld 2009 in San Francisco we announced the availability of a SOA Suite image for developers to deploy on the Amazon EC2 cloud. What does that give you? Access to a fully configured SOA Suite environment (Oracle Service Bus, BPEL PM, Business Activity Monitoring, JDeveloper, Enterprise Manager, etc.), running on a high-end server (8GB RAM, 64-bit Linux). You can now provision new development environment in minutes, without even having to download any Oracle software!

(credits go to Prasen Palvankar for putting that image together)
 

SIGN-UP FOR AMAZON EC2

You need an Amazon AWS account to test SOA Suite on EC2. If you don’t already have one, go to http://aws.amazon.com/console/ and sign up for EC2. Note that you will need a credit card to set up an EC2 account.

 

CONFIGURE YOUR LOCAL ENVIRONMENT TO WORK WITH EC2

In order to work effectively with servers running in the cloud you will first need to set up a few things on your local machine:

  1. Using the AWS Console, create a key pair. This key pair will be used for authentication.

    image
  2. Using PuTTYGen, convert the key for use in PuTTY
  3. Configure PuTTY to use this key. PuTTY will eventually be used for console access to your server on the cloud.
  4. Download NoMachine’s NX Client for Windows. NX will eventually be used for graphical access to your server’s desktop.

PROVISION A SOA SERVER ON AMAZON EC2

When you provision an Oracle SOA Suite server on the Amazon EC2 cloud you will be using two components:

  1. An Amazon Machine Instance (AMI) for SOA Suite (id = ami-acb557c5). Note that AMIs are volatile: if you terminate an instance you will lose any data that you might have stored on that instance.
  2. An Elastic Block Store (EBS) volume that will be seeded using a snapshot (id = snap-dd980db4) that we provide. This volume will be used to persist your data across sessions and AMI start/stop.
Start the SOA Suite AMI
  1. Log in to the AWS console at https://console.aws.amazon.com/ec2/home
  2. Click on “AMIs” in the left-hand side navigation bar and choose to view “All Images”  

    image
  3. Search for “oracle-soa” or AMI ID ami-acb557c5
  4. Select the image and click on Launch
  5. Use the following settings to start the instance:
    • number of instances = 1
    • instance type = m1.large (feel free to go for a beefier type of machines but this one is enough)
    • Key pair name = (select the key pair you created earlier) 

      image
  6. Select the keypair previously created. 
  7. Click on “Launch”. This will start the base image. Note that this can take up to a minute. Go to the “Instances” page and refresh the page from time to time until you see the status of your instance change to “running”. 

    image
  8. Take note of some important information about your instance: the zone it runs in and its public DNS address: 

    image
You should now have a dedicated server running in the cloud.
SSH to your image & Accept license
  1. Using the AWS console, navigate to your running instance and find out its public DNS address: 

    image
  2. Using PuTTY, SSH to the image as the root user: 

    image

    Note that the initial connection might take close to a minute to establish.
    If you get a security alert, click Yes to accept to add the host key to PuTTY’s registry:

    image

    image  
  3. As you log in, a script will prompt you to accept the software license
  4. After the license agreement you will be prompted to set new passwords for “root” and “oracle” (the account you will use when working with the SOA Suite). Make sure to keep track of these passwords.

    image
  5. Next you are prompted to press Enter to set up an Oracle SOA 11g volume (it’s an EBS Elastic Block Store) for use with your AMI. This volume is unique to your environment and is the workspace you use to persist data across sessions. There are 2 options here:
    1. This is the first time you start a SOA AMI: provide this ID to create a new volume pre-seeded with a snapshot we have created: snap-dd980db4.
    2. You already have created an EBS volume for SOA during an earlier session and simply want to reattach it to this AMI: select your volume from the list that the script presents you with.
  6. As part of the process you will have to provide your Amazon Access Key ID and your Secret Access Key. Both of these can be found from the AWS > Your Account > Security Credentials page.

    image
  7. If anything goes wrong during that process, you can restart it by typing “add-soa-volume” from the prompt, as root.

WORKING WITH SOA SUITE IN THE CLOUD

Now that everything is up and running on Amazon EC2, it is time to start doing something with it!
You have two main options here:

  • Run JDeveloper locally, SOA Suite on the cloud.
  • Run everything on the cloud – this is the option we will describe below. For this we use NX as remote desktop technology.

 

CONNECT TO THE GRAPHICAL ENVIRONMENT USING NX AND START YOUR SERVERS
  1. To connect to the desktop in the image use NX (download client from http://www.nomachine.com/download.php).
  2. Start the NX connection wizard, give a name to your session and enter the public DNS address of your AMI as hostname:

    image
  3. Make sure to choose the GNOME desktop and not KDE (which is the default in the NX client) 

    image
  4. Log in as “oracle” using the password that you set up earlier through SSH:

    image
  5. Once you log in you should see the following on your desktop:

    image
    1. Start/stop Oracle DB: double-click on this icon to start the Oracle database
    2. Start/Stop SOA/OSB servers: double-click on this icon to start the SOA Suite
    3. Oracle JDeveloper: double-click on this icon to start JDeveloper on the server
    4. Double-click on this text file to get information about your environment (Middleware home, ports, etc.)
GET TO WORK!

That’s it, you should now be ready to start developing against the Oracle SOA Suite 11g!

 

USING ELASTICFOX TO STREAMLINE EC2 INTERACTIONS


If you are a regular EC2 user you should definitely look into Elasticfox, a Firefox add-on that really speeds up many of the common tasks that EC2 users will have to perform: shutdown/startup, start SSH, etc.

Comments:

Hi, I could not locate the snapshot mentioned in the article. Could you please send me the correct snapshot id? snap-b173cbd8

Posted by Uday on November 12, 2009 at 03:58 PM PST #

Thanks for putting this together - we have rendered some (3) SOA Suite 11g Hands On Workshops to customers with installation of everything etc. - this might be an alternative to go for - How much will Amazon charge me for using that service ? I cudn't see anything in the long legal terms despite the fact, that they will charge for specific named WS...

Posted by BernhardFW on November 12, 2009 at 11:43 PM PST #

Hi Demed, my instance is running and I wanted to Create and attach an EBS volume but the mentioned snapshot id "snap-b173cbd8" is not available ..(;-( pls advise which snap id I may use. TIA Bernhard

Posted by BernhardFW on November 13, 2009 at 07:16 AM PST #

Hmmm... I didn't think there was a password when using SSH. Instead we use the public/private key pair process. So I'm not sure if we need to or how to enter that into NX and I don't think I have a password. The NX program allows for entry of a 'key', and it starts with this as DSA key, not RSA key as we have received from Amzn. Do we copy the name.pem key we received (i.e., before putty transformation) over the DSA key?

Posted by anon on November 13, 2009 at 04:13 PM PST #

Sorry, we updated the image to automate the snapshot attachment and IDs have changed. See updated above post. Let us know how this works now!

Posted by Demed on November 16, 2009 at 02:01 AM PST #

I managed to set up SOA suite up and running as decsribed - great job guys:) I tried to deploy a test composit application using locally installed Jdeveloper. It seems like deployer tries to upload a jar to AdminServer using amazon ip adress, not the public or elastic IP one:
[03:41:45 PM] Sending archive - sca_SOATest1_rev1.0.jar [03:42:06 PM] Error sending deployment request to server AdminServer [10.242.206.159:7001] java.net.ConnectException: Connection timed out: connect

Posted by Donatas on November 18, 2009 at 12:47 AM PST #

Donatas: Thanks for the note - will check that out. In the meantime: did you try to delete the existing server connection in JDev and recreate your own? Keep us posted and hope this image will be useful!

Posted by Demed on November 18, 2009 at 01:02 AM PST #

Donatas: I ran into the same problem when trying to deploy from my local version of jDeveloper. To solve the issue: - Go to the Weblogic Admin Console at http://your-ec2-hostname:7001/console - Click on Environment > servers - Click on AdminServer - At the bottom of the AdminServer config page click "Advanced" - In the field "External Listen Address" enter the external IP or hostname of your EC2 server instance. - Restart Weblogic That should do it. Note: every time you start a new instance you will get a new EC2 IP and hostname. If you are re-using the same EBS volume, you might want to get an "Elastic IP", and associate it with your instances. This way you won't have to specify a new external "External Listen Address" every time you start working with a new instance.

Posted by Anatole Schaff on December 01, 2009 at 03:19 PM PST #

I am unable to connect to the instance using Putty. It gives me Network error : Connection timed out. I am running Putty on Windows Vista. I would appreciate any help in resolving the above issue Thanks

Posted by athi on January 08, 2010 at 02:26 PM PST #

Are you behind a firewall? If so you need to make sure that: 1) your proxy will tunnel SSH traffic 2) you configure PuTTY to go through your proxy (connection > proxy - In my case I use my HTTP proxy) If this doesn't help, try this: try from another location (for instance from your own ISP at home) and see if it works any better. If it does then it's definitely a proxy/firewall issue and you might want to ask your network admin about how to SSH to outside. Hope this helps!

Posted by Demed L'Her on January 11, 2010 at 08:44 AM PST #

Thanks. I was able to connect and work on it. Will Amazon charge anything for using AWS with the EBS and the seeded snapshot ?

Posted by Athi on February 01, 2010 at 10:15 PM PST #

Amazon will charge you their standard AWS rates (server uptime, storage, etc.) - nothing specific to Oracle SOA Suite. Make sure you don't let servers run when you don't need them or your bills can quickly add up!

Posted by Demed L'Her on February 02, 2010 at 01:16 AM PST #

Hi there, I am new with with Amazon and I've just started experimenting with EC2 due my interest in Oracle SOA. I am so far impressed by the service but I still don't get some aspects related to instances and volumes. I followed this tutorial and it went all fine till I terminated the instance, which basically went missing from the "instance" tab. Looks like I have to start the "Launch" wizard every time and as far I can see it doesn't allow you to specify a volume to attach, in other words I have to mount it when the server is already up and running. I am correct? Do I have every day to go trough the wizard? Eventually, where can I find further documentation? Amazon forum hasn't replied yet, I doubt they will after two days. Thanks in advance Regards Alessandro Ilardo

Posted by Alessandro Ilardo on March 17, 2010 at 06:01 PM PDT #

Hi Alessandro, What you are seeing is the expected behavior: if you shut down the instance you will have to re-attach the volume yourself - either manually or via scripting. Remember that the instance doesn't preserve anything once you shut it down; this is why you need to save all your work on the EBS volume. Note that since we generated this image Amazon has introduced new features that let you also boot from an EBS volume. Eventually we should be able to uptake that capability to simplify the process. If you are interested in this right now you could try to convert the image we offer to an EBS bootable one. I haven't tried it myself but there is a number of articles on the topic: http://www.yottaa.com/blog/2010/02/converting-instance-store-instances-to-ebs-instances-aws-ec2/ Hope this helps! (this FAQ is also quite useful: http://aws.amazon.com/ec2/faqs/)

Posted by Demed L'Her on March 18, 2010 at 09:20 AM PDT #

I am trying this example and have the instance running, but I see no evidence that NX server is running or even installed. Do you have to set up NC separately?

Posted by Daniel Williams on September 29, 2010 at 07:11 AM PDT #

NX is already installed and starts automatically on EC2 image. You can confirm this with "ps ax | grep nx" on server. Hope this helps.

Posted by Demed L'Her on October 04, 2010 at 06:37 AM PDT #

Hi,
Is the instance available to developers to try samples and examples?

Thanks
Avinash

Posted by Avinash on August 24, 2011 at 12:50 AM PDT #

Any ideas when an updated AMI will become public again?

Posted by simon canil on May 20, 2012 at 09:15 PM PDT #

We're not planning to release an updated AMI at this point. Please check out the Oracle SOA Suite/BPM Suite 11.1.1.6 VirtualBox Appliance (http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html)

Posted by Simone on June 02, 2012 at 07:50 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Find Us on facebook Follow us on twitter Oracle SOA Suite forum
SOA PM team
Welcome to the Oracle SOA Suite team blog. We'll use this site for news and information that did not make it into our official documentation for a reason or another.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
4
5
6
8
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today