Showing posts with label PaaS. Show all posts
Showing posts with label PaaS. Show all posts

Tuesday, November 16, 2010

More on VMforce - Part Deux

I blogged about VMforce a couple of times back in April.  In August, VMware/SpringSource and SalesForce.com provided more details about this service in a couple of webinars to introduce Spring framework to Force.com developers, and Force.com & VMforce to Java developers:

VMForce–Cloud Computing for Java Developers

Basically, VMforce enables developers deploy JEE webapps on Force.com, and access Force.com database to persist data using standard JEE interfaces (JPA):

VMForce1

SpringSource offers the tooling (STS) to easily build and deploy Spring-based applications to VMforce. Force.com implements a JPA adapter to provide secure, multi-tenant access to Force.com database.

On the development/tooling side, it doesn’t seem the Force.com Eclipse Plug-in can be installed on STS (yet).  Once they work this out, both sets of developers can install one Eclipse to implement either JEE/Spring apps or Apex. 

I think the significance of VMforce is beyond merely extending Force.com with Java EE support or providing extensibility for Apex applications.  VMforce is significant, because it will support the most common approach to Cloud migration by customers.   Customers need a reliable service from a reputable, enterprise-ready service provider to move their existing applications to the cloud as is without much re-factoring.  This is going to be the trend for the next few years.  VMforce is a key strategy to meet that need. 

And, of course with Spring framework programming model (abstraction, dependency injection), there is a good story for platform lock-in and change management.

What is not completely clear so far is how VMforce will meet monitoring and on-premise integration requirements for customers.

----

Side note:

As I am writing this, I can understand how Google and SalesForce have partnered with SpringSource today to enable implementation of Cloud apps using the framework (i.e. skills).  However, this framework is based on “legacy Java EE” development and deployment.  Java EE, as it exists today, does not cover Cloud distributed programming model and patterns, and I don’t know if it could be easily extended to support them.   The problem here is that customers may have to invest in migration in the future.

However, there is no practical alternative available today.  Until there is standardization around Cloud development, deployment, and interoperability, Spring-based development seems to be a logical approach.

----

Thoughts/Comments?

Sunday, October 17, 2010

A brief look at Oracle and its Cloud Strategy

For the last couple of years, Oracle has shown a consistent strategy to Cloud Computing.  It has made strategic acquisitions such as Virtual Iron to gain x86 virtualization management software, and has also made investments in new products such as Virtual Assembly Builder to facilitate configuration and governance of virtual environments.

Oracle has made clear that it intends to be a provider of technology to both enterprise customers and service providers.  That it does not plan to be a public cloud provider/operator like AWS or Savvis.  Instead, Oracle works with public cloud services as a distribution and delivery partner. 

[Note: See AWS/Oracle announcement of  support for Oracle middleware and apps on EC2 using Oracle VM images.]

---------

This post is a brief look at Oracle and its cloud strategy.  First, I will review Oracle business, financial, and what it brings to Cloud Computing.  Next, I will provide a 5-minute SWOT analysis of Oracle Cloud Strategy.

Oracle business

Oracle’s goal is to be the world’s most complete, open and integrated enterprise software and hardware company.  In FY2010, it booked more than $26B in revenue.  The company breaks down its revenue as follows:

  • Software
    • New software sales
    • Software license renewals & support contract
  • Hardware
    • Hardware sales
    • Hardware support & maintenance contract
  • Services
    • Consulting
    • Education
    • On Demand

Here is their revenue trend for the last 5 years:

image

  • Oracle made over 32% of its 2010 total revenue ($26,821 million) from database & middleware renewal, and about 16% from Fusion apps renewal.  This is due to the fact that almost 90% of Oracle customers renew contracts.   [Renewal has a margin of 85%, and is the key factor to Oracle’s overall profitability.]
  • Oracle’s On Demand, which is where it offers hosted Fusion application, has also contributed to about 3% of total revenue.  This segment has shown steady growth.  In fact, since 2005, it has grown almost 3 times.  [This is a key area to future growth for Oracle especially considering all the investments they have been making to standardize Fusion apps on Fusion middleware and continue to “SaaSify” the applications.]

