Posts Tagged ‘Virtualization’

Has EMC Documentum Lost Its Way?

March 10th, 2010

A direct comparison between EMC Documentum and Microsoft SharePoint reveal a vast divide in both resolve and vision.

EMC will tell you that Documentum is the obvious choice for enterprise implementations managing very large data and content inventories. EMC begins in the basement (with disk and server) and provides infrastructure that content-able implementations can exploit for the end-users benefit. Documentum is first and foremost a server backend, independent of any given UI framework and can be viewed as a content aware RDBMS layer above the traditional data layer.

Microsoft developed SharePoint from the user back to the server. SharePoint is indeed an interface first and provides platform architecture designed to support the experience. Not surprisingly, the nuts and bolts of SharePoint rely on other Microsoft technology to perform. SQL server with the addition of file streams is somewhat equivalent to the EMC Documentum Content Server role. SharePoint however achieves the functionality in a single scalable layer as opposed to two in the Documentum world.

Business Logic

A few years ago EMC Documentum held the crown for providing best in class business logic integration via the Business Object Framework that allows integrators (consultants) to write and register specific Java classes to execute business specific (non-Documentum) logic triggered by library services events (save, write, lock, view, etc…). The BOF capability allowed implementations to directly extend the Documentum DFC API and is quite efficient.

SharePoint business logic is largely workflow driven and much more asynchronous in nature than the EMC BOF layer. Lately improvements in .Net and Microsoft SharePoint’s best friend K2 has begun to fully exploit the SharePoint vision and much more synchronous “composition” based business logic can be applied to event triggers specific to content type items, lists and webs in a fashion that does NOT require a heads-down programmer to create or maintain. Again, the implementation starts with the experience and the time a user spends extending SharePoint functionality is largely spent working through the consumption tool (Browser).

Documentum’s answer lies in the newish Process Engine and UI. Process Engine introduces the ability to perform no-code workflows (aka K2) that are (or at least can be) event driven and defined visually through a thick windows client. Future releases will be optimized to provide a more synchronous execution of successive automatic workflow activities and in time the functional offering will be a competitive K2 alternative. Due to the close relationship between K2 and Microsoft I don’t think we will ever see a Documentum compatible offering although this would provide great benefit to many clients.

Cloud Capability

Without doubt Microsoft SharePoint, especially 2010, is the clear leader with regard to “cloud-ability”. There is no shortage of hosting partners providing both SharePoint and Exchange in a multi-tenant environment for extremely low customer investment levels. Microsoft itself is hosting Exchange, SharePoint, Live Meeting, Communicator, and Dynamics CRM at incredible monthly per-user rates. From experience trying to offer Documentum Services in an operational model (no capital expense) to clients is an impossible challenge with regard to turning a profit. The largest stumbling block is not the sales model either (although change is needed). But rather the server architecture is not written with the cloud in mind. Microsoft on the other hand is now releasing Office/SharePoint 2010 expressly to improve (if not completely mature) the cloud model.

Virtualization is the Foggy Future

Only time will tell, but if history is a reliable forecast, EMC needs to be thinking complete rewrite. It’s time to reorganize the very good server and client functionality into a softer cloud focused architecture. As customers continue to strive to reduce operating costs the current trend to virtualize server infrastructures with VMWare and Hyper-V will move to a more cloud like implementation when we will finally let go of the server mentality. Within 3 years I would be surprised to see large companies accept new software that must be provisioned at a server layer.

Comments are Welcome…

Flying High in Cloud Computing

October 31st, 2009

Several hours of my life Tuesday night were spent with my head in the clouds. I was attending the “un-conference” conference on cloud computing dubbed CloudCamp in Indianapolis. The interesting discussion – generated around topics such as the very definition of the cloud and even the appropriateness of its use for various implementations or components - got me thinking about what is available and what is still missing from existing frameworks.

Microsoft (not surprising) has made major investments in building out Azure (Microsoft’s cloud implementation) and has created a rich set of documentation to describe its functionality and architecture. Their offering is leveraged for many of Microsoft’s own applications supporting products like Live and Mesh (a fantastic tool).

What makes a cloud a cloud? If you are in the business of supporting corporate or commercial applications, you are beholden to some sort of hardware infrastructure. Five years ago that infrastructure was most likely dedicated hardware (DB servers, application servers, etc…). Pushing for economy of scale and better utilization, IT shops have been offering the layers of n-tier application frameworks as business services within the organization. First RDBMS (Oracle/SQL Server) clusters, then application servers like WebLogic and WebSphere, were transformed as business offerings that hosted like tiers across the entire application space of an organization. Later ECM platforms and other application frameworks were extended to serve the enterprise in general (Documentum and now SharePoint). Fewer administrators and shared hardware (better utilization in both cases) drove costs down.

New applications still required new hardware to expand the services in most cases and non-functional design and implementation remained a lengthy and costly part of deployments. Hardware requirements to support peak loads were often miscalculated and either fell short or wasted power and CPU cycles. Cloud computing brings the promise of eliminating much of this cycle and is beginning to deliver.

What is a Cloud?

