Archive for September, 2006

Virtual Trends

Friday, September 15th, 2006
First there was the virtualization of people talking to each other as telephonic communications connected others via a “cloud” and the service of the telephone came into being. At some point data communications also went into the cloud and became virtual, especially with the advent of packet protocols, not to mention the Crown Jewel of them all, IP, which truly virtualized data communications as that cloud became the public Internet. Then, there was the wireless virtualization, such that connectivity to the cloud became unwired and then location all of the sudden was irrelevant, (in fact a characteristic of virtualization is making certain things irrelevant, i.e. location, format, etc.). Arguably the asynchronous nature of event models allowed time to become irrelevant, (as synchronous communications have a dependency on sequence).

And the cloud keeps growing. Software as a Service (SaaS) is the virtualization of software, where binaries and the installations of them become irrelevant. The subscription model is interesting, it’s turning software into an easy monthly service, like any public utility, for example.

So where’s this all going? Hardly slowing down, let alone standing still, it’s accelerating. In March of this year Amazon.com launched the Simple Storage Service (or S3), which is a metered disk service (in the cloud of course), hardly the first hosted storage capability out there, however is just so virtual, so easy and it’s truly a service. Okay, okay, so storage isn’t the sexiest thing, but in July, the same company announces Simple Queuing Service (or SQS), which enables true virtual services. The framework for this is called the Elastic Compute Cloud (or EC2), which is a web service that provides “resizable compute capacity in the cloud”. Go here for Amazon’s full description: http://www.amazon.com/gp/browse.html?node=201590011.

Is there no end to the trend of virtualization? Of course not, but that’s good. With each move forward, software and computing gets easier, cheaper and more useful. Although, I’m not sure the virtual computing is as cost effective as it may seam. Check out the pricing on the page at the URL above. It says its $0.10 per “instance-hour”, is basically $72 per month (relative to a 1.7Ghz CPU, 1.75GB RAM and 160GB hard drive), mind you that’s excluding internet access which is an additional $0.20 per Gigabyte. A little pricey, and there are cheaper hosting models out there. However, as all things like this do, it’ll get way cheaper over time. This stuff is leading edge and it’s in its infancy, so give it a little time.

Clearly virtualized computing, communications, software, and many other areas are are maturing in availability and importance. SunGard believes in the virtualization of software as services. We view this as a growing trend in distributing software, it’s a far better way in fact to distribute software. It’s more flexible, quicker and fosters integrated “composite solutions” meeting business needs more closely than monolithically installing siloed binaries that don’t interoperate. SunGard’s SaaS effort is revolutionary, at least for the financial services industry. Over the course of the next 12 months, more and more of this vision will be revealed, with each passing parts of the SunGard virtualized software delivery (or marketplace) for financial services will be exposed. Stay tuned…

Collaborative SOA Lessons Learned

Monday, September 4th, 2006
Last week I spoke at the Gartner Financial Services Summit in Boston on the topic of Best Practices for Enabling SOA Composite Solutions for Financial Services. I used as my primary theme, 7 lessons learned in SunGard’s collaborative SOA effort. I think the term “Composite Solution” has a comprehensive meaning for this subject. In my opinion, any SOA effort should yield a Composite Solution (independent parts or systems working together to provide greater value). Composite Solutions will be required more and more by the businesses we work for, as they continue to ask for more integration, (reasons include: regulatory compliance, B2B collaboration., mergers/acquisitions, deploy new packaged applications, single view of customer, implement self-service portals, improve data quality, etc.). Additionally, successful collaborative SOA’s involve much more that simply sharing data and services, or procuring a particular vendor’s SOA stack. I’ll attempt to lay out 7 things we found particularly important. 

Lesson #1: Governance process is more important than technology

Clearly the most important aspect of our effort is the very collaborative process that provides key centralized support, involvement of every area of the company (both business and technical). The central team is dedicated to the governance of common requirements, standards and technologies, offers guidance and education, manages the common code base and infrastructure, provides support services, facilitates communication and collaboration and administers automation for builds, tests and deployments. Our process provides for key collaborators within each Business Unit (Common Architects for technical representation and Common Product Managers for business representation). On a regular basis, cross-company collaboration occurs with weekly discussions, workgroups (subsets) define proposals, and the key collaborators vote on adoption. The collaborative process depends on common and centralized documentation, code, issue tracking, and on-line forums.

#2 Lesson Learned: Ensure key stakeholders from each domain are engaged

Probably the most continually challenging aspect of our effort is identifying key business stakeholders and ensuring they are engaged. Business stakeholders need to define which topics are important to collaborate on from a business perspective, assign members of their teams to participate in collaborative discussions and they need to be measured for participation and value added, with incentives provided.

#3 Lesson Learned: Measure and report on key metrics

In line with the old adage that you can’t improve anything you don’t measure, this lesson is key to the continual increase in value in any collaborative process. The kinds of things we found useful to measure include: contributions, consumptions, participation in collaborative workgroups, responding to common communications, cost savings and cost spend on collaborative activities (there is after all overhead to collaboration), revenue, and time savings.

#4 Lesson Learned: Inventory all assets in a directory or catalog

Likely the most important central repository is an asset catalog, or component registry. The registry should identify useful decomposed parts of legacy applications as well as the new stuff. Services, interfaces and components should be identified. Too many limit their registries to Web Services… keep in mind there are many interface types to useful components. In the Financial Services industry we have things like FIX, and a myriad of other protocols/interfaces to invoke a service or component. Your SOA is only as good as your metadata. Also, keep in mind version control for the registered assets is critical. You may run into people (as we did and do) that complain that your asset repository lacks something. Your repository should expand through contribution, and if functionality is needed, teams should build it and contribute it, so the next time a team needs the same thing, it is there, in other words if it is not there, it’s an opportunity to add it. Emphasis should be placed on reducing replication and foster reuse, and proposals for major modifications should be drafted and voted on by the collaborative community. A feedback process should identify if the proposed solution is inadequate, or something better exists and the collaborative stakeholders exist to discuss and decide on the best approach. Participation and feedback is crucial

#5 Lesson Learned: Adoption requires a maturity model

A maturity model is necessary if any technology exists in your enterprise at all, (in other words, a maturity model is always necessary). I’ve described our maturity model several times in my blog, so I won’t re-do that here, instead I’ll merely highlight the benefits of each level of the SunGard maturity model for reference:

Level 1 – Rapid Service Orchestration
Your application services can be leveraged by other business units quickly and easily, opening up new avenues for growth.
Level 2 – UI Conformity
Bundled solutions can avoid the fragmented user experience that has plagued past efforts at selling “integrated” solutions
Level 3 – Improved Processing
A single database provides deeper integration for better processing and analytical capabilities
Level 4 – Architectural Guidance “out-of-the-box”
Focus on your business problems, not technology issues.
Develop more rapid solutions by leveraging what already exists
“Out-of-the-box” composite solutions, already integrated

#6 Lesson Learned: Build integrity into the process and technology architecture

Key to any process is trust in the standards, reference and process. This is a lesson we continually try to improve, and dare I say… struggle with at times (hey, I’m a practical software guy). Areas of focus for us relative to ensuring integrity is built in are: automated testing, unit tests, functional tests, scale or stress tests, peer reviews, profiling, documentation, and standards.

#7 Lesson Learned: Harvest the low hanging fruit first

Uncover the projects underway that require integration, work with key business requirements, and identify real needs, ensure key stake holders are driving the projects, and above all… start small! Get some early successes.