Tuesday
Aug172010

Diagnosing Complex Applications - Answering the Tough Questions

One of the constant items that I come across in my professional career is the one that typically starts with leadership within an organization about a very basic premise - what is going on with their business applications? This seems like a very straightforward question. However in truth it is not as easy as one would imagine.

Many companies have grown organically that while beneficial has some operational costs to consider. One of the most challenging happens to be managing complex systems. This includes appraisal and diagnosis especially triage in the case where applications critical to the business are having issues. 

Generally speaking almost all the organizations that I have had experience with typically have the same set of problems:

 

  • Missing or out-of-date metrics. One cannot measure anything if nothing has been defined. This is where most businesses fail. 
  • Threshold Goals. Once metrics have determined thresholds have to be defined. These are basic boundaries that determine 3 basic states: healthy, not-so-healthy, and in jeopardy. These can also be characterized as zones: green, yellow and red. These boundaries help establish what the business expects from their applications and operations.
  • Growth expectations. Businesses expect growth. However asking them to come up with an expectation to create a model is something most do not want to do. This is a tough balancing act typically around "planned" growth events. In truth if something does really well, all previous growth projections tend to be irrelevant since in essence the scale changes say from tens of thousands to millions. Regardless a growth model needs to be in place.
  • Holistic analysis. Only a very small handful of organizations really see this as a key practice for complex applications and systems. Most think of only a handful of elements not their entirety. It is absolutely essential to look at the complete spectrum of options and be able to analyze everything that can impact a business. This means hardware, software, network, web traffic, and user-based activity. All of it.

 

So why these basics? It actually comes back to my training at Toyota. In order to diagnose what is wrong, you need to know what is normal. So the basic process that I go through includes:

  • Get existing information. Whether it be from existing tools, logs, etc. It is important to get what is available.
  • Target data to answer key questions. These data points range in names from Key Performance, to Business Activity, to Business Metrics, etc. Yet their purpose is the same - identifying key elements that the business is looking for to answer their questions.
  • Identify what is missing. Invariably there are elements that are missing. These need to be identified and then tackled in order of precedence.

Following this basic formula holistic diagnosis and analytics can be automated and evolved over time.

So what sorts of scenarios does this cover? Some of the basic ones include:

  • Capacity. The company is going to have some major event and wants to know if they can handle it. This is not simply not just a question about any one part of a complex system rather the complete domain itself. Can it handle the extra users? Can it handle the traffic? Can it handle the business transactions? Can it handle the fallout? What is most likely to break? When? Where? How is that handled? All of these smaller questions are wrapped around the initial one. 
  • Triage and Diagnosis. Another very common issue is around problems that have impacted a business. Why is X problem happening? What are the symptoms? How are symptoms winnowed to potential causes? How are potential causes vetted to actual causes? What are expected impacts to potential solutions? How fast can potential solutions be turned around? How much can triage address vs. long term care? Being able to effectively manage all aspects of a problem enables the business to rapidly identify barriers to their growth and operations saving money, cutting costs and capitalizing on opportunities.
  • Business opportunities. With all the diagnostics in place, analysis quickly moves into business opportunity analysis. What are customers? What are the various business units doing? When are they doing? Why are they doing it? Is there something we are not doing? Is there something we can do better? Once a business has the ability to look at their system in a holistic manner all sorts of interesting patterns emerge that are of interest to any business leadership.

When presenting a business with this sort of proposal it is daunting and in many cases especially from the operations-side of the house considered redundant. However it is not to say that the analytics are designed to replace existing investments, rather it is a way to look at what exists and identify/plug gaps. 

For example many businesses have raw infrastructure data in the form of CPU, memory, disk, network activity, web traffic, etc. However this data is almost never compared to business application operations which track groups of activity in relation to one another. For example I have often ask an operations expert what is the link-traffic for a user who is inquiring about their account? They can give me all sorts of raw data but cannot put it together. If I ask the specific application expert they can tell me the path but not the application components. If I ask a developer, they can tell me the functionality and application components, but rarely can tell me the actual business case. When put in this light the problem is very clear: each domain is responsible for their individual area of responsibility. However in most cases there is no one to put them all together. 

