Welcome!

@DevOpsSummit Authors: Elizabeth White, Liz McMillan, Kevin Jackson, Pat Romanski, Tim Hinds

Related Topics: Java IoT

Java IoT: Article

Why Superman Works Alone

Why Superman Works Alone

Toward the end of the last Batman movie, when Robin is giving Batman a hard time, George Clooney gets fed up and says, "This is why Superman works alone." While I'm often tempted to think along the same lines, the reality of our business is that we work in teams. This leads to the topic of this month's diatribe: team development.

Large-scale software development is a complex process. The majority of it takes place in a corporate environment that requires rigor and process. The most familiar of these processes is usually the task of obtaining the blessing of the DBA for your database schema, or for changes you need to make to it. Due to the nature of the corporate database, the DBA process is almost an island unto itself. I'll rant about that some other time because right now I'm interested in team development and its partner - configuration management.

It's my belief that the companies creating source code control tools today are missing the big picture. You'll notice that I said "configuration management" in the previous paragraph and "source code control" in this one. In my mind there's a big difference between them; while source code control is vital to any project and is indeed part of configuration management, it is by no means the whole picture. Mention configuration management to a typical project team and you'll get an answer like, "Oh yeah, we use" (which can be filled in with any of the current generation of source code control tools).

Unfortunately, this misses the point of configuration management because it addresses only a small portion of the entire task - the part relating to developers. The typical configuration-management dilemma encompasses tasks such as unit, system and integration testing; software builds and deployment; and, in the era of multitiered Web applications, distribution and registration issues.

We need to establish a set of standards for these practices so they can be automated and controlled. It's a complex issue, but that's the whole point of paying a good deal of money to a vendor to come up with a solution. Every time we begin a new project we have to tackle the same issues over and over. This is an opportunity for an up-and-coming ISV to create a new product line and dominate the industry.

What we need is a meta tool - one that's language-independent but can interact with any of the major development environments. It could start with source code control. Most organizations I've worked with don't allow developers to directly create executables - as part of the QA process the testing team usually creates them. And they typically suffer from a lack of expertise in doing just that because their main focus is on testing, not building. The first step would be automating the build process, then representing it in a graphical manner that makes it easy to define and automate. Please don't tell me about nmake or other command line utilities - it's been my experience that people who are typically charged with the build process aren't the kind of heads-down developers who can make that kind of tool workable. A simple graphic tool is needed.

The next step is to establish standards for code deployment and registration. Most multitiered environments use some sort of application server, be it MTS, Jaguar CTS, Tuxedo/M3 or one of the CORBA Orbs. As code is produced, and as it changes, redeployment and registration of components within these servers become an issue. The establishment of a common mechanism for supporting this process would enable our new meta tool to automate this process. I spent a great deal of time on a recent project ensuring that registration and CLSIDs were current. It was largely a mechanical process that didn't need to eat up a lot of time if a tool had been available.

Hand in hand with the application server deployment is the replication of environments. In most cases the code above goes to more than one application server (development, testing, various production systems, etc.). Perhaps a publish-and subscribe paradigm, with the meta tool being the publisher, would be appropriate.

Finally, deployment and synchronization of the client code is still an issue. Fortunately, we've had more time to think about this one, thanks to client/server, and there are tools available to help. Unfortunately, none that I'm aware of tie into a more global model, so even with these tools you have some type of routine setup and maintenance.

I'm not holding my breath waiting for this meta tool. Having wrestled with these issues for years, I know how difficult it is to establish a set of vendor-neutral standards and get the industry to adhere to them. But I do know we need them. In the meantime, I'm going to take my Kryptonite laptop somewhere quiet and do some real coding. Up, up and away.

More Stories By Sean Rhody

Sean Rhody is the founding-editor (1999) and editor-in-chief of SOA World Magazine. He is a respected industry expert on SOA and Web Services and a consultant with a leading consulting services company. Most recently, Sean served as the tech chair of SOA World Conference & Expo 2007 East.

Comments (0)

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.


@DevOpsSummit Stories
"Storpool does only block-level storage so we do one thing extremely well. The growth in data is what drives the move to software-defined technologies in general and software-defined storage," explained Boyan Ivanov, CEO and co-founder at StorPool, in this SYS-CON.tv interview at 16th Cloud Expo, held June 9-11, 2015, at the Javits Center in New York City.
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, which can process our conversational commands and orchestrate the outcomes we request across our personal and professional realm of connected devices.
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the public cloud best suits your organization, and what the future holds for operations and infrastructure engineers in a post-container world. Is a serverless world inevitable?
ChatOps is an emerging topic that has led to the wide availability of integrations between group chat and various other tools/platforms. Currently, HipChat is an extremely powerful collaboration platform due to the various ChatOps integrations that are available. However, DevOps automation can involve orchestration and complex workflows. In his session at @DevOpsSummit at 20th Cloud Expo, Himanshu Chhetri, CTO at Addteq, will cover practical examples and use cases such as self-provisioning infrastructure/applications, self-remediation workflows, integrating monitoring and complimenting integrations between Atlassian tools and other top tools in the industry.
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory? In her Day 2 Keynote at @DevOpsSummit at 21st Cloud Expo, Aruna Ravichandran, VP, DevOps Solutions Marketing, CA Technologies, was joined by a panel of industry experts and real-world practitioners who shared their insight into an emerging set of best practices that lie at the heart of today's digital transformation.