E-BUSINESS SUITE IN THE AMAZON CLOUD By Chuck, President, Blue Gecko, Inc. About Blue Gecko Blue Gecko is a remote database administration company headquartered in Seattle, WA. Founded in 2001, Blue Gecko, recipient of the 2009 Inc 5000 award for the fastest growing companies in the United States, provides seven by twenty- four remote support for over 100 Oracle, Oracle E- Business Suite, MySQL, and SQL Server customers around the world. Executive Summary As the buzz around Cloud Computing has grown, so has confusion and marketing misinformation over what Cloud Computing actually is. Because of this confusion, enterprise computing customers, such as those who use Oracle E- Business Suite, often do not have a clear understanding of how they can leverage the advantages of true Cloud Computing. Amazon Web Services (AWS), a pioneer and leader in the Cloud Computing space, has built a robust cloud platform used by thousands of people and organizations all over the world. Since its inception in 2006, developers and startup companies have flocked to AWS for flexible, inexpensive, pay- as- you- go utility computing services. Today, AWS has matured into a viable platform not just for developers and startups, but for enterprise customers as well. This paper will explore the definition of cloud computing with a particular focus on Amazon Web Services, including details for a few of their most popular services. It will then turn to enterprise use cases for AWS; specifically, this paper will focus on examples where Oracle E- Business Suite customers can leverage the flexibility and efficiency of Amazon's cloud. What is Cloud Computing? The definition of Cloud Computing has become somewhat muddled by marketing campaigns and misunderstanding. To arrive at an accurate definition of Cloud Computing, it's effective to understand what Cloud Computing is not: Virtualization is not Cloud Computing. Virtualization is a technique used to run more than one virtual machine (VM) on a single, physical host. Virtualization is a common technique used in a Cloud Computing environment, but just because a VM runs on VMware, Xen, or Microsoft's hypervisor does not mean it is running in the cloud. Software as a Service (SaaS) is not Cloud Computing. SaaS is SaaS - that is to say, consumers of software that requires only a browser like Salesforce.com are not "Cloud Computing" any more than they are when they buy something on Amazon.com. Cloud Computing refers not to what the computing infrastructure is doing (i.e. the software), it refers to the computing infrastructure itself. It is more accurate to call Cloud Computing IaaS, or Infrastructure as a Service. Page 1 of 8
Managed Hosting is not Cloud Computing. Though managed hosting removes the burden of managing data centers and physical hardware from the end user, it is still not truly Cloud Computing. The managed hosting customer still must operate within traditional restrictions such as minimum resource purchase requirements, minimum time commitments, and setup time and fees. Also, managed hosting is almost always tied to a geography; computing resources cannot simply be allocated in one geographic region or another instantly and automatically. True Cloud Computing is a utility. In true Cloud Computing, the end user interacts only with the service, is not required to know anything about the underlying service provision mechanisms (i.e. total obfuscation), and pays only for what they use. Like electricity, natural gas, or even some telephone services, usage and fees are incremental and may be scaled up and down as required. Only industry insiders, the very informed, or the unusually curious attach detailed knowledge of residential electricity generation and delivery to the simple act of turning on a light switch. And so it is with Cloud Computing: Servers may be activated and decommissioned; storage may be allocated or removed; security features may be activates and modified all via simple API calls (i.e. the light switch) with no knowledge of what happens after service is requested. Benefits of Cloud Computing Cloud Computing benefits revolve around management and scale. A true cloud provider obfuscates hardware, network, data center, and all physical computing resources from the end user. Much like using a telephone requires no knowledge of telephony or telephone infrastructure, the cloud customer simply uses computing resources without worrying about the physical infrastructure. It is not the responsibility of the consumer to replace parts, buy support, manage facilities, or run cable. The cloud provider handles all physical and integration tasks and rolls the cost into the usage- based computing charges. Cloud Computing also has the advantage of incremental scaling. Traditional data center hardware and computing infrastructure is usually purchased to accommodate current peak load with at least some room for growth. When the current infrastructure can no longer handle peak load, additional hardware is purchased with even more room for growth. An unfortunate side effect of traditional hardware is that it does not easily scale down; typically hardware investments are a sunk cost, and do not simply goo away when you don't need them anymore. With Cloud Computing, consumers avoid all of these hassles. They may increase and reduce resource consumption as needed, paying only for what is used. Amazon Web Services (AWS) Overview AWS is a true Cloud Computing resource. All AWS services may be accessed via a simple SOAP/XML API call. Customer accounts are not charged setup or decommission fees, and any service may be used for exactly as long as required; customers pay only for what they use. Because access to AWS is API driven, customers may access computing resources in many ways. The AWS API is public, and may be used by anyone familiar with SOAP/XML, Perl, Ruby, Java, or.net programming. Amazon provides a library of shell scripts and a web- based console as well. Consumers may also develop their own interfaces, such as the ElasticFox plugin for Firefox. Page 2 of 8
Regions and Availability Zones AWS physical resources are grouped into regions and zones. A region is a general geographic area. As this paper is written, there are 3 regions: Eastern US (Virginia), Western US (Northern California), and Ireland (Dublin). Regions are further subdivided into availability zones. For practical discussion, a zone may be thought of as a distinct data center. 1 Availability zones contain no common single points of failure, and are designed to provide regional redundancy for many web services. A complete list of AWS services may be found at http://aws.amazon.com. For the purposes of this paper, we will focus on the three services most relevant to running E- Business Suite in the Amazon Cloud: EC2, EBS, and S3. Elastic Cloud Compute (EC2) EC2 is a web service that provides on- demand, incremental access to compute capacity in the cloud. Servers called "instances" are available in a variety of sizes from a small server with 1 CPU core and 1.7GB of memory to high capacity servers with 8 cores and 68.4GB of memory. EC2 instances are billed hourly for actual use only. Pricing ranges from $0.085 to $2.88 for a Linux instance, depending on the instance size and region in which it is launched. Instances are launched from stored profiles called Amazon Machine Images, or AMIs. An AMI can be built from an existing EC2 instance or any running x86 or x86_64 operating system; customers may build an AMI from a specific configuration - a Linux server running Oracle E- Business Suite, for example - then launch as many instances of that AMI as desired. Like all AWS components, EC2 instances may be controlled via APIs: Starting, stopping, reading instance status, are all performed via API or through an API- driven application such as the AWS Web Console. EC2 Security Zones All EC2 instances are launched within a security zone. A security zone is functionally equivalent to a network firewall. Ports may be opened, closed, and restricted to an IP address or range of IP addresses. Single or multiple machines may be launched inside a security zone; when multiple machines share a security zone, they share the security zone rules. Security zones are included with EC2 and generate no separate charges. Virtual Private Cloud (VPC) A VPC is a private network within the AWS cloud that is tied to the customer network via an IPsec VPN tunnel. VPC allows customers who want EC2 instances to stay completely private to extend their own IP space into the AWS cloud, and prevent traffic from entering or leaving the VPC except as controlled by their local network. Most Oracle E- Business Suite customers would almost certainly use a VPC to restrict access to the applications. A VPC costs about $36 per month. 1 Strictly speaking, an availability zone is not a data center. Two data centers in close proximity, for example, may be considered a single availability zone. Page 3 of 8
Elastic Block Storage (EBS) Amazon Elastic Block Store (EBS) provides block level storage volumes for use with EC2 instances. Amazon Elastic Block Store provides highly available, highly reliable storage volumes that can be attached to a running Amazon EC2 instance and exposed as a device within the instance. EBS devices can be created and attached to instances via API, and may range in size from 1GB to 1TB. Because the storage in an EBS volume is allocated upon creation, usage fees are based on allocation even if the entire volume is not used; however, EBS only costs $0.10 per gigabyte per month. Snapshots may be taken of EBS volumes. Snapshots are stored in an S3 bucket (see below) and can be used as a volume backup, or may be used to create a new EBS volume. For example, a snapshot of an EBS volume containing an E- Business Suite APPL_TOP could be used to create a new, identical volume for cloning with two API commands (create snapshot, create volume from snapshot). Simple Storage Service (S3) Amazon S3 is a different type of storage than EBS. Where EBS is always attached to an EC2 instance, S3 can be used to store and retrieve any amount of data, at any time, from anywhere on the web. Objects (i.e. files, images, etc.) are redundantly stored on multiple devices across multiple zones in an Amazon S3 Region. A chunk of S3 storage is called a "bucket." Amazon S3 provides versioning, which may be used to preserve, retrieve, and restore every version of every object stored in an Amazon S3 bucket. Customers can easily recover from both unintended user actions and application failures by using versioning. S3 costs $0.15 per gigabyte of used storage per month, and is billed based on actual consumption; S3 storage may not be pre- allocated. Common E-Business Suite Use Cases AWS components are much like UNIX or Linux shell programs: Each program is a small, flexible tool that works well on its own, but really shines when used creatively in conjunction with other programs. Similarly, AWS components are impressive on their own, but can be made to perform amazing tasks when used together. AWS components are therefore intentionally de- coupled to allow for maximum flexibility; it is up to the admin, developer, or businessperson to determine the appropriate combination for their needs. Though Oracle E- Business Suite has very specific host configuration requirements, AWS provides a flexible enough platform to add substantial value to any E- Business Suite implementation. Disaster Recovery Many smaller E- Business Suite shops have no active disaster recovery environment. Backup to tape is fine for archiving backup copies, but tape needs to be restored in case of emergency. If there is no remote data center immediately available, it may be weeks before a production system is up again. Amazon Web Services provides a flexible, valid alternative to traditional disaster recovery hosting. An E- Business Suite DR site may be set up in a matter of days via the following general procedure: 1. Set up a VPC if a private network is desired. Page 4 of 8
2. Set up the EC2 hosts for the database and application hosts using the desired AMI and instance sizes. 3. Set up a standby database from the existing primary database to the EC2 database host. 4. Copy the application file systems from the primary to the EC2 application hosts, and establish rsync or any other desired mechanism for file system synchronization. When this process is complete, a fully functional, private DR site will be running in the Amazon Cloud for a fraction of the cost of dedicated hardware or traditional DR services. Because AWS costs are so low, the most expensive consideration is Oracle licensing. If budget is paramount, here are a couple of ways to eliminate licensing costs while still maintaining a valid DR site: 1. For the database host, keep the database software up- to- date on the EC2 host, but do not start a standby database. There are no licensing fees for installed software, only running software. Ship RMAN backup copies and archived redo logs to the EC2 instances via the network or Amazon's import/export service. If the DR site is needed, a restore and recovery will be much faster if all the backup pieces are immediately available. 2. Like the database host, sync the application tier to the application hosts without starting the application services. There is no charge for copying the software from one host to another as long as it isn't used. Most Oracle licenses have a provision for DR testing a certain number of days per year at no additional cost; talk to your Oracle licensing vendor for details. Test Environments Test environments are one of the best AWS use cases for E- Business Suite. Test environments often do not need to be the same size or topology as production; even shops that have large, complex production environments with RAC and load- balanced web servers can use single- node or two- node test environments for development and application configuration testing. Test environments are created via the E- Business Suite cloning process. Much like setting up a DR environment, test environments require a current copy of the database. To maximize flexibility, set up a DR environment on EC2, and then use current standby copies and snapshots of the synced application file systems to quickly build up- to- the- minute test environments as needed. Once again, because hardware deployment is nothing more than a few API calls or clicks on a web console, test environments may be created more quickly and in a completely automated fashion (API calls to create a host are a straightforward extension of any cloning procedure.) Once a test environment's use has expired - or even on weekends and nights when they are not being used - simply shut them down to avoid even the inexpensive EC2 usage fees. Backups and Backup Archiving Amazon S3 is an inexpensive, efficient, and in many ways superior, alternative to tape for E- Business Suite backups. As detailed earlier, S3 storage is replicated in at least three distinct geographic locations within seconds of transfer. When considering an archive or static backup solution, very few alternatives compare: Page 5 of 8
1. Tape backup. Tape backup requires a local tape copy. Even if a vaulting service is used, the tape is exposed to damage, loss, or theft during the time it waits in the library for pickup and during transport. Once the tape reaches the off- site vault, it exists only in that vault; in a truly catastrophic disaster, someone must be available for the tape to be retrieved from the vault and delivered to the DR site. Multiple tape copies to different locations (or even to maintain a local copy) increases costs. 2. Hardware or software replication. Replication is superior to tape in many ways, but is still typically performed only to a single target. Because replication hardware is expensive, multiple targets are typically not practical, especially for a smaller shop. Software replication solves some of the hardware replication cost concerns; however, additional hardware of some kind is still required in multiple locations, which requires maintenance and overhead. Further, data replication is not a long- term vaulting solution - SANs and backup appliances have limited capacities and eventually the data must find its way to tape or other media if long- term vaulting is required. Direct backup to S3 is a superior backup solution for smaller data volumes, and combining S3 with replication or near- line disk backup is less expensive and more flexible than almost any traditional or specialized backup solution. S3 costs $0.15 per gigabyte of used storage per month, and is billed based on actual consumption. Tape libraries and backup appliances, not to mention the data centers in which they reside all have purchase and support costs, often in the tens of thousands of dollars, whether 1MB or 10TB is used. Oracle has certified and supports database backup to S3. This means normal RMAN backups may address an S3 bucket as a backup target just like traditional tape or disk. If backup are large and network performance is a concern, consider the cost of a large, fast network pipe and the low cost of S3 storage versus the huge investment in backup equipment, equipment maintenance, and vaulting charges. For the E- Business Suite file system, simple tools like rsync or ssh can copy files to an S3 bucket. Many commercial vendors, such as Zmanda, already provide an S3 bucket as a backup target option. S3 backup and vaulting may not be the right solution every time. It's not difficult to pick an extreme data volume, peculiar storage or recovery requirement, or site an arbitrary corporate policy to invalidate S3 as a backup option; however, for most shops and recovery requirements, S3 represents a cost- effective and efficient alternative to traditional backup and vaulting methods. Common Concerns Despite many of AWS's obvious advantages, many potential customers are still put off by the nature of Cloud Computing; the same obfuscation that makes AWS so simple and flexible may also breed mistrust. Some of the most common concerns resolve around security, performance, and vendor support. Security AWS has completed a SAS70 Type II Audit, which is almost an industry requirement for any provider who wishes to host Oracle E- Business Suite for a publicly traded company. AWS is aggressively pursuing additional security certifications and accreditations to demonstrate the security of their infrastructure and services. AWS uses the same secured facilities as the Amazon.com web site. Housed in Amazon- controlled data centers throughout the world, Amazon limits knowledge of the actual location of these data Page 6 of 8
centers to only required personnel. The data centers are secured with a variety of physical barriers to prevent unauthorized access. AWS services encrypt API and user traffic by default. For example, certificates are required to manipulate APIs; EC2 security zones are locked down by default; ssh keys are required to access EC2 instances upon launch unless explicitly disabled. Detailed security information for each service (EC2, S3, etc.) may be found in the document: Overview of Security Processes white paper. Performance A major concern for database customers is I/O performance. EBS volumes are attached to EC2 instances via a single network interface using iscsi. I/O performance may be greatly enhanced by using multiple EBS volumes. For example, LVM can stripe a volume and ASM can create a diskgroup across multiple EBS devices. These techniques improve I/O performance, but do not eliminate the potential bottleneck of the single network interface. For most customers, I/O throughput will not be a problem (need example from Jeremiah); however, if extreme I/O throughput is required, one of the benefits of AWS is that unlike expensive hardware test labs, it is very inexpensive to test every possible scenario on AWS. Support and Licensing As this paper is written, running an Oracle Database on EC2 and RMAN backups to S3 are certified and supported, and has published licensing guidelines. Oracle E- Business Suite is not yet certified nor supported on AWS, and the use cases in this paper respect that position by avoiding production AWS/E- Business scenarios; however, it is important to remember that with the notable exceptions of AWS and Oracle's own virtualization platform, Oracle certifies their products on operating systems, not hypervisors or hardware. If a customer encounters a bug and logs a TAR with Oracle Support, Oracle will attempt to re- create the bug and develop a patch. If Oracle Support is unable to replicate the bug, they may determine that the issue is not a bug, but is a problem with a hardware component below the operating system, e.g. a SAN or network device. They will then refer the customer to the hardware vendor for resolution. It is the same for hypervisor vendors such as VMware, Citrix (Xen), and Microsoft. Running Oracle E- Business Suite on an "unsupported" hypervisor does not mean that Oracle Support will turn you away at the door any more than they will reject your TAR out of hand for running Oracle on an ancient, smoking piece of junk you found hiding in a hot, damp corner of your system administrator's garage. It simply means that if you encounter a bug that Oracle cannot reproduce, even on a supported operating system, they may send you and your issue to your hardware or hypervisor vendor for support. Should you run a production E- Business Suite environment on AWS? That depends on your risk tolerance and the likelihood of finding a bug no one has ever encountered before. In no way does Blue Gecko recommend running Oracle on an unsupported platform, but as outlined above, the notion of support becomes a bit fuzzy below the operating system except in very specific circumstances. For these reasons the use cases in this document outline real- world situations for leveraging AWS across non- production environments to gain efficiency, flexibility, and cost savings. One might argue that the disaster recovery use case implies production use at some point, and this argument would be true. That same argumentative person may next wish to internally debate the Page 7 of 8
merits of an affordable, perfectly functional, but questionably supported DR site in certain edge- case scenarios versus no DR site at all. Conclusions Oracle E- Business Suite is expensive software that traditionally requires expensive computing infrastructure. A properly managed E- Business Suite shop will clone production to test environments for development, patch testing, and other non- production activities. If the role of E- Business Suite is critical to the enterprise - and who considers their multi- million dollar investment in ERP or manufacturing infrastructure non- critical? - then the business probably cannot withstand too much downtime, making a DR site of some sort appealing. However, when the financial and logistical burden of maintaining non- production computing infrastructure becomes to great, prudent steps like test and DR environments are glossed over or skipped entirely. Test environments are not refreshed; developers and project managers share environments that don't represent production; DR is left to tape backups and a "We'll cross that bridge when we come to it," recovery plan. Amazon Web Services is moving aggressively into the enterprise computing space with a heavy emphasis on enterprise partners like Oracle. In all likelihood, Oracle E- Business Suite will soon be supported on AWS. But the advantages provided by AWS as a true cloud provider - incremental scaling; low, pay- as- you- go fees; no infrastructure maintenance whatsoever; VPC security - may be leveraged in many practical ways by E- Business Suite customers today. Page 8 of 8