Skip to Content

In this post, I describe how I setup a windows environment to install SAP ABAP and Java stacks, using the Amazon Simple Storage Service (S3) to store persistent data.  I needed to:
* install and modify an appropriate Windows 2003 Server environment,
* save this environment for future use

In a subsequent post, I will describe the installation of an IDES system running NW7 and DB2.  The three major challenges were
* setting up persistent storage of the NW and DB2 installation,
* suitable for using standard SAP and AWS functionality to support sustained (i.e. 24×7) operation of the SAP system
* and allowing you to stop and start the SAP system and / or server without losss of persistent data.

The result is a fast and cheap way of running up multiple systems, with the following features:

* You are only charged running costs for those systems that are running
* Low running costs (at the time of writing, $US 50 cents an hour)
* Low storage costs ($US 15 cents / GB / month for your 50TB)
* No more waiting for hardware – you can start implementation right now
* Systems (i.e. extra application servers) can be implemented, but not running

 

What did I know I would need ?

After reading the NW 70 SR3 installation Guide for Windows / DB2, I knew the following:
* I needed a 64 bit Windows Server with authentication services,
* I needed a reasonable amount of RAM, plus a decent swap space,
* I needed JAVA 1.4.

After reading the AWS EC2 documentation, I also knew that it was not practical to keep any volatile datasets (i.e. DB2 itself, DB2 logs, SAP process logs, etc) as part of the server, and that I would need to use the Amazon EBS servcie for persistent storage.

 

Signing up for Amazon EC2 and S3

An excellent account of how to setup a Windows Server image, and the principles behind this, can be found at Dave Winer’s EC2 for Poets. It also gives a good overview of how to sign up for both EC2 and S3 and the issues around persistent data.

 

Creating the base Amazon Machine Image (AMI)

Logon to the AWS Management Console and select the Amazon EC2 tab.

Subset of Amazon EC2 Console
Select the Launch Instance button…

Amazon EC2 Start Instance Wizard

.. then find and select the Basic 64-bit Microsoft Windows Server 2003 with Authentication Services image.

 Once the server shows up as running, logon using the techniques described in Dave Winer’s EC2 for Poets.  One of the first things I did was to create a sapinstall user.  This allows me to logon (via RDP) as user sapinstall / password without having to muck around with the keypairs. 

 

Changes to standard AWS Windows 2003 64-bit Image

There were five issues that needed to be dealt with.

First I had to disable the Windows Attachment Manager (for non-windows people, this is a security setting that Windows uses to stop you writing dangerous file types to your disk) before Internet Explorer would let me save files.  See the Microsoft Knowledge Base Article 883260 for a rundown on how it works.  The quickest way to disable it is to uninstall the Internet Explorer Enhanced Security Configuration. To do this, click Add or remove programs in Control Panel, click Add/Remove Windows Components, and then click to clear the Internet Explorer Enhanced Security Configuration check box.

2) Both SAP and DB/2 (my target DBMS) require that the host name of the server its installed and running on remains the same.  However, the default action every time you restart an AWS image is to have the host name set to IP-xxxxxx where xxxxxx represents the internal (to Amazon) host name the server is running on.

While you can perform arcane scripting to fix the host name, Amazon provide a tool, bundled within every AWS windows instance, that will ensure the hostname remains set to what ever you set in the System –> properties screen.   The tool is C:\Program Files (x86)\Amazon\Ec2ConfigSetup\Ec2ConfigServiceSettings.exe

 Ec2ConfigServiceSettings.exe

3) I wanted to make sure I had enough swap spacxe to run my SAP system.  The base instance we are using gives us 15GB of memory, but, especially if we want to install multiple JAVA engines, this may not be enough.  I allocated another 1500MB on each of two of the ephemeral disks.

4) My initial installation is going to be an NetWeaver 7 ECC6 system. This means we need to download and install java 1.4 from Sun’s Sekrit Squirrell place for old releases.  Don’t forget to setup the Environment variables (JAVA_HOME and PATH) correctly. 

5) The last change was to incorporate a Dynamic DNS Update tool.  This is used to pass the IP address of the server we are “running on” to a service that will then set a fixed Domain name to specify the same DNS name to users and tools whenever I ran my instance.  I use dyndns org.  You can register a limited number of domain names for free, and they provide a tool (DynDNS Updater) that allows you to register your IP address against one or more of your Domain names.

 