Once put together a business can actually see for every business activity, it's impact to their technical infrastructure, personnel, and operations. They can also then put important business events such as quarterly close, specific product promotions, and anything else together and view a complete high-level view of what happens to their organization when that occurs: how busy is their application, how many users are actually assisting in the endeavors, are reports being executed before/during/after the event, how many business operations are being executed, what partners are being used the most, etc. 

Being able to answer tough questions means diagnosing and analyzing complex applications and systems in a different and more relevant perspective. It also means being open to the idea that while you may have existing tools and perspectives available, it does not mean you can answer tough questions.

Tuesday
Aug032010

Innovation Everywhere - Mobile, Gaming, Social! Oh My!

Recently there has been a flurry of innovative advances on a variety of fronts that while not new in concepts, they have definitely started to make their make in the market.

Mobility is one of the most obvious forms of innovation that has fundamentally changed the game. Apple and Google are new yet they have had such a deep and meaningful influence that one can scarcely have discussions in the local conferences without coming across a conversation about these devices and advances in the mobile marketplace. Also it's not just the developers and handset manufacturers looking at this market with a new eye. Even the American carriers such as AT&T and Verizon are doing so with services such as smartphone payments and others. It is clear that businesses small and large are looking at this market much more differently than they did a mere 5 years ago.

Gaming is another major area of innovation. While traditional games such as Starcraft 2, World of Warcraft, Red Dead Redemption and others have legions of faithful followers, it is the changes as a whole in the gaming world that offers studies in innovation for other industries. Companies such as Valve's Steam gaming service is an excellent model demonstrating what people expect for paid software deliveries. Gaming platforms such as Microsoft Xbox whose ability to include services such as Twitter, Facebook and NetFlix demonstrates a greater diversity of offerings for existing platforms while at the same time fundamentally challenging long held views of what consumers expect platforms to be. Even games such as Zynga's Farmville who came onto the Facebook scene not too long ago has done well in demonstrating what casual gaming can do on a non-traditional platform.

Finally another area of innovation happens to be growing era of social networking. I simply call it social innovation. These are the various ways of discovering and engaging others along various dimensions of interest whether it be personal interests, professional interests, political interests, hobbies, news, or any combination. In this emerging area it is clear that consumers desire and expect to be able to consume what they want, when they want, and interact how they want to in a manner that they personally deem safe and secure. What one person thinks is perhaps too public may be considered highly restrictive to another. In this new digitally-based socially connected network, who you know is really a powerful factor. After all, it's not a site you are necessarily visiting, as opposed to people that individuals find interesting or value that drive the activity.

While there are certainly many other areas of innovation, all of them represent some universal truths about the marketplace: they are new ways of looking at old problems, the entrepreneurs in these areas are bold, brave and fast, and the consumers they are tapping into are not brand new generations but rather existing generations. These new innovations are really about how to reach people in ways that they understand, in meaningful and valuable ways, and simplifying significant degrees of complexity. 

It is certainly a wonderful and exciting time! 

Sunday
Jul182010

Data As A Service - A Practical Viewpoint

In a recent discussion the topic of clouds arouse. Now many in the industry are still attempting to come to grips with the fundamentals of this concept. In this specific conversation we traversed down the thoughts of public vs. private, externally housed vs. internally housed, cloud-bursting, etc. Eventually we landed on the topic of services such as Infrastructure-as-a-Service, Software-as-a-Service, Platforms-as-a-Service and Data-as-a-Service.

We focused on Data-as-a-Service mostly because the professionals I were speaking to had issues around data and were curious as to how Data-as-a-Service or DaaS could help address many concerns traditional companies now face.

If one looks at the internal arrangement of any company that has been around for a bit, their data ecology is a mix of islands within the corporate environment: RDBMS like Oracle and SQL Server in a variety and number, file-based data such as Excel spreadsheets and the like, electronic communication such as email, etc. On these islands lay valuable pieces of data, keys, details about accounts, customers, strategic initiatives, etc. Historically speaking obtaining valuable information from these data islands spread throughout the ecology has been tremendously painful and labor-intensive requiring an organization to place significant investments into things such as data warehousing. While effective on a number of levels, in today's age of lightning-fast changes being able to get to valuable information that not only resides within but about the data ecology is absolutely essential to survival.

This is where the concepts of services particularly around DaaS are very powerful. From a high-level the DaaS allows an organization to not only have access to required information, but also places powerful discovery and self-evolving mechanisms that had not previously existed into the hands of the organization. There are a few key concepts that help make the DaaS work:

  • Storage: This can be reasonably small to very large. In truth DaaS need not truly focus on this as storage is usually addressed as Infrastructure-as-a-Service os IaaS. However practically speaking it is just a matter of understanding whether the goal of DaaS is to hook into an existing IaaS or act as a mesh over existing islands.
  • Meta-Data Dictionary: Everyone in IT and development knows what a data dictionary is. And equally many business people care less. However the idea here is to evolve from isolated or even an enterprise data dictionary into more of a Meta-Data Dictionary. The reason? Data dictionaries are what I view as instance-specific ways of making a definition, placing things into that definition, and interacting with that definition. Practically speaking it is how say one gets data within an Oracle database, or within an Excel spreadsheet, etc. When traversing the larger ecology they are tremendously ineffective, unable to handle rapidly changing contexts across extended domains. Meta-Data Dictionaries serve this purpose. They tap into the local dictionaries and extend them to include a much larger array of context across the organization to provide answers more rapidly while saving time and effort.
  • Meaning: The next major component of DaaS is meaning. It is something that is not as commonly spoken about. Meaning in the context of DaaS is the ability to consistently present not only information about what resides in the ecology but also about the ecology with regard to the domain of the organization. In a traditional relational database for example, issuing a query does not take into account the fundamental about meaning. The results of a single query does not mean anything by itself to the organization until it is placed within a broader context that not only spans the targeted island, but all the desired islands within the ecology. As the context grows so does the ever changing complexity of establishing meaning. Working in tandem with a Meta-Data Dictionary as opposed to individual data dictionaries, meaning can be quickly determined as a question is posed throughout the data ecology.
  • Discovery: This takes the paradigm of search and applies it throughout the DaaS ecology. Whenever events happen within the DaaS that affect the meaning as interpreted via the Meta-Data Dictionary, discovery adjusts to that by not only making older patterns available but newer ones as well. In this manner an organization is capable of discovering evolving patterns within their ecology as it relates to their business.
  • Living Data: Now this is old hat to many in the internet crowd but fairly new to organizations especially since it arises with the mention of DaaS. This concept means that all data elements as they change with respect to the data ecology are available immediately upon a user request. Practically speaking it appears to a consumer that data changes it's behavior as they interact with it. Examples include Twitter updates, Google Finance chart navigation or online banking activity from any bank. These instances not only process events, but as the events have impact on the ecology they are reflected back to the requester within seconds.
  • Services: A fundamental aspect of any "as-a-Service" model is the concept of services. The type, manner, number of, and management of services in a DaaS should not be underestimated. Services need to be simple, powerful and flexible to meet the needs of the organization. For a typical DaaS because of it's Meta-Dictionary it also has services related to Meaning and Discovery that provide far more value than traditional access services such as query.

I have had the opportunity and privilege to work on such a platform in my career. Having a reasonably strong background in databases I can say the transition was not an easy one. All the newer dimensions require significantly more consideration and realization than a simple database perspective. For example with a DaaS one can see the changing patterns of behavior and ask questions and gain insights into complex questions not really addressable before. In one of my previous experiences working at a large telecom the question arose about how long would it take for data elements of a particular marketing campaign to reach all the necessary parts of the organization. As with most typical organizations, the answer was not really precise since it was a culmination of asking each division and then aggregating the responses. In many cases the divisions were not 100% certain of the timing themselves. With my primitive platform in place, we were able to look up the information in a few minutes and provide a more comfortable, provable answer to the organization in a rapid manner. The cost savings along were well worth it; 2 mins of a single individuals time vs. 30mins for 1200 people of varying levels. Other questions such as how the ecology handles volumes, what volumes mean in relation to business operations, the amount and volume of meaning inconsistencies and what savings could be achieved are just some of the more typical operational questions. However with a DaaS in place, higher value insights can be gained such as missed opportunities for new products/services based on customer activity, competitive standing based on social responses and replies with regards to existing products/services, capacity planning for bursting or planned progessions, and many others.

It was at this point my colleagues were thinking it would take them years to build out a DaaS. I responded that a DaaS does take effort, but not necessarily time. It is an equal mix of the deep technology which would be a blend of building it and using vendor tools, and the expertise and knowledge of technical and busines staff. From a tools perspective, solutions such as those provided by vendors such as QuePlix for data virtualization and Kapow for integration to leverage existing domains can quickly get an organization with significant existing assets to DaaS basics very rapidly. The core characteristic is the commitment from the organization. Any undertaking such as DaaS is something fundamental to the culture not just a dalliance.

Then I pointed out the shifting landscape of competitive pressure due to the economic crisis. Those with stronger, valuable, flexible and more timely interactions with their data ecologies are the ones that typically engage their customers more meaningfully. Whereas those with less capabilities quickly find themselves losing opportunities to competitors. From a career standpoint many of the new technologies related to the DaaS such as cloud concepts, big data, distributed data, and the like are some of the most in-demand skills not just hands-on, but in management, deployment, architecture, etc. As more and more companies realize the value of DaaS along with other strategic approaches, they are moving to embrace them in order to stay competitive and survive.

Friday
Jul162010

Win or Lose? - Time For A Change!

All too often professionals look at the dynamics in the workplace in very stark ways. Most see it in what I term as "win or lose". The meaning of this dynamic is pretty clear - either a professional wins or loses. The battles and skirmishes are seen in any number of ways: political battles, technology choices, strategic vision disagreements, etc. While this is a common view, an alternative one that I learned from my mentors and from the wisdom shared by a Nobel Peace Prize winner has worked for me over the years - "meaningful engagement".

In every professional engagement the pursuit of a goal along commonly accepted wisdom has not always benefited the individual. Rather another way to view professional interactions is based on the concept that individuals can meet and interact with others in meaningful and enlightening ways that create a sense of fulfillment and enlightenment.

In more simpler terms it is a way to view events and outcomes as learning and enrichment events as opposed to conflicts. There are skirmishes about all manner of things, egos that get bruised, reputations being tarnished, etc. Or so individuals believe. In truth all of these conflicts amount to no more negativity toward ones overall lifestyle than a random rude comment from a passing stranger.

Interestingly there are in fact many companies that do not fall prey to such views. Many innovative companies such as Toyota and Google create balanced perspectives while competing with others in the marketplace. For example fostering camaraderie among their employees to promote a sense of teamwork that teaches respect for others even while disagreeing, and humility where everyday customers who know less about topics than their specialist vendors are thanked and respected as experts on what they want rather than berated or belittled.

In even the young entrepreneurs of today's hyper-competitive marketplace, they exhibit strong mentoring and collaborative beliefs that result in them working together and sharing insights. Yet these would be considered highly inappropriate actions and in some cases undesirable characteristics by many professionals and mangers in today's established companies.

For companies, disagreements will always continue but the successful organizations will be the ones that can learn to tap into and harness the changing perspectives in the future generation of talented professionals.

Wednesday
Jul142010

Dissent and Commit - A Lesson in Teamwork

In many business situations consensus is the ideal goal. However often times it is the idea of getting everyone to agree that stalls progress.

Through a recent discussion on teamwork a wonderful idea that I had almost forgotten from a previous company resurfaced - "dissent and commit." This embodies the idea that professionals can disagree on a course of action and at the same time they also agree to fully support and commit their energy to a course of action that the majority decides upon.

This is a wonderful approach that allows constructive dissension and acknowledgement of disagreement while maintaining positive momentum in the form of commitment to the majority-based decision. This allows for the opportunity in critical decision making instances for groups of professionals within organizations to make progress in spite of differing opinions.

Most organizations typically approach decision-making in the same manner as they always have: hierarchical top-to-bottom edicts. This approach while proven to be fine for a small population of problems has been also proven to be highly ineffective for rapid changing out-of-the-box problems.

As professionals and organizations struggle to adapt to change, their ability to recognize their shortcomings and to put aside conventional wisdom to more effectively team and collaborate on issues that impact their organizations, customers and careers will define who not only just survives but thrives in the future economy.