Oracle Cloud Business Strategy

As stated earlier, Oracle intends to be primarily a Cloud technology provider/enabler as opposed to a service operator.  This was further evidenced as it halted the rollout plans for Project Caroline after the Sun acquisition.

For enterprise customers, Oracle is addressing the needs for private cloud by providing integrated machines such as Exadata and Exalogic.  These machines help customers consolidate workloads and scale up/down as demand grows.  Oracle also continues with new products and enhancement of its middleware and enterprise management solution to enable customers build private clouds on their own hardware.

I think Oracle will be forced to change their cloud strategy for the following reasons:

  • According to analysts, about 10% of IT budget is spent on external cloud services and that percentage will keep growing (see Gartner’s survey).  Oracle needs to pay attention to this shift in enterprise IT spending, if it plans to increase marketshare and revenue.  Large customers struggle with supporting workloads in the cloud, so they look for a vendor to not only help them move workloads to the Cloud, but also provide support and management.  So, they look for hosted managed private clouds.  Oracle could address this need by leveraging Sun assets such as Caroline to offer such services.  This would position it well for future growth.   
  • It is common knowledge that Oracle wants to reach $100B in revenue in the next 10 years.  Cloud Computing, including integrated systems, is a key growth strategy for Oracle.    Oracle needs to diversify to reach that level of revenue in the next decade.  It can’t rely on acquisitions to make that happen.  Let’s assume Oracle acquires CA.  That would only boost Oracle’s revenue by $4B.  

Sidebar: Let’s play the following scenario.  Let’s assume that on average with every Exalogic Oracle charges $1M for hardware and $3M for software. Furthermore, let’s assume a %20 maintenance revenue per box / year.  If Oracle sold 1000 units every year for the next 3 years, they would book a total of $12B in combined new hardware and software + $4B in maintenance.  Everything else constant, by 2014, Oracle’s revenue would grow by $16B to $42B.  Can they do that? 

Oracle Cloud Solution

The following diagram describes Oracle’s cloud solution model:

image

Oracle models its solutions based on different Cloud service offering.   The diagram is pretty self-explanatory.  At the IaaS level, Oracle Sun hardware,  and virtualization technologies (Virtual Iron + Sun).  Oracle offers other capabilities that are not listed in this diagram such as Virtual Desktop Infrastructure (VDI) and Oracle VM Virtual Box.

In the PaaS layer, Oracle uses a combination of virtualization to isolate workloads and management deployment + grid technologies to enable dynamic resources and scaling for applications.

At the top layer, Oracle and non-Oracle apps can be deployed on this platform.  Oracle Fusion apps are optimized for Oracle Fusion middleware. 

Finally, on the right hand side, there is the management layer…The slide is a cut and paste of Richard Sarwal’s presentation at Oracle OpenWorld.  In that presentation, Richard also mentioned that there other capabilities and solution that Oracle will be offering in the next year (i.e. self-service portal, metering & charge-back, etc)

Oracle Cloud SWOT

In terms of integrated systems, Oracle will face competition primarily from IBM CloudBurst and Acadia.  On the middleware side, IBM offers a similar set of offerings based on WebSphere and Tivoli (i.e. WebSphere CloudBurst, WebSphere Virtual Enterprise, Tivoli Cloud Management stack).   Oracle will face competition from VMware vFabric.   IBM has embraced VMware as a virtualization partner (on x86)whereas Oracle decided to acquire its own virtualization.  That has been a source of friction between the two vendors.

In terms of deployment and support, IBM offers more choices than Oracle:

  • IBM & Oracle both offer enterprise-owned cloud
  • IBM offers managed private cloud services (using customers assets), but Oracle does not.  A customer would have to get a managed services contract from an Oracle partner like Wipro.
  • IBM offers IBM-hosted private cloud, but Oracle does not.  A customer would have to sign a contract with an Oracle Cloud provider like Savvis that offers both hosting and support services.
  • IBM offers a public cloud where multiple tenants share the same infrastructure. This is useful for certain workloads (i.e. email, public website) and cloud scenarios (development and testing).  Oracle doesn’t offer that.  A customer would have to find a Pay-As-You-Go provider like AWS.

So, here is a quick SWOT of Oracle Cloud:

image

Let me know what you think? 

Do you think Oracle can reach $100B in the next 10 years through an acquisition only strategy?   What other challenges do you see in Oracle’s cloud strategy, and selling its middleware machine into the enterprise?

Saturday, July 31, 2010

Are you considering your application migration options carefully when moving to the Cloud?

So, you’ve heard about the Cloud. You’ve done some prototyping on AWS, Rackspace, GoGrid, Joyent, GAE, Force.com, Engine Yard,…

You show it to your boss. Bada Bing Bada Boom!

This is very timely, because the boss has just come out of a meeting with IT finance. He’s got a big problem justifying the cost of running the company’s website for $2M / year. He’s also pounded daily by business, because he has been unable to meet the availability and performance SLAs despite spending a lot on the infrastructure... So, you’ve just given him a brilliant idea. He checks with Legal, and asks you to look into moving the website to the Cloud.

As an experienced architect, you lift up the hood to take a good look inside the WebApp. You familiarize yourself with the code, dependencies, packaging, etc… After your analysis, you break down the options as follows:
Options
Pros
Cons
Option 1: Move the application as is Quick Inherits the issues that already exist with the application
The performance of the application may just marginally improve due to the application architecture & implementation
Option 2: Re-factor the application; then move Potentially fixes some of the application issues
Potentially fixes some of the application infrastructure issues
Takes more effort than option 1, and requires more time
May introduce some dependencies on the target Cloud
Will probably require learning a few new things
Option 3: Rewrite à Redesign/rewrite the application Full application refresh: New application & infrastructure architecture & design, and implementation
Removes the implementation constraints that existed in previous options thereby allowing to leverage/offer new capabilities (i.e. social computing)
May be more involved than the previous options (time, cost)

In option1, you settle on an infrastructure as a service (IaaS) provider, and just move the application as-is over. Unfortunately, the issues that had already existed with the application will be all propagated (i.e. poor image loading / bundling, deprecated code, unsupported utility jars, packaging). However, in option1, you’ll be able to reduce the infrastructure and operations costs dramatically, and improve SLAs (i.e. availability, auto-scaling) quickly without a lot of efforts.

In option2, you’d still subscribe to an IaaS. You will have the opportunity to clean up the application a little. You might even re-factor the application to use Cloud services (i.e. persistence layer). If time permits, you might even make some changes in the infrastructure in term of content caching & media delivery (i.e. CDN). With this approach, you will have an opportunity to make quick, incremental improvements to the existing application without spending too much money.

In option3, you might consider an IaaS or a PaaS. In this context, the selection is primarily dependent on the application requirements, control over the infrastructure, execution environment customization, etc

With option3, the approach may range from just rewriting the application using its existing design to complete re-implementation. In the case of just rewrite, it can be very straight forward and relatively quick (using the right frameworks, reusing existing components and graphics, etc). The disadvantage is that you’re constraint by the original design, and will not be able to introduce any enhancements or new capabilities.

With redesign/rewrite approach, you’ll need more time to design the solution, but you’ll be able to introduce new capabilities.

So, here is a diagram to summarize:
image

The Time axis is self-explanatory. It reflects effort and costs. The Value axis is an indicator of business value. That ranges from cost-effective & enhanced IT service delivery to offering new business capabilities and possibilities.

I am leaving some details out, but you get the idea.   Let me know what you think.  Tell me about your experience.