Microservices Expo Authors: Liz McMillan, Pat Romanski, Carmen Gonzalez, Elizabeth White, Jason Bloomberg

Related Topics: Microservices Expo

Microservices Expo: Article

Sun Distinguished Engineer John Crupi On SOA and Kitchen Renovation

"I keep seeing similarities between renovating a kitchen and building a SOA"

We're in the process of renovating our kitchen. In our kitchen design, we're actually constructing a new structure to extend the current kitchen. If any of you have gone through this, I'm sure you have lots of war stories. But, as my wife and I go through this process,  I keep seeing similarities between renovating a kitchen and building a SOA. 

To understand what I'm talking about,  I'll start by making some role comparisons:

Kitchen Renovation Roles
SOA Roles
Home Owner Business Manager
Kitchen Designer Business Analyst
Building Architect
SOA Architect
Construction Crew
Development Team

When renovating a kitchen there are usually four key roles: home owner, kitchen designer, architect and construction crew. In SOA, there are similar key roles: business manager, business analyst, SOA architect and development team. These four roles tend to have similar responsibilities as shown below.

Renovation Roles Renovation Responsibilities SOA Roles
SOA Responsibilities
Home Owner Overall requirements and budget Business Manager Overall requirements and budget
Kitchen Designer Kitchen requirements and design Business Analyst Business requirements and features
Building Architect Overall architecture
SOA Architect Overall architecture
Construction Team
Project construction
Development Team
Project implementation

The most important person in a kitchen renovation is the home owner. In SOA, the most important person is the business owner, who is usually the business manager.  Essentially, it's who owns the budget and writes the check.

You can renovate a kitchen without a kitchen designer, but I don't recommend it. Kitchen designers have the best  understanding of the requirements and features of a kitchen. Even building architects will tell you to bring in a kitchen designer to insure good flow, appliance placement, cabinetry, flooring, zoning, etc.

Similar to a kitchen designer is the SOA business analyst. Just as you can renovate a kitchen without a designer, you can build a SOA without a business analyst.  But, I don't recommend this either. The business analyst understands the business and business requirements and acts as a liaison between the SOA architect and the business unit. It's the business analyst who translates business requirements into information to help the SOA architect design the system. Kitchen designers tend to act as a liaison between the home owner and the building architect. Just as the business analyst is driven by the business unit and has to support the business objectives, so the kitchen designer supports the home owner's objectives.

Then there's the building architect who is core to the overall kitchen design. He/she is the one who has to take all the requirements of the kitchen designer and the home owner and turn that vision into a set of architectural blueprints. These blueprints are used for permits, cabinet sizing/layout, construction cost estimates and eventually become the master construction plans. If the blueprints are wrong or incomplete it trickles down to all levels and eventually ends up costing the home owner much, much more.

Finally, there's the kitchen construction team. The construction company bids on a project based on the complexity of implementing the blueprints, material and labor costs and a slew of other cost factors. You can probably imagine what can and will possibly go wrong in this model if all parties aren't aligned. If the homeowner changes the requirements mid-stream, change order costs incur. If the kitchen designer miscalculates the cabinet dimensions and the cabinets don't fit, it delays the overall schedule, which translates to added costs. You get the idea. So much can go wrong  if all stakeholders are not in complete sync – in both the kitchen renovation and SOA world.

More Stories By John Crupi

John Crupi is Vice President and Engineering System Architect at Greenwave Systems, where he guides development on the edge-based visual analytics and real-time pattern discovery environment AXON Predict. He has over 25 years of experience executing enterprise systems and advanced visual analytics solutions. He was Chief Technology Officer at Predixion Software prior to its acquisition by Greenwave, and led development of the Predixion RIOT IoT analytics platform. He also served as CTO at real-time operational intelligence startup JackBe (acquired by German software behemoth Software AG) and as CTO of the Sun Microsystems SOA Practice, where he was recognized as a Sun Distinguished Engineer.

Mr. Crupi is co-author of the highly regarded Java reference Core J2EE Patterns: Best Practices and Design Strategies (Prentice Hall) and co-author of 13 patents on advanced analytics and pattern-based system design. He’s contributed to numerous industry journals and publications, served on the international advisory board for Sys-Con’s ‘AJAX & RIA Journal,’ and has specialized in advanced real-time patterns and analytics for IoT for the past 10 years. He earned his BS in Mechanical Engineering at University of Maryland College Park, and his MS in Engineering Administration with a sub-focus in Artificial Intelligence from The George Washington University in Washington, D.C.

John is a three-time "Washingtonian TECH TITAN” award recipient from Washingtonian Magazine for leadership recognition within the Washington Technology Community.

Comments (2)

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.

Microservices Articles
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
"NetApp's vision is how we help organizations manage data - delivering the right data in the right place, in the right time, to the people who need it, and doing it agnostic to what the platform is," explained Josh Atwell, Developer Advocate for NetApp, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, discussed how to use Kubernetes to set up a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace. H...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, will discuss why containers should be paired with new architectural practices such as microservices ra...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
The Software Defined Data Center (SDDC), which enables organizations to seamlessly run in a hybrid cloud model (public + private cloud), is here to stay. IDC estimates that the software-defined networking market will be valued at $3.7 billion by 2016. Security is a key component and benefit of the SDDC, and offers an opportunity to build security 'from the ground up' and weave it into the environment from day one. In his session at 16th Cloud Expo, Reuven Harrison, CTO and Co-Founder of Tufin, ...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In their Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, and Mark Lav...
Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again. Unfortunately, we've seen this movie before, and we know how it ends: badly.
TCP (Transmission Control Protocol) is a common and reliable transmission protocol on the Internet. TCP was introduced in the 70s by Stanford University for US Defense to establish connectivity between distributed systems to maintain a backup of defense information. At the time, TCP was introduced to communicate amongst a selected set of devices for a smaller dataset over shorter distances. As the Internet evolved, however, the number of applications and users, and the types of data accessed and...