Welcome!

Microservices Expo Authors: Elizabeth White, Liz McMillan, Yeshim Deniz, Pat Romanski, Zakia Bouachraoui

Related Topics: Microservices Expo

Microservices Expo: Article

How Much Will Your SOA Cost?

Here's a sensible, no-nonsense approach to costing out SOA

I'm consulting now...at the project and strategy levels...and finding that a lot of real work needs to be done to get SOAs up and running. For most organizations, the first step of their SOA project is to figure out how much this SOA will cost. So you can budget appropriately and get the funding.

It's a good first step, but most organizations that want to build an SOA don't have a clue about how to approach the cost estimate. In many cases, they grossly underestimate the cost of their SOA, hoping their bosses and accountants won't notice later. In other words, go in low to get the approval, and reveal the higher costs later after it's too late...the investment has been made. Not a good management practice, if you ask me, but a pretty common one.

So, how do you calculate the cost of an SOA? While you can't cost out an SOA like a construction project, many of the same notions apply, including: Understand the domain, understand how much required resources cost, and understand how the work will get done. Moreover, understand what can go wrong and account for it.

Here are some very "general" guidelines:

Budget to budget. The problem that I'm seeing over and over again is that cost estimates are provided without a clear understanding of the work that has to be done. Indeed, you need to budget some time to create the budget. This means understanding the domain in detail, including the:

  1. Number of data elements
  2. Complexity of data storage technology
  3. System complexity
  4. Service complexity
  5. Process complexity
  6. New services needed
  7. Enabling technology
  8. Applicable standards
  9. Potential risks
Typically it's expressed as:
Cost of SOA =
(Cost of Data Complexity + Cost of Service Complexity +
Cost of Process Complexity + Enabling Technology Solution)

For instance:
Cost of Data Complexity =
(((Number of Data Elements) * Complexity of the Data Storage Technology) * Labor Units))

  • The number of data elements being the number of semantics you're tracking in your domain, new or derived.
  • The complexity of the data storage technology, expressed as a percentage between 0 and 1 (0% to 100%). For instance, relational is a 0.3, object-oriented is a 0.6, and ISAM is a 0.8.
So at $100 a labor unit, or the amount of money it takes to understand and refine one data element, we could have:
Cost of Data Complexity = (((3,000) * .8) * $100) or, the cost of data complexity = $150,000

Or, the amount of money needed to both understand and refine the data so it fits into your SOA, which is a small part of the overall project by the way.

If you get this, you can get the rest of the cost analysis procedure; just reapply the same notions to:
Cost of Service Complexity, Cost of Process Complexity, Enabling Technology Solution

Some things to remember:

  1. This is not really metrics (e.g., function points) because we really don't have historical data to abstract here. In essence, you need to use your own project management and project costing methods; just apply them to this new approach, using the formulas I'm suggesting above.
  2. Count on 10%-20% variations in the cost for the simple reason that we haven't walked down this road before. As we move from project to project, we'll get better at costing out a SOA.
  3. Make sure you factor in at least two major mistakes like selecting the wrong vendor or hiring the wrong architect. You may encounter more, but it will almost never be less.
  4. Make sure to change cost estimates as scope creep occurs, and it always does. The nice thing about using formulas such as the ones I'm expressing here is that, as change occurs, you can quickly see the effect on the budget. Moreover, as change occurs later in the SOA projects, the cost of change goes up exponentially.
Finally, here's a sensible, no-nonsense approach to costing out SOA. While the actual numeric assumptions may be debatable, it's the approach that's refreshing. It would be great to see people start using this model, sharing any data points and providing feedback so it could be refined. Clearly, this would benefit the IT community a lot. I plan to develop a much more sophisticated model in the near future. If you're interested, let me know. I'll post it on my Web site.

More Stories By David Linthicum

Dave Linthicum is Sr. VP at Cloud Technology Partners, and an internationally known cloud computing and SOA expert. He is a sought-after consultant, speaker, and blogger. In his career, Dave has formed or enhanced many of the ideas behind modern distributed computing including EAI, B2B Application Integration, and SOA, approaches and technologies in wide use today. In addition, he is the Editor-in-Chief of SYS-CON's Virtualization Journal.

For the last 10 years, he has focused on the technology and strategies around cloud computing, including working with several cloud computing startups. His industry experience includes tenure as CTO and CEO of several successful software and cloud computing companies, and upper-level management positions in Fortune 500 companies. In addition, he was an associate professor of computer science for eight years, and continues to lecture at major technical colleges and universities, including University of Virginia and Arizona State University. He keynotes at many leading technology conferences, and has several well-read columns and blogs. Linthicum has authored 10 books, including the ground-breaking "Enterprise Application Integration" and "B2B Application Integration." You can reach him at [email protected] Or follow him on Twitter. Or view his profile on LinkedIn.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Maria Stanley 09/11/07 11:29:30 AM EDT

David,
I forwarded this paper to people who are looking at estimates for a large SOA migration project at DoD, done with COCOMO, and do not know if they can trust the huge numbers they see.
I was thanked, but the question was raised: what feedback Mr. Linthicum would have on using COCOMO for estimating SOA migration costs?
Does your approach fit with COCOMO in any way?
(This is not my expertise area to offer my own insight, unfortunately).
Thank you.

Microservices Articles
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will deployment. Storage, for instance, is more capable than where we read and write data. In his session at @DevOpsSummit at 20th Cloud Expo, Josh Atwell, a Developer Advocate for NetApp, will discuss the role and value...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling independent service deployments. In this presentation we'll provide an overview of the tools, patterns and pain points we've seen when implementing contract testing in large development organizations.
Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle. In his session at 18th Cloud Expo, ...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addresse...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize existing data center assets, leverage the advantages of cloud computing and avoid cloud vendor lock-in. This requires a globally aware traffic management strategy that can monitor infrastructure health across data centers and end-user experience globally, while responding to control changes and system specification at the speed of today’s DevOps teams. In his session at 20th Cloud Expo, Josh Gray, Chie...
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true ...