Save your Amazon Machine Image (AMI)

Now you have an instance you can use to install and run SAP on.  However, we need to make sure that all our changes are not lost.  This utdown means you need to “bundle” your running system into a standalone Amazon Machine Image.  Go to the Amazoin EC2 tab of the Amazon Management Console, select Instances, then select the instance you want bundled.  Right click on More Actions and select Bundle Windows AMI.
Initial Step of Bundling

This generates a popup screen.  Fill out the appropriate details and clcik bundle. The Bundle Name refers to the S3 folder that will hold the AMI.  This must already exist.  The Key Name is appended to the name of manifest.xml filre that contains the S3 layout and location of your image.
Enter Bundle Parameters

 Once you click bundle your request is confirmed.
Bundling Confirmation.

You can follow the progresss of the bundling by examining the Bundle Tasks screen.  There are three steps that bundling Windows instances needs to follow- The instance must shutdown, the Amazon bundling process must occur, and the resulting data must be stored.
Bundling Completed, now registering

Once the image has been bundled and stored, you must register the bundle as an Amazon machine Image.
Registration Confirmation

 

An alternative to repeating all the work shown above is to grab a copy of the Public AMI I have created, called sap.nw70.win-64.db2.  You will need to change the hostname (as descibed above), implement your own DynDNS org domain name  and bundle and register the changed image.

Either way, you now have your own mildly customised image copy of a Windows 2003 Server, running on the  Amazon Web Services cloud.  This image is ready for installation of a non-trivial SAP system, such as the NW7 ECC6 IDES system.  

In the next post, I will describe how I used the sap.nw70.win-64.db2 image to install the Windows DB2 IDES for ECC6 system.

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Leonardo De Araujo
    Great job ! Thanks!

    We can see how much this concept is new ! No one else commented on this BLOG ?!… That is sad.

    The opportunities of using the cloud to run SAP systems are great.

    I was planning to give it a try to run some tests systems and I am glad you shared your experience.

    Leonardo De Araujo

    (0) 
    1. Leonardo De Araujo
      Question:
      How do you menage the license keys? New instance starts would mean change in hardware key, thus invalidating the license.

      Also, do you see it ready for DEV and QA use? Meaning hosting customers DEV and QA instances on Amazon EC2?

      Thanks

      Leonardo

      (0) 
      1. Martin English Post author
        Hi Leonardo,
             I’ve replied direct to your email address as well.

             1) Using the EBS method as described in my blog means that the identifiers within windows or the image, that are used to calculate the hardware key remain the same on every restart.  This means that you CAN keep the same licence key.  It also leads to the useful situation (from our point of view anyway), that you can launch multiple instances of the same image, and everything (including the hardware key and therefore licence key) remains the same.  Unfortunately, everything means everything; you end up with multiple systems with the same SID, so you can’t use this for integration testing (unless you setup an image with a different SID.
             What this does mean is that you can provide a fixed starting point for sandpits, regression testing, parallel testing (i.e. 6 tests that take 1 hour each can now be run in 1 hour clock time) and so on.  The speed and ease of use of the tools provided by Amazon make exploration and innovation that much easier, by virtue of the fact that if you break the running instance, you kill the instance, restore your original snapshots of your data volumes and start again – It takes 15 minutes on my Amazon IDES playpen, compared to however long it takes to do the same on a ‘real’ server (restores,finding the space for backups in the first place, reinstallation or reimaging etc).

             2) Personally, I don’t have much experience at hosting ‘real’ DEV and QA systems;  My employer is marketing a different tool (a rebadged SkyTap, wrapped up in lots of value-add services) for cloud hosting systems in general, and by extension, SAP.  Given that the principles are the same (i.e. multi tenancy, commodity access to resources etc), I’m not too fussed about which product we use :
             HOWEVER, specifically regarding SAP DEV and QA on Amazon, Rick Pittard of BP spoke at SAP Teched 2009 about their SAP DEV and QA Amazon Infrastructure  They seem quite enamoured with it !! 

        (0) 
  2. Sara Harte

    thank you so much for writing this up!  you have just saved me hours and much swearing. trying to figure it out.  I really appreciate

    (0) 

Leave a Reply