Tom Petrocelli's take on technology. Tom is the author of the book "Data Protection and Information Lifecycle Management" and a natural technology curmudgeon. This blog represents only my own views and not those of my employer, Enterprise Strategy Group. Frankly, mine are more amusing.

Wednesday, January 27, 2010

Nice. Not Thrilling But Nice.

I'm a bit puzzled by the recent Cisco-NetApp-VMWare announcement. Besides wondering how VMWare was even allowed to sleep with EMC's enemy, its focus on multi-tenancy security has me a a bit confused. Not confused in the “what the heck are they talking about” way. More of the “So what do they have to do with it anyway” manner.

Multi-tenancy is the sharing of an application amongst different users who, if they had their way, would much rather not share the same air . I saw this in the IP management software and call center outsourcing businesses. In both cases, customers needed to be assured that their incredibly valuable and secret data could never be viewed by someone else. For the outsourced software services provider, such as Salesforce.com, this is a a pain in the neck. An understandable one but a pain none-the-less. To get the economies of scale outsourcers need to be profitable, it is best if you don't have to repeat yourself too much. Multiple instances of the same applications require more hardware, more software licenses, and more maintenance. In other words, more costs.

In most cases, if an application is designed correctly you can use a (logically) single application and database for everyone. That's the crux of the matter – if it's designed right. Bugs happen and there is the potential for data to be exposed to the wrong people. This is a rare occurrence but people worry about it anyway. Customers should worry about backup processes more since there is much more risk there. It's like worrying about getting hit by a meteor. It can happen but almost never does. Meanwhile, you don't worry about getting in your car and driving on the highway. Guess which one is more likely to get you killed.

This intense customer worry drives many outsourced service providers to either give almost no guarantees about security of data or physically segregate data on different servers running separate instances of the application. Virtualization helps a lot in that you can run reasonably secure instances of applications on the same hardware with little chance of bleed over. Everyone gets their own application space but not their own physical box which cuts down on hardware costs. It still doesn't solve the major problem - the need to reduce the number of instances of databases and applications. Repeating software is expensive and still a problem.

This brings me back to the “Huh?” look on my face. While it's nice to see Cisco, NetApp and VMWare working together to support a secure virtual environment, it doesn't solve the main problem of multi-tenancy. You can already virtualize the heck out of your environment to save on hardware costs. Great, but that's not what the people in multi-tenancy environments really need. They need to run one instance of their database and one instance of their application and be sure that any one customer can't see another's data. One application that can act like a dozen applications. They need virtualized applications.

These applications exist. I've designed and marketed a couple myself. The problem is that customers don't believe it. They feel that if data is in one place or accessed from the same application, then it is a hazardous environment. That's not true of course. Your bank is able to keep your records secure from other users even when accessed online. These applications can be built now. Virtualized hardware resources don't really impact that.

What the new triumvirate (or Axis of Evil depending on who you talk to) is developing is great stuff for hardware service providers wanting to sell virtual resources. It's good for IT departments looking to save on hardware costs through high utilization. It really doesn't solve the multi-tenancy problem any more than VMWare, NetApp, or Cisco products do alone. It's fundamentally an application software problem that needs to be solved by application software vendors. Multi-tenancy problems need to be solved by Oracle, IBM, and Microsoft.

Now that would be a mind blowing announcement.

Friday, January 15, 2010

Why All The Suits

Looks like we have another patent infringement suit in the technology arena. The latest involves Kodak versus Apple and RIM. While I'm sure there are some interesting aspects to this (such as how Kodak has already prevailed against other smart phone manufacturers in similar suits) it is just one of many that have been launched over the past few years.

This started me thinking. In my (relative) youth, one hardly heard of patent infringement or any other type of intellectual property (IP) suits amongst computer tech companies. When it did occur, what stood out was how damaging they were to the companies that initiated them. The Crossroads suits against a number of Fibre Channel bridge manufacturers in the 90's sticks out in mind as an example. In the end, lots of damage but little reward.

So what's changed? Three things I think:

  1. Computer and consumer technology have merged. What is a smart phone if not a hand held computer?

  2. We are in the midst of a recession that is depressing R&D budgets. That makes it hard to create new technology.

  3. The computer and electronics technology industries have grown up. What used to fit in a garage now fills many office parks worth of buildings worldwide.

These factors amount to a perfect storm from an IP point of view. Without the ability to generate significantly new technology, the value of existing technology becomes high enough that litigation is worth it. Also computer technology and electronics companies are running smack dab into the consumer electronics market. The rules are different in this arena. The collegial, cross-licensing culture of the computer industry does not exist here. Consumer business are based on smaller margins and control of markets. There is no “a rising tide lifts all boats” attitude here. It's more of a “my battleship will sink your battleship” mentality. IP is an effective weapon in maintaining these margins and markets.

