The union of Amazon Elastic Compute Cloud (EC2) and Oracle SOA Suite is a match made in heaven. Recently, we tested Amazon EC2 by marrying components of Oracle SOA Suite with EC2 to demonstrate how utility computing and SOA are shaking the foundations of current IT provisioning, development, deployment and maintenance models. This article examines how SOA technologies enable utility computing to move beyond the vision stage and become a reality.
Amazon EC2 is a massive farm of Linux servers at your finger tips. It enables you to bring up a single server or many server instances -- all installed with preconfigured Linux images -- with a single command. You can use pre-packed Linux images provided by EC2 -- public images are currently available that include Apache and MySQL -- or build new images and upload them to Amazon's S3 storage service.
Organizations have to anticipate expected load/traffic and plan the capacity accordingly, but they often waste capacity during idle time. Amazon EC2 eliminates the need to do capacity planning. Organizations can use the dynamic provisioning of Amazon EC2 instances to scale up and down based on the load, making optimum use of the infrastructure, smoothing out utilization curves, and saving costs.
The recently released Oracle SOA Suite 10g is a packaged set of standards-based components for enabling web services-based SOA. Oracle SOA Suite covers web services development, orchestration, monitoring, and security. Within the SOA Suite, Oracle BPEL Process Manager orchestrates transactions across disparate applications within and across corporate boundaries. But across all such technologies, what is important in the context of this article is that they be Web-service enabled and support a grid computing model where several low-cost servers can be deployed in a cluster to provide scalability and high availability.
Web services-based SOA has fundamentally changed how applications integrate. Add on top of that Amazon EC2 to host your business operations, and you get a potent combination. The significant, yet unnoticed breakthrough of Amazon EC2 is in its ability to spawn up a server instance by a mere web-service call. In addition to a command line interface, EC2 provides a detailed provisioning WSDL that can be used by any web-services application to dynamically control (e.g., run, terminate, authorize) Linux instances within the Amazon Cloud.
This EC2 provisioning enables WSDL-aware products to readily call into EC2 through SOAP-based messaging. Because of this approach, SOA platform products and orchestration languages like BPEL can now be extended beyond their typical application development role to also manage infrastructure provisioning. Now the same components which run business applications can also control dynamic provisioning and maintenance of the very physical infrastructure that they are deployed on. With Amazon EC2, for the first time, SOA components are aware of and in control of their host machines and can clone new instances of themselves based on environmental factors such as user load, available resources and cost.