I wanted to talk a little about how we take advantage of Amazon Web Services, especially the Elastic Compute Cloud, here at Redstone Content Solutions. This is not marketing drivel. The goal is to describe how you can benefit from the cloud for your Oracle endeavors by describing how we actually do just that ourselves. Sometimes it helps to just hear about how others are using something.
We use the Amazon Elastic Compute Cloud, sometimes referred to as Amazon EC2, for a variety of purposes. The topics for this post will be the use of EC2 for Development and Training. I will release a post in the future with additional thoughts about using EC2 to host your Production environment.
For those who are attending COLLABORATE10 at Las Vegas’ Mandalay Bay Hotel & Convention Center April 18-22, I will be giving a presentation on this subject. The session, entitled Build your own UCM Stellent Instance in Amazon EC2, will be held on Thursday, April 22nd, 2010 at 8:30 a.m. in Room 2. The session ID is 128. Session dates and times are subject to change, so stay tuned!
We actually do use EC2 to host development and training environments. I interact with EC2 environments on a daily basis. The primary thing you need to take advantage of EC2 for these purposes is a reliable internet connection. Note: I will be discussing mostly Oracle Content Management – based environments but we also use them for Web Center Framework and SOA Suite.
Originally when we started using EC2, machines had to be kept running. If you restarted an instance you lost your “state” if you did not re-bundle the instance and persist it as an Amazon Machine Instance (AMI). There were a few tricks we could use to avoid this to a certain extent that revolved around attached storage. Additionally, images we created ourselves had an image size cap. This proved to make things difficult as we tried to construct base images within the 10 gigabyte range.
With some recent announcements in December by Amazon the above restrictions are now a thing of the past. We can launch instances, change data, shut down and launch again with no loss of state or data. It actually acts like a real piece of hardware now. With this new functionality, we can boot images directly off of Elastic Block Storage (also known as EBS). This means when we shut our instance down, the resources required to run the instance are not reclaimed. The resources (namely disk) are kept in our EBS volumes and their data persists across shutdowns. Now when we launch our instances the resources are already allotted and immediately available. Hence, our boot times for launching instances are much faster. If you’ve ever tried to launch an EC2 instance you know why I am excited about this.
EC2 also works with Amazon Simple Storage Service (S3) which is different from EBS. Think of EBS as blocks of space you can attach as volumes to machines. Amazon S3 acts like your corporate SAN where you can store all kinds of information. Whenever you transfer something from your own machine or elsewhere in the world to an EC2 instance or S3 Amazon will charge you. However, Amazon does not charge to move data from S3 to any of your EC2 instances. So, we store installers, patch sets, etc., in S3 and then we copy those to our EC2 instances. You just have to get your content into the Amazon cloud and then you can move it around within the cloud for free.
You can work with a variety of operating systems in EC2. You can use Windows Server 2003 or 2008 and many flavors of Linux. There is even a process you can go through to convert VMWare Workstation files to an Amazon Machine Instance that you can upload and run in the cloud. Since we work exclusively with Oracle products, we use Oracle Enterprise Linux (OEL) extensively. There are several AMI instances available, pre-built, from Oracle for Oracle Enterprise Linux and Oracle Database 11g that might serve as a good starting point. Or, you can really get into it and start using a Just Enough Operating System (JeOS) version of OEL.
We can setup an instance of OEL, Oracle Database 11g R2, Oracle UCM 10gR3 and get everything configured just right. Then we can spawn as many “instances” of this as we want for training, testing or demonstration purposes. We can choose to accept a single processor box with 2 gigabytes of RAM, or we can throw the “big iron” on and fire up with 8 processors and 16 gigabytes of RAM or pretty much anything in between.
Think about this scenario. You want to try out Digital Asset Management on Content Server. Specifically Video Manager. You can acquire an EC2 instance with all the power you need to run Flip Factory within minutes. Flip Factory is a neat piece of software but the processing requirements to really use it are pretty steep. Most development groups I know do not have that kind of horse power just lying around waiting to be used. With EC2, you can have it running by lunch time. We use this kind of quick hardware acquisition to provision testing environments or “component labs” frequently.
Finally, the nice thing about all this is accessibility. We can quickly and easily open this up for a client or prospect to view a test instance. We can even spawn a separate instance of the original for the client to “play around on”. But what if they do something we hadn’t accounted for? Drop that instance and re-spawn a new one and they’re back in action fifteen-twenty minutes later.
In the future, I am going to try to cover more specific details about the actual setup, the problems we encounter and how to solve them. I will also detail a handy array of tools we use to work with Amazon Web Services (AWS). Some of this will be on display if you see my presentation in Vegas!
Just food for thought. Think about it some. The opportunities are endless.