Finally, the computer industry has grown up. Businesses that started in a garage are now the homes of captains of industry. They are no different from the steel or auto industries of bygone eras. They have shareholders who do not understand the gentlemen agreements that were typical in the industry. Collaborations that could be sealed with a handshake in the past now require lawyers, accountants, and 50 page agreements. A mature and aggressive IP policy comes with the territory. If you want to be a billion dollar business you have to act like one.

These factors practically insure that we will see more IP related suits. More patent infringement suits, more copyright infringement suits, more trademark infringement suits, and lots of IP problems with non-disclosure agreements and partnerships.

This situation brings to mind the great line that Sir Lawrence Olivier speaks in the movie Spartacus. He says “the problem with being a patrician is that sometimes you have to act like one.” This same problem exists for big companies, even computer technology ones. Sometimes you have to act like a big company and IP related lawsuits are part of the big company game.

Thursday, January 14, 2010

Sometimes It's Just Stuff

Guys like me and people who read this blog are the types of people who love our technology. Gee whiz gadgets, computers, software, and phones that shop for you are what get us out of bed in the morning. Every once in awhile though we are faced with the fact that all this technology is just stuff. Tools to good things with for sure but not people. Not what matters.

The earthquake in Haiti has killed an incredible amount of people. Parents and children. Brothers and sisters. Whole families and people who never had anyone to mourn them. It is a stark reminder of what matters. What really matters.

Doctors Without Borders is putting together a mission to help the poor souls who are still alive. They are sorely needed. Not only are there more injured people than anyone can reasonably count, most of the hospitals have been destroyed. These folks do the brave thing that most of us cannot - go there to help in a real way.

They are asking bloggers to post a link to raise awareness. Unfortunately, they do need stuff. Stuff like medicine, sutures and, horribly, body bags. They need cash folks. So do what you can.

Support Doctors Without Borders in Haiti

Maybe this is a time to delay that phone upgrade you've been wanting or hold off on that new gadget. It's time to stop thinking about our stuff and instead think about giving these brave doctors the stuff they need to carry out their mission of mercy.

Think about it.

Monday, January 11, 2010

What's On My Mind

A little career downtime can sometimes be a good thing. Whether your sabbatical is planned or, as in my case unexpected, it represents a rare opportunity to delve into new areas of interest. Academics and clergy do this regularly as a way of expanding their skills, working on projects that they can never get to, or simply as a way of recharging their psychological batteries. This is not an extended vacation or time to simply relax. Career downtime has to be used to expand your horizons.

Consistent with my beliefs about downtime, I've been using my current “sabbatical” to embark on areas of discovery that I previously hadn't time for. As my Twitter followers know, some of my time was used to explore the biotech industry. On the more geeky side I've been going back to my software roots to look at things that have fascinated me for a long time. Namely, how to manage unusual or difficult data stores in different ways.

More precisely I've been looking into:

  • Managing large unstructured data sets, a constant problem in certain industries;

  • Applications driven by relationships between entities more than their structure and;

  • How to make smaller applications by embedding data management into them.

This journey of discovery has led me to a number of software technologies that I find very interesting. Let me share with you what's on my mind these days.

Managing Metadata

One of the major bugaboos of the last decade or so has been dealing with the explosion of unstructured data. The simple solution is to wrap metadata around the real data. This descriptive information adds the machine manipulable context that unstructured information lacks. However, managing the metadata itself has become a big problem. Individual metadata is generally small and many data management tools, such as relational databases, are overkill. Implementing a full blown SQL database to manage metadata is like hunting deer with a tank. Expensive and more than you need to get the job done.

XML has helped but managing XML text files is difficult when there is a lot of them. You might need to open and close lots of small files constantly, straining a lot of file systems. The other option is to process one giant XML file which can be processor intensive and slow. Worse yet, these are decisions you have to live with and are hard to change once an application is underway. XML is not ideal for dealing with relationships between entities either.

Social Media Does Change Everything

Okay, I don't believe social media changes everything. What it does do is address the fact that humans are social creatures. We view the world as a series of relationships. Relationships between ourselves and the world around us, between each other, and between everything that makes up the world. The natural schema for a human is relationship based.

Computers don't always reflect that. They tend to be concerned with structures more than the quality of a relationship. This is one of the problems with SQL. It is damn hard to code reciprocal relationships, the strength of a relationship, and the ways entities may be interact. A good DBA can tell you how to do it but it gets complicated quickly especially when modeling real human type relationships.

Small Applications That Can Grow

Enterprise applications have gotten huge. Worse yet, they require boat loads of infrastructure. This is why enterprise applications developers always talk in stacks. LAMP stack, WAMP stack, .Net stack. Developers can declare that their apps aren't really as big as they are because they assume that a stack is in place.

