New inventions or concepts are often times subject to the phrase “what is old is new again”. The Apple iPad, solar panels, computer virtualization, and electric cars are products that existed in an initial form, and then years or decades later re-introduced and re-branded as something new. The first electric car was introduced in 1828. Computer virtualization existed in 1972 on the mainframe but become the ‘new’ best IT invention when VMware introduced its first product in 1999. Cloud computing is no exception. The IBM mainframe was the first iteration of cloud computing. The IBM mainframe has been around since 1952 and continues to run major corporations IT functions. Instead of calling it “cloud computing,” hosting companies such as EDS and CSC called it “outsourcing.”. In reality, it was the first iteration of clouding computing – Cloud 1.0. The mainframe lacked a fashionable name (cloud computing) and had a poor user interface (‘green screens’). Most importantly, mainframes were introduced when the IT industry was immature so standards did not exist, and high speed networks limited access to only internal company users on costly, private company networks. On the other hand, the Cloud 2.0 is based upon open standards databases, application languages, storage, hardware processors, and networking. Cloud 2.0 was also introduced at a time when networks speeds are faster, cheaper and ubiquitous making it easier for users to access information at any place and any time.
Before you can start migrating to the cloud, you must define what the cloud means to you. The cloud is not a specific software or hardware product; contrary to what many technology vendors would have you believe. The cloud is not simply virtualizing, your IT infrastructure using VMware vSphere, Citrix XenApp, Oracle VM and another Server Based Virtualization (SBC) product and making it accessible over the web. The cloud is on-demand, dynamically provisioned, and shared IT resources accessible on the Internet. However, cloud computing is more than just putting your hardware infrastructure on the Internet. What really defines a cloud as opposed to running a consolidated system in a private or publically accessible network environment are these four characteristics:
1. Provisioning – Dynamic and self-service provisioning of applications involves deploying applications to your cloud infrastructure with a few mouse clicks. So, when moving to the cloud, application provisioning will be made easier since there are not hundreds or thousands of client machines to deploy too. Self-service provisioning of computing infrastructure in a cloud infrastructure is also very desirable as it can cut down the time it takes to deploy new infrastructure for a new application or scale up/down infrastructure for an existing application. Public cloud service providers like Savvis, Terremark, and AT&T all have self-service portals where users can sign up for cloud services and their compute infrastructure is ready within hours for usage. Oracle Enterprise Manager provides many Application Programming Interfaces (APIs) that can be incorporated into the self-service portals of cloud providers to automate the provisioning of compute infrastructure for Oracle products such as Oracle Fusion Middleware and Oracle database.
2. Metering and chargeback – Metering and chargeback are mechanisms for gathering compute resource usage (metering) and then charging back the user, department, or company for the computing cycle that they consume. In the client/server model, metering and chargeback were not necessary because each user had their own personal computer and typically each department or customer had their own database server. Today, most cloud services are offered on flat pricing model structured upon usage of computing resources for fixed unit of time (month or days). Although this model reduces the cost of using IT infrastructure, end users and developers pay a price regardless of actual usage. If a user subscribes for a compute infrastructure for a month and even if they actively use it for only 10 or 15 days, they still have to pay for entire month. This pricing model is typically derived by calculating the overall cost of the infrastructure (acquisition cost + operational cost + margin) and then dividing the amount by a fixed unit of time such as months, days, or years. Using sophisticated metering and chargeback tools provide both public and private cloud providers the ability to monitor actual usage of resources by the users and then charge them accordingly. Accurate resource usage information (metering) up to the minute or second in time can lead to a true pay as you go model which is a key premise cloud computing. Oracle Enterprise Managers captures very detailed information about the resource usage and stores it in its repository that can be later used for chargeback purposes.
3. Multi-tenancy – Multi-tenancy, or running multiple customers or departments on the same central hardware and software infrastructure, is not an issue for client/server applications since each user has her own instance of the application, and most likely each department or customer has its own dedicated database server. In cloud environments, the application, database, and hardware infrastructure are shared among departments or even companies.
4. Elasticity – Elasticity refers being able to dynamically provision, migrate, and allocate computing resources to users, departments or customers. It includes the infrastructure to easily set up and ‘tear down’ applications. One of the first areas that customers focus on when migrating to the cloud is developer test, system testing, and User Acceptance Testing (UAT) environments. The ability to quickly set up a new test environment and then delete it once the testing is done is a cost effective and time saving exercise when done using cloud computing. Elasticity also implies the ability to provide more computing resources dynamically upon consumer request. Elasticity has been the hallmark of Oracle platform due to its support for grid computing which allows Oracle to utilize all the computing resources distributed across many servers large or small as if it were a massive server. Key element in the grid architecture is the support for clustering in the Oracle database and the Oracle Fusion Middleware. Clustering allows Oracle platform products to overcome the physical limits imposed by servers. Clustering combined with virtualization support in Oracle platform products make it a highly elastic cloud platform.