Wednesday, July 20, 2011

How vendors think about licenses: marginal price

CRN recently ran a story summarizing a Forrester Research study (sorry, I don't have the link - hopefully, someone will provide it in the comments) which revealed certain vendor practices which are stirring up resentment among CIOs. There is a lot within this report that our industry needs to take to heart, but there are a few items in there in which CIOs appear to want to have their cake and eat it too.

One item is based on a significant difference between how vendors view license fees for marginal users, versus customers viewing those fees (years after the contract is written) based on average price. Let's eavesdrop on a typical enterprise software sale to see the roots of this later dispute.
"So, I think I will need about 1000 users licensed for your CRM product this year, and then the population will grow by about 500 users next year, 1200 call center agents the year after, and then all international users in year four, which would be around 2500 additional users," said Carol Cio.

"I don't know if I'll still be on this account next year, let alone in four years," thought Sam Salesguy to himself. "Let's see if I can move this deal into this quarter."

"I'll tell you what," said Sam Salesguy, this time out loud. "How about if we do all 5200 licenses this year. If you can move that through procurement, I think can get you an additional 40% discount overall, and we'll phase in the maintenance on those licenses according to your schedule."

"I don't know if I'll still be in this job next year, let alone in four years," thought Carol Cio to herself, "but getting such a great concession from this vendor will improve my chances, make the CFO happier, make budgeting for the next few years easier, and will leave a little money on the side for us to bring that tablet roll-out for executives into this budget year."

"Let's do it," said Carol to Sam. "I'll push this through the CFO and procurement, as soon as you get approval from your sales management on the discount."

Later, Vince Veep said to Sam, "If we can pull in the deal this year, we can do the increased discount because we'll have reduced costs of administering contracts, we'll be sharing the risk with the customer, and because you and I will both be getting paid more for the deal." Vince thought to himself, "Of course this is what the company wants, because that's how they write our comp plans. If they wanted something else, they would compensate us differently. And it totally makes sense to share the risk with the customer, taking less money overall in exchange for a contractual commitment now by the customer. If the customer only wanted 1200 licenses now, they would pay more now for those licenses per user, and they would also pay more later for the other 4000 users. I would never offer this discount if the customer wanted an "out" clause, because then there is no shared risk. In fact, my friend Ed Economist would point out that the marginal price for the last 4000 users is lower than the unit price for the first 1200, so of course the maintenance price for those 4000 users is also lower. If the customer ever wanted to negotiate a cancellation of those last 4000 users, we'd have to go back to the higher price, plus we'd have to somehow be compensated for the commissions we already gave out and can't get back, plus also get compensated for the extra costs we have in contract administration and perhaps other areas of the company."
Perhaps I'm exaggerating what is going through Vince Veep's mind, but you get the point. To the customer, in economic terms, the marginal utility of a license in the future is about the same as the marginal utility of a license in the present, so that customer feels like she is getting a real bargain by getting that future license at a greatly reduced price, and often doesn't stop to think that there is a contract - that must be honored - underneath that price.

To the sales rep, the marginal utility of a deal in the future, when he may not have this account any more, is close to zero, so he would like to pull the largest check possible into this quarter, regardless of the interest of the vendor. The vendor's interest is enforced by a contracts and discount policies process, ensuring that the sales rep doesn't give away the farm, and that the customer gets a reasonable discount for taking on the risk of acquiring additional licenses.

If the customer needs to return those licenses in the future, the customer may be thinking about the average price of those licenses, but most likely the vendor is thinking about the marginal price of those licenses, plus a "restocking fee."

Obviously, in this short blog post, I'm oversimplifying a lot of things, and I'm not trying to fully represent the buyer's point of view, since that is widely covered elsewhere (e.g. at Constellation Research Group). I just want to communicate why it might be worthwhile to think about the marginal, rather than the average, price when thinking about license returns or exchanges. After all, understanding how your vendor is thinking might help you to better negotiate the best possible outcome for you and your enterprise.

Saturday, June 25, 2011

The real (potential) impact of SAP HANA

Much has been written about SAP HANA. The technology has been variously described as "transformative" and "wacko." Well, which is it?

Disclosures
I have a few disclosures to make before I continue my analysis and comments on Hana:
  1. I worked at SAP for six years, as well as eight years at Oracle (plus also at Ingres before that).
  2. I was at SAP when the technology underlying HANA was acquired, though I am referring to and using no trade secrets or proprietary information in preparing this analysis.
  3. I attended this year's SAPPHIRE conference in Orlando, and SAP paid for my airfare and hotel.
Relational Databases
Relational databases have dominated the commercial information processing world for twenty years or more. There are many good reasons for this success.
  1. Relational databases are suitable for a broad range of applications.
  2. Relational databases can enable access to data relatively efficiently even if the query was not initially envisioned when the database was designed.
  3. Today's relational databases are economical, available on a broad range of hardware and operating systems, generally compatible across vendors, performant for many queries, scalable to fairly large data volumes without resorting to partitioning, suitable for partitioning when larger scale is required, based on open standards, mature, and stable.
  4. There are a large number of developers, administrators, designers, and an ecosystem of service providers who are very knowledgeable about today's popular relational databases, and who are available at economic rates of pay.
NoSQL, Columnar, and In-Memeory Trend
There is an emerging trend towards databases that are designed to solve specific problems. While relational databases are good for solving many problems, it is easy to conceive of specific problems that are not well-solved by general-purpose databases. Relational databases are well-suited to handling structured data where the schema does not change, where text processing is not an important requirement, where data is measured in gigabytes rather than petabytes, where geographical or time-series (e.g., stream) processing is not required, and where the server does not need to support transactional and decision-support queries simultaneously.

Some problems do not fit those criteria. The data set is such that the schema varies from record to record, or over time. Text, image, "blob," or geographical data may be a dominant data type. More and more frequently, applications manage "big data," or huge volumes of data from millions of users or sensors. Some applications require simultaneous access to data for transactional updates as well as for aggregation in decision-support queries. For all of these cases, advanced architects and developers are looking at specialized data stores and data processing systems such as Hadoop, Cassandra, MongoDB, and others. These domain-specific data stores are known as "NoSQL" databases.

There is some controversy over whether NoSQL means "no SQL" or "Not Only SQL." Regardless, those non-relational stores such as Hadoop, are growing in popularity, but are not really a replacement for relational data stores. A key property of most commercial relational databases is their compliance with a principle called "ACID," which essentially guarantees that database transactions occur in a reliable way. Many NoSQL databases use techniques like "eventual consistency" to improve performance at the cost of inconsistent data - a sacrifice that is unsuitable for most business applications. After all, if you deposit money in a bank account, you want it to be available for withdrawal right away, not "eventually."

Another trend in the database world is towards new methods of storing data, without eliminating the ACID properties that business applications need, and without sacrificing the SQL language that is so well-known and widely supported. Two specific approaches are quite popular these days - columnar storage and in-memory databases.

Column stores, such as HP's Vertica or SAP Sybase IQ, store data by column. By contrast, traditional SQL databases store data as rows. The benefit of storing data as rows is that it is often the fastest way to look up a single value, such as salary, given a key value like the employee ID.

Columnar databases group data by column. Within a column, generally speaking, all the data is of the same type. A columnar store, therefore, stores data of a single type all together, which can give advantages such as the possibility for significant compression. Good compression can lead to reduced disk space requirements, memory requirements, and access times.

In-memory databases take advantage of two hardware trends: a significant reduction in the cost of RAM, and a significant increase in the amount of addressable memory in today's computers. It is possible, and economically feasible, to put an entire database in memory, for fast data management and query. Using columnar or other compression approaches, even larger data sets can be loaded entirely into main memory. With high-speed access to memory-resident data, more users can be supported on a single machine. Also, with an in-memory database, both transactional and decision-support queries can be supported on a single machine, meaning that there can be zero latency between data appearing in the system, and that data being available to decision-support applications; in a traditional set-up where data resides in the operational store, and then is extracted into a data warehouse for reporting and analysis, there is always a lag between data capture and its availability for data analysis.

SAP HANA
Several years ago, SAP acquired Transactions In Memory, a company that had developed an in-memory database. Over the years since, at virtually each annual SAPPHIRE conference, SAP has discussed how this in-memory technology would revolutionize business computing, but I personally found the explanations to be somewhat short on convincing details.

Even the name, HANA, has changed in meaning over the years. Initially, the name stood for "Hasso's New Architecture" (and a beautiful vacation spot in Maui, Hawaii) and referred only to the software. Today, HANA stands for High-Performance Analytical Appliance, and refers to the software and the hardware appliance on which it is shipped. In addition, HANA has evolved from a data warehousing database into a more general purpose platform.

SAP HANA does manage data in memory, for nearly incredible performance in some applications, but it also manages to persist that data on disk, making it suitable for analytical applications and transactional applications - simultaneously. But HANA's capabilities do not end there, and that may be the key to HANA's long-term value.



In the short-term, it seems that SAP still struggles to generate references for HANA, other than in a narrow set of custom data-warehouse-type analytics. That may obscure where HANA can really deliver its first market successes.

When HANA is generally available, it is expected to include both SQL and MDX interfaces, meaning that it can be easily dropped into Business Objects environments to dramatically improve performance. Some Business Objects analyses, whether in the Business Objects client or in Excel, can achieve orders of magnitude of performance improvement, with very little effort. Imagine reports that used to take a minute to run now running instantaneously. Imagine the satisfaction of your BOBJ user community if all or most of their reports and analysis ran instantaneously. Line-of-business users will pay for this capability, and that will open the door for SAP HANA in Business Objects accounts. After HANA gets in the door, I'm sure the CIO will find tons of additional uses for it. This is huge, and will generate truckloads of money for SAP, while also making customers super-satisfied.

And think of what SAP HANA means for competitive comparisons with Oracle, SAP's maximum enemy. Larry wants to sell you Exalogic and Exadata machines, costing millions; Hasso wants to sell you a simple, low-end, commodity device delivering the same benefits. If I were SAP, I'd have sales reps with HANA software installed on their laptops, demonstrating it at every customer interaction, and comparing it (favorably) with Oracle Exadata, and suggesting that customers demand that Oracle sales reps bring in an Exadata box on their next sales call - and not to bother showing up without one. Larry wants to sell you a cloud in a box; SAP will sell you apps on the cloud, or analytics in a box for hundreds or a thousand times lower cost than Oracle's solution.

The longer term benefits of HANA will require new software to be written - software that takes advantage of objects managed in main memory, and with logic pushed down into the HANA layer. I'll post more on this potential in the future, but just think of what instantaneous processing of enormous data sets will mean to business - continuous supply chain optimization, real-time pricing, automated and excellent customer service, and much more.

Summary
In the long run, SAP HANA may indeed revolutionize enterprise business applications, but that remains to be seen. Right now, SAP HANA should be capable of creating substantial customer benefits - and generating a very large revenue stream to SAP.

Tuesday, May 10, 2011

IT Jobs Recovery Continues, Picks Up Steam

There have been a spate of news stories in the IT press covering the state of IT hiring. Once a quarter or so, I look at the job posts in Dice.com across many different keywords - a useful proxy for the IT hiring market at least for the U. S.

Three months ago, IT hiring was definitely picking up across the board. Fast-growing skills included iPad, HTML5, Amazon, Android, Twitter, and Facebook; categories with the greatest number of jobs posted included SQL, Oracle, Java, Windows, Unix, and Linux. Versus last summer, there was about an increase of about 30% in the number of jobs posted. How have things changed in the past three months?

Generally, the jobs picture is very similar to three months ago, with an overall increase in the number of jobs posted of around 6.1% (46.2% vs last April). If these jobs are being filled, this shows a sustained and strong increase in demand for IT skills. Within the overall IT category, this analysis does not cover some areas separately (e.g., desktop support, systems administration, network administration or really many network skills, and database administration), although many of these categories get covered through the occurrence of the relevant keywords. Perhaps I'll add these topics for future analyses.

Overall

This analysis looks at four general areas skills for which IT hires: Database, Applications, Languages, and Platforms.

Database

The skills keywords I look at in the Database category include SQL, Oracle, SQL Server, PL/SQL, MySQL, DB2, Sybase, Hadoop, Informix, NoSQL, and many variants on these terms.

Across the board, there is significant increased demand for all these database skills versus three months ago (+5.1%), and versus a year ago (+34.5). Hadoop and NoSQL were not being tracked in the analyses from a year ago, but the fastest growth in other categories since last year and three months ago has been for MySQL (+52% vs last year, +9% vs 3 months ago). Hadoop and NoSQL demand has grown by 12% and 69% vs 3 months ago.

The weakest demand in this category has been for Informix (-12% vs 3 months ago, +10% since last year) and Sybase (+0.9% vs 3 months ago, -5% since last year).

Although there is rapid growth in demand for skills like Hadoop and NoSQL, the largest demand by far is for more standard skills like SQL, Oracle, and SQL Server.

Skill Jobs Growth over 3 months Growth over 12 months
SQL 23453 5.6% 33.8%
Oracle 16684 4.7% 33.1%
SQL Server 9692 4.6% 34.7%
PL/SQL 3587 4.5% 35.1%
MySQL 3123 9.3% 51.5%
DB2 2564 4.8% 28.5%
Sybase 1314 0.9% -4.7%
Hadoop 363 12.0% New comparison
Other NoSQL 245 69.0% New comparison
Informix 168 -12.0% 9.8%

Applications

The skills I look for in the Applications category include SAP, BASIS, ABAP, Dynamics, Peoplesoft, Siebel, eBusiness Suite, Salesforce.com, and related terms.

Three months ago, this was the category with the strongest recovery versus a year ago. Demand is still strong for applications skills, with the category growing by 4.5% over the past three months, and up 47.4% versus a year ago. The fastest growth in this category is clearly for SAP-related skills. Job posts mentioning SAP are up 8.3% vs three months ago and up 59% over the past year; ABAP and BASIS also had very strong growth, with job posts up around 70% for each skill over the past year. Salesforce.com job posts went up compared with last year (+37%), but were down over the past three months (-3.8%). Oracle's application suites (not including Fusion, for which I have no data) show much more modest growth or shrinkage, with Peoplesoft the lone bright spot (+54% over the past year). Microsoft Dynamics has also shown growth over the past year (+31%), but has declined vs three months ago (-2.9%).

The weakest demand in this category is for Oracle eBusiness Suite, for which demand has declined by 36% over the past three months.

The skills to know in this category, if you want to be employable, are SAP and Microsoft Dynamics, but the latter covers many different applications - SAP is where the job security lies. Of course, job security and overall compensation are not always aligned, but given the rapid growth in the SAP category we can expect very strong salaries there.

Skill Jobs Growth over 3 months Growth over 12 months
SAP 7475 8.3% 58.6%
Dynamics 6653 -2.9% 31.3%
BASIS 3858 18.3% 67.3%
Peoplesoft 2475 6.7% 54.4%
Siebel 1305 -5.0% 13.2%
ABAP 815 1.5% 70.1%
Salesforce.com 714 -3.8% 37.0%
eBusiness 48 -36.0% New comparison

Languages

The skills included in this category include Java, JavaScript, HTML, XML, C#, C++, Perl, AJAX, PHP, Python, Ruby, COBOL, Flash, Silverlight, HTML5, Assembler, PowerBuilder, and Fortran.

Demand for programming language skills surged, growing 58.5% vs a year ago and 7.4% over the past three months.

In particular, HTML5 demand really took off, growing 45.2% over the past three months and well over 1000% over the past year (from a very small base). There was such strong demand growth for all skills, that it is more useful in this category to speak about the area of weakest growth - Adobe Flash. Demand for Adobe Flash skills has grown by only 7% vs a year ago. Comparable skills - HTML5 and Microsoft Silverlight - have grown much faster.

Given the large number of jobs requiring Java skills, the growth in demand for Java by more than 33% over the past year is encouraging, and should indicate a recovery in compensation as well.

Skill Jobs Growth over 3 months Growth over 12 months
Java 16152 5.5% 33.4%
HTML 9736 7.3% 57.1%
XML 9651 9.0% 27.0%
JavaScript 9618 5.4% New comparison
C# 7940 9.7% 37.5%
C++ 5987 4.0% 21.3%
Perl 4948 4.0% 25.5%
AJAX 4440 7.1% 36.9%
PHP 3022 10.6% 44.9%
Python 2601 15.8% 59.7%
Ruby 1540 15.8% 95.9%
Silverlight 982 12.6% New comparison
COBOL 735 6.1% 36.9%
Flash 646 2.2% 7.0%
HTML5 540 45.2% 1488.2%
Assembler 212 12.2% 11.0%
PowerBuilder 155 26.0% 39.6%
FORTRAN 68 1.5% 30.8%

Platforms

Platform skills analyzed in this category include Windows, Unix, Linux, IBM, VMware, Open Source (new), Embedded, Mainframe, Android, Blackberry, Palm, iPhone, iOS, iPad, Azure, Amazon, Google, Yahoo, eBay, Twitter, Facebook, Mac, and Widget. I had an error in the way I was querying Mac jobs, so that has influenced some of the results.

Platform skills are also in great demand, with job posts up 5.8% vs three months ago and up 43.5% over last year. Again, there was very strong growth in demand across nearly all platform skills, with the fastest growth in iPad (-3.7% vs three months ago but up more than 3000% over the past year), Amazon (+12.8% over the past three months and +332% over the past year), and Android (+19.8% vs three months ago, and +270% vs last year).

Over the past year, demand has declined for only one skill (Widgets, -14%), but demand has softened over the past three months for Embedded Systems (-4.6%), iPad (surprisingly -3.5%), Palm (-6.9%), Widgets (-14.9%), and eBay (-3.3%).

Although all platforms are doing well, the top three (Windows, Unix, and Linux) are all showing strong demand and growth; it appears that Linux demand may surpass Unix demand very soon.

Skill Jobs Growth over 3 months Growth over 12 months
Windows 12641 2.3% 28%
Unix 10692 3.9% 21%
Linux 10185 2.1% 32%
IBM 5850 7.4% 77%
VMWare 2609 2.8% 47%
Open Source 1955 New comparison New comparison
Mainframe 1776 5.8% 32%
Embedded 1652 -4.6% 13%
Android 1170 19.8% 270%
Google 1132 27.0% 35%
Blackberry 1027 7.7% 77%
Amazon 1019 12.8% 332%
iPhone 1013 7.1% 162%
Mac 856 New comparison New comparison
iOS 832 24.9% New comparison
Twitter 683 7.4% 141%
Facebook 582 17.6% 135%
iPad 413 -3.5% 3077%
Yahoo 192 14.3% 16%
Palm 162 -6.9% 22%
Widget 149 -14.9% -14%
Azure 103 80.7% 94%
eBay 88 -3.3% 42%

Surprising Findings

  • Big declines in demand for Oracle eBusiness Suite and Oracle Siebel skills.
  • Huge increases in demand for Microsoft Azure, SAP Sybase PowerBuilder, and SAP BASIS skills.
  • Demand for Microsoft Silverlight developers surpasses demand for Adobe Flash developers!
If you have any skills you'd like to see tracked in these posts, please post a comment and I'll see about including them next time. Thanks!