There are a lot of negatives to relying on these stacks. For one, you are at the mercy of whoever is designing the pieces of the stack. Applications also use different versions of the programs that make up these stacks, leading to compatibility problems. Not to mention finding an application that you love on a stack you don't support.

The biggest problem with stack-based enterprise applications is that they are not compact and simple. They don't port to small systems and devices easily. Try implementing a single user version of most enterprise apps. Who is going to install and maintain an Apache web server for one or two people? Cloud businesses like this since they provide an alternative but not all applications lend themselves to the cloud.

What Am I Looking At?

In thinking about these issue, I have come across technologies that address some or all of these problems. I especially like embedded data management tools. I especially like Derby and SQLite, Lucene, and Neo. Derby and SQLite are open source or public domain RDBMS' that allow developers to embed a SQL database in an application. Derby has a server version as well, allowing applications to be small and compact or to scale up to large enterprise size. Derby is from the Apache Foundation and Java-based. This allows it to nicely integrate with Java applications and object mapping frameworks like Hibernate. SQLite is C++ based making it excellent for embedded applications and is extensively used by the Mozilla Foundation. Being a Java geek, I'm planing on spending more time with Derby.

Another Apache project, Lucene, embeds a search engine in an application. With Lucene, a developer is able to manage large amounts of unstructured text using methods familiar to everyone. Lucene also works well with other types of data management tools to add search functionality to all kinds kinds of data.

One the other technologies that Lucene works well with is Neo. Neo is a graphing or network database (there is debate as to what the difference is between the two). Graphing databases view data a bit differently than an RDBM. Data is stored as key-value pairs called properties in an interconnected network of nodes. Finding data is through it's relationships with other nodes. With Neo, information is stored and retrieved in a way that humans organize information, by it's relationship to other data. This fits in well when modeling people or other entities that rely on interactions with others. Some examples are biological ontologies, proteins, and documents. At the moment I'm experimenting with Neo and Document and Content Management.

While there are a lot of things that stink about career downtime, if used effectively it can be a transformative experience. Discovery of this type almost always leads to something good. If nothing else, it helps us to grow as professionals and people. It's also better than sitting around watching television.

Thursday, January 07, 2010

Blessed Be The Makers

The current recession is a tough one for sure. Not only is it the deepest economic downturn since the Great Depression but the supposed recovery is looking to be a jobless one. In past recessions, lots of talented people were let loose on the marketplace with a few bucks of severance or buy out money in their pockets. Many of these creative people ran out and started companies. Others went and joined these new companies, which they would not have done in better times. Some of today's bellwether technology companies grew up in the midst of recession.

This is unlikely to happen this time around. With money so tight, funding a new business is a bigger challenge than it has been in the past. From banks to Venture Capitalists, the money is just not there and the requirements for funding are more stringent than ever before. The upshot of the lack of investment funding is that companies will need to fend for themselves much longer than they did in the past and not everyone has the stomach for that. Going without meaningful income while working like mad is hard to do. When you think you will do it for years, it can be downright disheartening.

There is a bright spot however. Bubbling up from the underground is a grassroots movement of people who like to build homegrown technology. Called Makers (and the related movement, Crafters), this is a DIY movement that celebrates homemade tech. Makers create electronic doo-dads from open source hardware like Arduino boards. They build funky mechanical devices. They blow stuff up and put it back together.

In my youth the computer industry was like this. Back in the day we were called Hackers until the term was co-opted by the bad guys. Many of these same hackers created software and hardware companies that still endure.

Like the Hackers before them, Makers do what they do for the sheer joy of it. They create devices to do interesting and sometimes silly things. Whereas launching a Christmas tree with rockets is kind of silly (and dangerous), other projects have real usefulness. For example, a cheap strobe algae bioreactor is serious stuff for biotech and alternative energy.

Makers know how to build product on a shoestring and have no wish for the pretensions of glitzy high tech companies. Instead, technology is reason enough itself. The simple fun of making something is what drives Makers.

Makers are also forming collectives to share resources and lab space. It is not hard to imagine these collectives turning into companies some day. Take a group of smart techie folks used to working with little money and stick them in one place. Before long you are bound to have a “Hey! I got an idea how we can make a few bucks” moment. There is some spill over into the software world too. Call it a resurgence of the old values. Groups of people with skills who are under or unemployed, writing code for giggles until one day – BAM! - the great idea emerges.

And these folks will have little use for the bankers who spurned them and cause so much economic misery. They will remember that they had to work at Best Buy because a bunch of greedy money people screwed things up. About the only people they will listen to will be the Angel investors because they've built something themselves. The Makers will drive hard bargains when they do take money since this is a labor of love not simply business. They will once again be an engine of growth in the technology market. Watch for it. It's already starting.

Blessed be the Makers for they will raise us out of the depths.