Supporting the collaborative value chain February 18, 2008
Posted by nexusone in Collaboration, General, Knowledge Management, Multi-tenancy, Systems Integration.Tags: Collaboration, Multi tenanted, Value Chain
add a comment
Introduction
To understand the value of an electronically enabled Collaborative Value Chain (CVC) that allows multiple participants to seamlessly share business process and information we need to examine how technology has evolved.
Technology Waves
The first technology wave saw the emergence of mainframes. In a very narrow sense these systems tend to be very efficient at what they do but are ‘hard coded’ and/or have had increasing layers of middleware wrapped around them such that it makes it very costly, time consuming and risky to change the underlying business logic. Consequently, they are highly inflexible, slow to deliver change and are costly to maintain.
The next wave of technology innovation started in the 70’s and included the co-ordination of transaction processes within the enterprise around a common core – Enterprise Resource Planning systems (ERP’s). However, with these systems any variation to the standard modules within the common core tended to be hard and costly to adapt. Consequently, much activity tends to be done outside these systems using desktop tools, stand alone ‘point’ solutions or complex integration with other systems.
The next wave saw the rise of the Internet and ‘eBusiness’ applications. The issue with these embryonic Internet based systems was that many of them were not fully integrated into the rest of an organisation’s infrastructure. This resulted in security issues, process disconnects, multiple data handling and poor service delivery. The desire to make these systems more effective has generally been achieved at the cost of flexibility as they became increasingly hard wired on a node-by-node basis into multiple other systems. However, they established the potential of inter and extra enterprise process and information exchange.
The most important point to be gleaned from the various technology waves up to this point is the mismatch between:
- The flexibility required to support changing business strategy and that delivered by the underlying applications, and;
- The efficiency of business operation and access to business services by end users, customers, partners, etc.
Collaboration and Multi Tenancy
The latest technology wave has seen the emergence of collaborative multi tenanted platforms that are based on pure Internet architectures. These technologies enable the sharing of insight and business processes within the enterprise and more importantly external to the enterprise, no matter the geographic location of the participant.
Emerging technologies that support the CVC have been designed to address a number of key issues such as inter and extra enterprise process access, multiple systems integration, configurable workflow, federated information, security and identity management.
The Challenge of Extended Enterprise Collaboration
Complex programs of work involving the design and deployment of assets, product development and infrastructure support have an innate complexity that makes configuration, project management, execution and information management especially challenging.
Typically, along the CVC a number of participants utilise different systems, multiple data formats and variable processes, which makes it almost impossible for all participants to be on the same page as regards project data, tasks, etc, and this in turn mitigates any attempts at improving co-ordination between participants.
Establishing an electronic single source of truth that maintains the currency of project and other data to all participants is critical for CVC success. The volume of information that can be created and exchanged on a large program can be very large. It is easy to see that it is very costly to continually co-ordinate all of the information if the CVC is being administered via a combination of paper-based documents and/or ad hoc systems that are isolated from each other. Simply moving the documents to an electronic format only serves to create whole new set of data and information co-ordination problems along the CVC.
Complexity along the CVC is also exhibited at the systems layer via the need to share and exchange data with multiple enterprise and other applications. A large number of these systems store and manage information related to costs, assets and other financial information in multiple formats.
The ability of these systems to support a collaborative value chain is extremely limited. This is where the systems that enable the CVC come into their own as information and business processes exchanged within shared multi tenanted architecture orchestrates and exchanges information with multiple systems along the CVC.
Enhanced Co-ordination of Activities
Organisations whose primary business is to manage projects related to complex business solutions – products, assets and infrastructure, have a need for an electronically enabled CVC in order to co-ordinate activities, data and processes across multiple commercial boundaries while simultaneously supporting highly complex mix of users, partners, suppliers, etc.
There is an explicit requirement to manage all aspects of the life cycle of complex programs and projects within the CVC – from the initial bid phase, design to implementation and then on-going maintenance and decommission. Typically industries that will benefit from an electronic CVC include - manufacturing, government, construction, oil and gas, utilities, mining/primary processing, heavy engineering and transportation.
Enterprise centric applications such as ERP’s are not architected to support intra and outside the firewall information and business process exchange with multiple partners. Applications that support the CVC have been designed to address these challenges via a pure Internet architecture that enables:
- User rights access (access is via an Internet browser);
- Configurable workflow without the need to code;
- Comprehensive integration and data choreography between the CVC system and multiple other systems – a system-of-systems approach to deployment, and;
- A federated approach to information, security and identity management intra and external to the enterprise.
Opportunity for Business Improvement
The lack of collaborative support for the merging of data and content with business processes within a single integrated ‘eco-system’ is a significant untapped opportunity for business innovation and efficiency gains. Enabling the CVC across many industries increases the efficiency of product and asset design, lifecycle management of assets and infrastructure, and reduces the cost of co-coordinating complex programs of work as business processes, documentation and workflow is shared by multiple CVC partners.
Summary
Effective co-ordination enables efficiency saving to be compounded along the CVC. Participants along the CVC irrespective of their size and technological capability can collaborate and work with each other using up-to-date, relevant (to them) information within a synchronised environment.
Whilst many organisations may have made extensive systems investments, many of these enterprise centric systems are unable to provide the collaborative end-to-end process support to enhance the co-ordination of activities along a CVC.
Single tenant enterprise based systems that have their origins in client server architectures are not architected to provide collaborative support across and between multiple participants so there is a need to consider the potential and business benefits of an electronically enabled CVC.
Which virtual server do I choose? January 9, 2008
Posted by krjohnston in Enterprise Architecture, Industry Directions, Microsoft, Systems Integration, VMware.Tags: IT, virtual server, virtualisation, virtualization
1 comment so far
Kelley Johnston, “Large Multinational Consulting & Outsourcing Company”
Spoiler alert: I will not make you skip ahead for the answer — as you’d expect, I’ll say something like “Can’t tell you, mate — it’s horses for courses and you’ll have to decide what works best for you”. There you go, no argument or contradiction possible, and I haven’t committed to anything. The lawyers love me.
Now that that’s over with, those of you who are still interested in a comparison of virtual server platforms (and I thank both of you for staying) will probably agree that there are three major players in this space; Microsoft Virtual Server, VMWare and Xen. I will discuss their merits in terms of Simple Solutions and Hosted (Enterprise) Solutions. A third category, Development Solutions, I’ll leave for another time.
Simple Solutions for the desktop or laptop
Two of the players are free-ish, and one is FOSS (Free Open Source Software) published under the GPL license.
I say “free-ish” with respect to Microsoft Virtual Server, in the sense that Microsoft will only provide the base “Free” Virtual Server in trade for a considerable amount of your personal IP and an explicit agreement to receive, ahem, “targeted marketing communications” for a while. This may be worth your bandwidth (if you don’t mind the minor investment in processed meat products) and there are always inbox filters and the promise of an opt-out after a period of time.
VMWare is a bit simpler to download, and provides their free VMWare Player for those of you happy to run a pre-existing appliance (self-contained application designed for a virtual environment) or work within the elegant simplicity of … ah, I just checked and you don’t even get a command prompt, looks like you need to upgrade to Workstation to get one of those. That costs money after the 30 day free trial expires. Works fine for all of that.
Xen is free, but requires a specific operating system port in order to run; it won’t run a native version of Windows, for example. This is supposed to improve performance. This also means the software is free, but getting it to work for you on anything other than specific non-Windows platforms would require a fair bit of support. I’d rate this either “Free, but not terribly useful” or “Useful, but expensive to support” with little in-between. Because I find this situation terribly confusing (i.e. it wouldn’t fit my prose style) I’ll skip discussion of Xen until a later time, or you can see what Citrix has done with their recently acquired services group XenSource.
Here’s the syllogism:
• Microsoft Virtual Server only runs on Microsoft systems currently running Internet Information Server (IIS).
• Microsoft Virtual Server will run on 64-bit machinery, but will not support 64-bit Windows instances.
• VMWare plays on multiple platforms including Microsoft operating systems, and will support 64 bit instances on 64 bit hardware.
• Xen plays only on versions of operating systems specifically ported to Xen.
Would any of these be useful to your garden-variety desktop or laptop user? Well, the two free-ish ones are good — it’s not that hard to set up IIS on a PC or laptop (see MSDN for how to do this http://www.iis.net/articles/view.aspx/IIS7/Explore-IIS7/Getting-Started/Overview-of-IIS7-Setup) provided you’re running at least Windows XP Pro or greater, the XP Home version being presumably insufficiently cosmopolitan to talk to the Internet.
VMWare doesn’t care, it’s kind of “run what you brung” so any virtual machines you run will need to bridge communications to the outside world. On the plus side, you don’t have to worry about IIS running before setup; on the negative side, you still have to setup your own web server within the Virtual Machine (VM) on anything you develop. It seems to provide the least irritating download and installation experience, though, with a simple download link for the player.
What I Do
My favourite Simple Solution on the desktop and laptop is to run VMWare Player using a pre-configured appliance package such as Deki Wiki. This is fairly interesting, in that it’s a VMWare instance running on top of XP Pro, within which a tailored Debian Linux instance runs an application consisting of Apache web server, Mono applications server (which is, strangely enough, a Linux port of a Windows development API) with MySQL holding the data together.
But don’t let this disarmingly simple implementation throw you. Just download the appliance and point VMWare player to the file and follow the few simple prompts for passwords and suchlike, and you’re in. The overall installation packaging is pretty smooth. Being mostly text-based the Wiki flows along fairly quickly, but your mileage may vary when the connection count goes up. Hard stats would be interesting, but I haven’t stress-tested it.
It’s best to stand between the screen and any passers-by while the appliance is booting, to avoid having to explain what it’s doing. Once it’s all running, of course, nobody knows / nobody cares what the platform is because on the Internet nobody knows what breed of mutt you are.
Downside — since I’m running a bare-bones desktop, I don’t have access to my own DHCP server. The Deki appliance consumes a DHCP address like it should, and keeps a consistent and unique generated Media Access Control (MAC) address in a well-behaved manner, but since I’m too lazy to talk to the network guys or dig into the Debian instance I have to address the Wiki page via it’s TCP-IP address e.g. http://127.0.0.1 (substitute appropriate IP address). Such is life. Bookmark it.
The positive side of this is I can get a new Wiki instance up and running in about five minutes. This can be highly useful at times.
Enterprise Solutions
Here’s where you find the thorns, giving you much opportunity for sweet regret if you get it wrong or (worse) if you don’t try at all.
You’ve still got the three major players as per above, but you’ll be paying for the very non-free versions because you’ll need the additional features. So drop the “free” meme now, it’s in the way and doesn’t meet the dress code. We’re talking servers here.
In an Enterprise environment the very compelling arguments for virtualisation come down to (a) you can make better use of valuable hardware footprint, and (b) rolling a version of a server implementation is as simple as copying a file.
You’ve heard this before. Some of you (you there, on the left) will have discovered that you have developed a library of versions of whole operating systems implementations in rather rotund files that you have to manage. Disk is nearly free on the Enterprise scale, but you don’t often have enough on tap and utilisation mounts up fast. You will be investing in storage.
Management of this library of versions becomes somewhat problematic, as you generally wouldn’t trust Visual Source Safe or PVCS to scale to the number of files of this size. Something is needed to track and move the virtual server files appropriately. In a hosted, shared services environment you may end up with libraries of hundreds of files, each needing their own tracking data.
Since a virtual server instance is at least as complex as a normal server, you have to change your scale of thinking to think of whole systems, and you’ll need something better than a “readme.server_instance_nn” to describe the state of the server inside the file. Can you read individual files without bringing the instance online? This can be very important — consider the chaos that would result if you had two instances of the same DHCP server online, for example, and start getting duplicate TCP/IP addresses in the wild. Painful! You would be best served in a shared environment if you could look inside the virtual image before you bring it online, to identify it clearly or tweak a parameter. Microsoft has plans to provide this functionality, as well as the means to move virtual machines between instances in a physical server farm based on server utilisation. This was demonstrated at TechEd 2007 as “System Center Virtual Machine Manager 2007 (VMM)” and (here, let me haul this link up…urgh…you suppose they make these out of lead?…here:) http://www.microsoft.com/systemcenter/scvmm/default.mspx .
You will also need to consider tools to convert an existing server into a virtual server, too, since real dollars can be saved by consolidating your legacy servers this way. Many old networks have suffered server sprawl over a long time — you might have entire servers devoted to say, WINS plus a few little scripts that nobody is game to throw away, sitting there sucking dust down the fans for years, and you might have dozens of these examples of organic growth on the shelves. Moving these servers to a well managed rack is a good thing, but doing it manually would be expensive and potentially dangerous. Much better if you could point and click and have it all converted for you. Click, grab the system partition, registry, all the fiddly bits, turn it into a virtual instance, just a file now. You can then play server dominos with the old cases (http://www.youtube.com/watch?v=5_tXcRYOYZ0).
Bare Naked Servers (Hypervisors)
VMWare is soon to release a version of their Hypervisor on thumb drive that allows you to boot directly to a Hypervisor instance with no (other) underlying operating system. This will allow you to run multiple VMWare instances without unnecessary overhead of a supporting operating system. This can mean supporting another VM instance on the one box, at least. This is A Good Thing. Xen is oriented toward this approach, without the dramatic flourish of waving a thumb drive at people. Think of it as sort of a “thin server”.
Care and feeding of the common NIC
You may also have discovered that some of your servers are busier than others, and perhaps running several servers on the same box based entirely on CPU utilisation was not always a good idea; perhaps you didn’t plan for the burst I/O rates. With the wrong hardware, it can get worse — operating systems on PC hardware talk to the BIOS layer, so every I/O instruction has to be trapped and go through the one contended CPU’s BIOS framework. When you consider that multiple instances of operating systems base their asynchronous thread scheduling behaviour on when and how an I/O completes and announces the completion of interrupts back to the operating system, the added complexity in handling these interrupts can cause severe I/O throttling. One server to one BIOS, no problem — interrupts go back and forth with wild abandon and all are happy. When multiple servers funnel through the single BIOS however, the overheads in tracking when an I/O completes can be very expensive. This is the problem that caused the “virtualisation has crap I/O” meme to get out into the wild.
Fortunately this is no longer true — with the right chip set, virtualised I/O can be nearly as fast as separate servers. The solution to this is in the silicon — both Intel and AMD now offer CPU’s and motherboards designed specifically to support a hypervisor (i.e. they do not offload the Ring 0 instructions to the BIOS) so be careful how you shop for the underlying server hardware.
Beowulf meets the Mainframe
Another method of server virtualisation takes an IBM Z-series mainframe and puts a few thousand Linux servers into it under VM. This fits the definition of “server virtualisation” but veers off into the non-Windows friendly environment (many people believe running Windows under the Linux “Wine” emulator does not qualify as Windows-friendly) and will not be covered here. Check the IBM web site if you’re interested, at http://www-03.ibm.com/systems/z/virtualization/ .
It all works, you’re going to save money, but you’re going to need help
Anybody can download a version of one of these Windows virtualisation products and get it to work. It’s a clever bit of technology, but it’s not that hard to download an appliance and get it to run. Once you get past the first few virtual instances though, your new-found competitive edge will likely lead to more business, and more virtual server instances to manage. It can all become rather complex rather quickly, and a good strategy would be to plan ahead and choose the options that allow for growth. These may not be the options that work for you on the desktop, and the need to change the way you look at traditional LAN infrastructure may be a learning ramp you’d like to avoid investing in. As always, today’s miraculous cost reduction solutions can become tomorrow’s chaos if you don’t stay on top of it. You might want to consider engaging an experienced SI as an aggro reduction strategy, to keep from eating up all your savings. Us, for example, <name withheld for now> (/shameless plug). We can help you release your potential.
Further reading:
http://www.microsoft.com/virtualization/solutions.mspx
http://www.citrixxenserver.com/Pages/default.aspx
Kelley is a senior solutions architect for “Large Multinational Consulting & Outsourcing Company”’s Consulting Group, and is proud of the grey hair he still has.