Literally a cloud is a group of water molecules floating above that is just big enough not to condense and fall and yet just small enough to hold the present level of moisture…. Restated a cloud is an ever changing system of capacity that self regulates based on pressure and temperature. In our world of computing a cloud is much the same. We just substitute capacity for good old H2O. When the pressure goes up a natural cloud will likely deliver some of its moisture to us… The computing cloud will deliver more capacity when we need it as the pool of infrastructure resources is “detached” from any specific task. Hardware and software vendors are beginning to sell cloud specific modular packages to help the industry (and you) build out with less hassle. EMC, Cisco and VMware now offer V-Block, a combination of EMC storage and Cisco virtualized servers running VMware underpinnings (see http://online.wsj.com/article/BT-CO-20091030-715748.html).

How does this differ from a virtualized server room?

In a virtualized environment (VMware for sake of argument), physical hardware and logical servers are managed separately. An application like VMware manages the bare metal hardware and its resources as a pool of available capacity at a server level scope. Administrators generally create rules to align logical servers with physical machines or more generally to portions of the available capacity (provisioning). This sounds a lot like cloud computing to me and in fact is very close to the finish line and satisfies some definitions as long as the virtual server instances can be dynamically allocated and scaled horizontally. Many companies (most at this point) have moved to this virtual provisioning technique or are moving in that direction.

What else is needed to achieve an internal Cloud?

The difference between virtualized servers and a cloud is related to provisioning and scope. While VMware, Microsoft Hyper-V, Sun, Xen (open source hypervisor used by Amazon) and others provide technology to dynamically provision logical servers across physical hardware pools, they do not (typically) provision capacity for application layers on their own. Let’s look at the cloud from a different angle. Suppose I have a typical 3 tier application that runs on the web: Thick Client – Web Browser (Tier 1), Dynamic Web Application (tier 2), Database (Tier 3). The application can be broken down into data services, application services (logic) and UI services. All of these services have defined relationships and some design pattern to tie them together. In most cases the application services handle the integrations. Scaling this typical application usually requires separate activities for scaling out the application server (perhaps re-provisioning WebLogic nodes in a large cluster) and very complex re-provisioning of the backend database cluster. Often these changes require redesign and upgrade of SAN or NAS storage solutions, updating and retesting HA (high availability) and DR (disaster recovery) scenarios and backup/snapshot procedures. Many different corporate IT disciplines get involved, Program Managers, Unix Engineers, Windows Engineers, Application Specialists, End Users, etc…. When these problems go away, you have arrived in the clouds.

To achieve this goal a fabric must be woven above the provisioning layer that can dynamically align application spaces with runtime needs based on business rules provided at deployment. I believe that Microsoft Azure is on its way to becoming the most fluid environment available for running your applications and services and most closely fits the total model of cloud computing.

“The Windows Azure platform offers an intuitive, reliable and powerful platform for the creation of web applications and services.

The Windows Azure platform is comprised of Windows Azure: an operating system as a service; SQL Azure: a fully relational database in the cloud; and .NET Services: consumable web-based services that provide both secure connectivity and federated access control for applications.

Currently in Community Technology Preview (CTP), the services are free to evaluate through January 2010. We will begin charging customers on February 1st, 2010.” – Microsoft Windows Azure Platform web site…

Notice that Microsoft views the cloud as an Operating System as a Service (OSAS).  A significant point worth contemplating.

Most cloud offerings handily manage provisioning at a virtual machine level.  However in most cases common facilities for handling provisioning and automatic scaling at a specific service level are still lacking.  Also, the need manage state between the virtualized services loosely coupled to provide for such scaling still needs more standardized messaging and transaction boundries.

Cloud is good!

What if instead of using Oracle for a back end tier you had available an absolutely limitless capacity for data services abstracted from both vendor and hardware realities. One request for a result set or one million requests in an hour all produced with equal performance (from one application or thousands). Cost is variable based on your actual usage and there is NO requirement for internal staff or monitoring (assuming your application works). That would mean no load meetings to discuss outsourcing or personnel issues… Everyone on your staff could concentrate on moving forward and providing more competitive advantage in your market.

The benefit: If you need a new business or commercial application and can design it to run efficiently in the cloud (more on that another time) then you can build and release without much concern for capacity or hardware support of any kind.  A good way to live!  How far will we dive into the clouds in 2010?  Only time will tell.

IT spending back in the clouds for 2010?

October 21st, 2009

David Cearley of Gartner is reporting that IT spending will rebound from 2009 levels in the coming year. However the increased spending will only recover about half of the 2009 decline. I think that the interesting thing is where that money is thought to be headed. Cloud computing is now number 1 on the list of “Top 10 Strategic Technology Areas for 2010″.

Working with clients in 2009 is really the first year that most of my implementations found their way to virtualized servers for almost every tier of functionality. Gartner believes that the trend will continue for 2010, extending to HA (high availability) applications (bad day for Microsoft clustering?) and client applications. The push for virtualization is/was really a push to simplify the data center and consolidate on ESX, etc…

Similarly, Gartner is predicting that the coming year will see Cloud Computing become the central focus in many organizations. To be fair, Gartner is now combining Web-Oriented Architecture and Enterprise Mashups into the Cloud mix, which seems to say that clients will be working to create infrastructure that “can” run in the cloud if need be. My personal opinion is that new systems should be delivered to do just that, protect the clients’ ability to make hosting decisions in the future. In the past we had to worry about implementing systems with customization that could hinder efforts to upgrade underlying frameworks. Now we need to also protect the clients ability to re-locate the entire implementation.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes