Monday, October 21, 2013

SAP, Software, and Amplifying Human Potential: Some Thoughts on the eve of TechEd


4 years ago today, I learnt of the death of my dear friend Ranjan Das.  He passed away unexpectedly, far too young.  As I was looking back on the last 4 years, and looking ahead to our TechEd conference that begins in Las Vegas today, I was stunned to realize the obvious: how time flies by so quickly, and how the things we cherish are the things that are timeless, in that these are the activities that last the test of time, and also the activities that so engross us that one loses track of time in.  Both happen to not be about the superficial things in life, but about things that touch us and that matter to us in a deeply personal way.

Around this time 4 years ago I started the HANA project.  We had worked on it for years already (I'd started the in-memory db work in 2002, and came up with the name HANA in 2006), but it wasn't until the fall of 2009 that we finally convinced SAP's management that HANA needed to be built and the time was now, and we started the HANA development project in October.  The day I learnt of Ranjan's death, I was in Walldorf, and this was the day Franz, the core HANA leadership and I sat together and decided that HANA would run under existing applications, both ByDesign and also the Suite, in addition to serving analytics, and all kinds of new applications.  That it would carry the load of the new and the old.  Both, simultaneously.  I felt that this was our burden to help renew SAP, a challenge Hasso had laid out to me earlier in the year.  I remember walking to my flight that evening, at Frankfurt airport, telling Hasso on the phone that this is what we decided, and he was very happy about it.

Ever since those early, heady, days, it has been a hell of a journey.  We built HANA in record time, and released it to customers on Dec 1, 2010.  She went GA on June 20, 2011.  Ever since she's been nothing short of a revolution.  We recently crossed a billion dollars in HANA revenue, by far, by a wide wide margin the fastest growing product we've ever seen in SAP, quite likely also in the industry.  This success is a result of HANA's technological capabilities, and the breakthrough benefits these result in.  Much has been written about this, by me and many others (saphana.com has plenty of background).  HANA, at its heart, represents a rethinking of the relational database, a reinvention of it, to reflect both,
(a) the new hardware reality of super-affordable x86 based machines that combine very powerful multi-core processors with the super-fast access to data in large memories that are now available in DRAM, and
(b) the new ideas in in-memory structures, especially the column store, the newly designed highly parallel structures and operators, and tons of new ideas in database technology.
And this combination enables us to bring value to the enterprise in totally new ways.  I wrote a paper at the ICDE conference this year, articulating a new way to represent this value, in scenarios that bring together data volume, speed and complexity in unprecedented ways.  HANA's value also enables us to rethink the application reality in the layer above HANA, both by simplifying and accelerating the existing applications, by refactoring these, as well as building totally new applications.  Many that were often not possible before.

And so all the database world seems to have woken up to this new reality.  IBM's Blu, MSFT's recently announced Hekaton and Oracle's recently announced 12c in-memory among others.  And yet when I look at the public material on these, it seems clear that they could have done much better, they could have done so much more.  The main point of HANA is a single columnar store, where the transactions go into memory, and are available instantly and as-is for analytics, even deep complex questions, due to the power of massive parallelism, and this point seems to have been fundamentally missed by these approaches.

But while the competition misses the point, we have taken the ball fwd, and taken major steps to make HANA our platform for enterprise applications.  We have added all kinds of interesting capabilities into HANA, from various application libraries for statistics, planning and business functions, to middleware and integration capabilities, to now even a complete set of application serving capabilities, so we can run and deliver entire applications directly from HANA (and, of course, if a developer wants to build apps in their favorite platform and simply integrate with HANA, they have total freedom in doing so).  So on the basis of these capabilities, we have been moving every single SAP product to HANA.  From the Business SUite to B1, from ByDesign to Business Objects, from Success Factors and Ariba to Sales OnDemand and Hybris.  Every one.

But as we look at this platform, and the capabilities that it affords us, and take the broader view, there is a sense that it must be about more.  As Alan Kay always reminded me, the future cannot only be an increment of the past.  If all we did with this platform, was renew things we already knew, we'd have fundamentally missed the point.  It must be about more.  About enabling new capabilities, building new things, great new apps that help transform the world with real-time software.  Ones that are purposeful, ones that empower us and inspire us.

The last time Ranjan and I were together, we'd spent 6 hours in a flight from orlando to SFO, during which he kept bugging me; he must have asked me a 1000 times about what the next big thing was, and that conversation led us to the point where I told him I think it was the ability to build the truly next-generation amazing applications around design, and creation, enabling the acts of creativity by companies, to help them truly find their purpose.  And we'd talked about many companies in India (in particular Mahindra and Mahindra -- Anand had been a very big influence in Ranjan's life) and how they would benefit from going beyond outsourcing and consulting, towards truly creating innovation.

Today we are doing lots of these.  Abdul and his teams, Thomas Torf, Priya, Alan Southall, Ritika, Prasad and others, work with customers to find truly important, meaningful, purposeful areas for them, that need to be transformed with software, and help bring these to life.  From end-user clientelling and responsive supply chains for Burberry, to real-time signal detection for EBay's analysts, from predictive maintenance for John Deere's machines, to forecasting and optimizations for NongFu Spring, Mitsui and other companies in Asia, from better oil and energy exploration, to personalized management of energy by billions of consumers.  And our team in India, led by Gansu and his gang, are working with individual milk providers to see their revenues from their milk-production directly for the first time, without corrupt middle-layers in the system, thanks to the power of  their Aadhar identities and HANA.  And beyond SAP, today we crossed a great milestone.  More than 1000 startup companies are now building their products on HANA.  More than 35 already have products in the market, addressing all kinds of needs, in all kinds of areas.  It is an unbelievable example of bringing the power of technology to help enable the empowerment of end-users.  Great technologies, from the bicycle to Gutenberg's printer, from the surfboard to the internet, have always aspired to, and managed to achieve, the amplification of the human ability, our intellect, our senses, our purpose.

At this TechEd, I am hopeful that we can share with our ecosystem our roadmap and direction, not only for our Task A, our technology and platform, but about how it can help us find our greater purpose, help us build the great applications that empower us, that amplify our reach, and enable us to do more, and even more importantly, help us to continually learn, and adapt and evolve, as we continually get better at attaining our intents, our purposes.  Ranjan would have been really proud...

-- Vishal

Sunday, January 20, 2013

January 19, 2013

I write this at the end of a difficult week, one full of sadness and reflection.  It started on a high, amid 3250 sales leaders at our FKOM in Singapore.  But was quickly followed by the devastating news of the death of two very special colleagues: Andreas Raab and Dean Jacobs.  I have never written an obituary before, and this isn't one.  Rather it is my attempt to piece together what their lives, and now their passing, have meant, and what I've tried to learn from this, after a few fragmented moments of reflection.

Andreas was a key developer of Squeak, under Alan Kay's guidance, and a distinguished member of our technical team at SAP.  He died suddenly, and abruptly, earlier this week.  And Dean, or Deano as I called him for years, another distinguished colleague and dear friend, succumbed to cancer, but not before giving it a hell of a fight.

All week, since absorbing these two hits, I've found myself wandering along, somewhat numb, wondering just how fragile, and fleeting, transient, life is.  How quickly, and abruptly, and certainly, it ends.  And how we are never prepared, even when we know.  How complacent we are, assuming that there is a tomorrow, and carrying on with minutiae and trivia, knowing, certainly in the back of our heads, if not in the front, that these amount to nothing.  How much energy we waste chasing after ghosts, fighting off stupidity, even when we are better off ignoring it, how much time we spend mired in nonsense, being slowed down by the viscosity of the inane and the mundane.  Unaware that moments of joy, and togetherness, and love, and passion, and giving, and creating, and being in touch with the nature within, and the nature without, constitute  precisely the intransience, and the permanence, that we seek, and yet assume for granted and ignore for the shallow and the meaningless.  And yet every once in a while, even if far too rarely, these truths shine through in our work.

After 9/11, Andreas wrote in his blog:



Dear friends and collegues,

The shocking incidents of today make it important for me to say two things: First of all, I wish to express my sadness about what happened in New York and D.C. and I am sure that all of the World is with the U.S. in this hour.

The second issue, which is actually far more important, is that we are in fact working here for a better future - a future in which such horrible incidents don't happen, a future in which our children will live and learn in peace. Computers - the internet - can help to understand other cultures better, can help to understand problems of regions far away better, can help to raise our attention to both, tragedies and threats from parts of this world seemingly far away.

Let us not get distracted by these horrible incidents. Let us work for a better future for all of us, and our children.

My prayers are with the families of all the people in the New York and D.C. area. Although the world will never be as it was yesterday, we can still work to make it a *better* world than before. What I've seen and heard today is in fact giving more hope than one would expect in such an hour.

- Andreas


Andreas, you were right.  Computing technologies are still early, with a promise to improve our lot that is far and wide.  We can, and must, continue to work for a better future for all of us.

Deano once patiently heard me out on an idea I had, back in 2008, and immediately called it VINA.  Those of us who know why I'd named my product HANA, can surmise what VINA would be an acronym of (these were different things).  He told me to pursue it with all vigor and passion I could, and even wrote up a two page plan and description for it.  He almost single-handedly woke SAP up to some harsh realities of the Cloud world.  His observation, that about 2000 1TB DRAM servers could hold all the energy consumption data and compute power to enable more than a billion people around the world (customers of SAP's utilities customers) to play with it, and take better control of their energy destiny.

Both voices now silent, taken far too soon, their dreams far from finished.  And yet both lived lives of passion, and love, and creativity and curiosity.

Jiddu Krishnamurti once said, when reflecting on death, that one cannot fully understand death without understanding life, and that "One may try to give meaning to life, as most people do, saying life is this, or life must be that, but putting aside all these romantic, illusory, idealistic nonsenses, life is one's daily sorrow, its competition, despair, depression, agony - with the occasional flash of beauty and love."  Both Deano, and Andreas, up wherever you are now, thank you, and Godspeed.  You gave us plenty of flashes of beauty and love to celebrate, to remember you by, and to carry on your work and your legacy...

V

Monday, January 2, 2012

A Renewal Of Enterprise Landscapes

Recently, The Financial Times published a bylined article by me on a renewal of enterprise IT landscapes. It is a somewhat edited version of my original write-up, which I've posted below. Wishing a very happy, and successful, 2012 for all the readers of this.

Vishal

--

A Renewal of Enterprise Landscapes

How the HANA in-memory technology is helping transform businesses

By Vishal Sikka

Earlier this week, Time magazine picked “The Protester” as its person of the year, recognition of individuals who spoke up around the world -- from the Arab countries to Wall Street, from India to Greece – individuals whose voices were amplified and aggregated by modern technology and its unprecedented power to connect and empower us. Twitter and Facebook, now approaching 800 million users (more than 10% of humanity), are often viewed as the harbinger of social networking. But social networking is not new. A recent issue of the Economist described Martin Luther’s use of social networking, especially the Gutenberg press, to start the Reformation. During the American Revolution, Thomas Paine published his Commonsense Manifesto on a derivation of the Gutenberg press. Within a single year, it reached almost a million of the 1.5 million residents of the 13 American colonies – about two-thirds of the populace, and helped seed the birth of

I believe that information technologies, especially well-designed, purposeful ones, empower and renew us and serve to amplify our reach and our abilities. The ensuing connectedness dissolves away intermediary layers of inefficiency and indirection. Some of the most visible recent examples of this dissolving of layers are the transformations we have seen in music, movies and books. Physical books and bookstores they inhabited have been rapidly disappearing, as have physical compact discs, phonograph records, video tapes and the stores that housed them. Yet there is more music than ever before, more books and more movies. Their content got separated from their containers and got housed in more convenient, more modular vessels, which better tie into our lives, in more consumable ways. In the process, layers of inefficiency got dissolved. By putting 3000 songs in our pockets, the iPod liberated our music from the housings that confined it. The recent iPhone 4S has a great 8 megapixel camera within it, along with a bunch of services for sharing, distributing and publishing pictures, even editing them -- services that used to be inside darkrooms and studios. 3D printing is an even more dramatic example of this transformation. The capabilities and services provided by workshops and factories are now embodied within a printer that can print things like tools and accessories, food and musical instruments. A remarkable musical flute was printed recently at MIT, its sound indistinguishable from that produced by factory-built flutes of yesterday.

I see layers of inefficiency dissolving all around us. An empowered populace gets more connected, and uses this connectivity to bypass the intermediaries and get straight at the things it seeks, connecting and acting in real-time -- whether it is to stage uprisings or rent apartments, plan travel or author books, edit pictures or consume apps by the millions.

And yet enterprises have been far too slow to benefit from such renewal and simplification that is pervading other parts of our lives. The IT industry has focused on too much repackaging and reassembly of existing layers into new bundles, ostensibly to lower the costs of integrated systems. In reality, this rebundling increases the clutter that already exists in enterprise landscapes. It is time for a rethink.

At SAP, we have been engaged in such rethinking, or intellectual renewal, as our chairman and co-founder Hasso challenged me, for the last several years, and our customers are starting to see its results. This renewal of SAP’s architecture, and consequently that of our customers, is driven by an in-memory product called SAP HANA (or HANA as I fondly call it) which, together with mobility, cloud computing, and our principle of delivering innovation without disruption, is helping to radically simplify enterprise computing and dramatically improve the performance of businesses without disruption.,

HANA achieves this simplification by taking advantage of tremendous advances in hardware over the last two decades. Today’s machines can bring large amounts of main-memory, and lots of multi-core CPUs to bear on massively parallel processing of information very inexpensively. HANA was designed from the ground-up to leverage this, and the business consequences are radical. At Yodobashi, a large Japanese retailer, the calculation of incentives for loyalty customers used to take 3 days of data processing, once a month. With HANA, this happens now in 2 seconds -- a performance improvement of over 100,000 times. But even more important is the opportunity to rethink the business process. The incentive for a customer can be calculated on the fly, while the customer is in a store, based on the purchases she is about to make. The empowered store-manager can determine these at the point of sale, as the transaction unfolds. With HANA, batch processing is converting to real time, and business processes are being rethought. Customers like Colgate-Palmolive, the Essar Group, Provimi, Charmer Sunbelt, Nongfu Spring, our own SAP IT and many others, have seen performance improvements of thousands to tens of thousands times. HANA brings these benefits non-disruptively, without forcing a modification of existing systems. And last month, we delivered SAP Business Warehouse on HANA, a complete removal of the traditional database underneath, delivering fundamental improvements in performance and simplification, without disruption.

HANA provides a single in-memory database foundation for managing transactional as well as analytical data processing. Thus a complex question can be posed to real-time operational data, instead of asking pre-fabricated questions on pre-aggregated or summarized data. HANA also integrates text processing with managing structured data, in a single system. And it scales simply with addition of more processors or more blades. Thus various types of applications, across a company’s lines of businesses, and across application types, can all be run off a single, elastically-scalable hardware infrastructure: a grand dissolving of the layers of complexity in enterprise landscapes. HANA hardware is built by various leading hardware vendors from industry standard commodity components, and can be delivered as appliances, private or public clouds. While this architecture is vastly disruptive to a traditional relational database architecture, to our customers it brings fundamental innovation without disruption.

Looking ahead, I expect that we will see lots of amazing improvements similar to Yodobashi’s. Even more exciting, are the unprecedented applications that are now within our reach. By my estimate, a cloud of approximately 1000 servers of 80-cores and 2 terabytes of memory each, can enable more than 1 billion people on the planet to interactively explore their energy consumption based on real-time information from their energy meters and appliances, and take control of their energy management. The management and optimization of their finances, healthcare, insurance, communications, entertainment and other activities, can similarly be made truly dynamic. Banks can manage risks in real-time, oil companies can better explore energy sources, mining vast amounts of data as needed. Airlines and heavy machinery makers can do predictive maintenance on their machines, and healthcare companies can analyze vast amounts of genome data in real time. One of our customers in Japan is working on using HANA to analyze genome data for hundreds of patients each day, something that was impossible before HANA. Another customer is using HANA to determine optimal routes for taxicabs. The possibilities are endless.

Just as the iPod put our entire music libraries in our pockets, HANA, combined with mobility and cloud-based delivery, enables us to take our entire business with us in our pocket. Empowering us to take actions in real time, based on our instincts as well as our analysis. To re-think our solutions to solving existing problems – and to help businesses imagine and deliver solutions for previously unsolved problems. And it is this empowerment and renewal, driven by purposeful technologies, that continually brings us all forward.

Dr. Vishal Sikka is a member of the Executive Board of business software maker SAP AG and heads SAP’s technology and innovation areas.

Friday, August 26, 2011


An Ongoing Renewal

With the end of summer upon us, and the SAP TechEds around the corner, I've been putting my thoughts together. Then the events of this last week happened. And I believe they signal, simultaneously, both the great shifts that are presently underway, as well as the beautiful permanence of change, of life's ephemerality. First, Motorola's mobility business was acquired by Google. Signaling, in my view, Google's adoption of an "Open+1" strategy: open hardware for any device maker that adopts the android platform, and a +1, Google's own device, wherein the entire end-user experience can be defined and delivered. As my friend Padma, who used to run Motorola’s R&D, told me one evening over dinner, getting the end-user’s experience right is the necessary counterpoint to a great mobile OS platform. Yesterday, Steve Jobs, arguably the leading designer and innovator of our times, announced his resignation as Apple's CEO. A long-standing strategic customer and partner of ours, and a friend of my boss and SAP's chairman, Hasso Plattner, Steve has done more to bring beauty and design and purpose to products that we use, than perhaps anyone else in recent times. Under Steve’s leadership, Apple has singularly redefined our product experience, and moved us several strides forward on empowering end-users and bringing soul to our work. And also this week, HP, long an icon of our industry, announced fundamental changes to its strategy: intending to divest its touchpad and other mobile devices and operating systems, its personal systems business, known mostly for its PCs, notebooks, etc., but also the division that still makes the legendary calculators and other electronic devices, that HP long symbolized, and that became the basis of the electronic era and silicon valley, that HP heralded as much as perhaps any other company in our industry, and is instead acquiring its way into enterprise software with platform technologies such as vertica and now autonomy.

It has been an amazing week. But what is really going on here? Well, of course there is the inevitability of change. Change is as permanent as any other thing or notion we know. As I've argued in timeless software, every entity, whether in the real world, or the digital one, has a timestamp, a life expectancy, and everything must change and evolve, more or less in accordance with these.

But this isn't all there is to it. We are in the midst of a very significant shift. A massive simplification is underway, and the signs we see all around us are of a fundamental renewal and reshaping: of the world of IT, of business and indeed our world.

It is clear to me that this renewal is being driven by technology. Some people would argue that consumer expectations have driven the change, but I would argue that consumers didn’t know what was possible until companies like Apple and Google opened their eyes to the possibilities. User expectations skyrocketed from there, at home and in the office. Expectations for how technology can help businesses run better, have also increased: whether for the CEO or the end-user in a line of business. The big data challenge is not a data problem for the IT department to solve. The big data challenge is everyone, from the CEO to the end-user, wishing to understand, analyze and manipulate the fine grained details of his / her company and then do something about it. The layers for him or her to get there are dissolving. The interaction with data is direct and real-time, with easy and seamless interaction paradigms. The ways people connect have also changed: direct, immediate, virtual, as groups, and without the traditional structures that slow things down, and this has in turn enabled people to organize themselves, debate and form their common views, however radical, and to mobilize around shared beliefs – mobilizing in numbers that overwhelm governments. End-users are taking more and more control of their destiny, fueled by a virtuous cycle of connectedness that leads to disintermediation of layers, which drives end-users to become more empowered, demand better user-experience challenging us to create more connectedness. In many ways this cycle has been underway for a very long time, from the industrial revolution, or even further back, Guttenberg’s printer, but it is becoming starkly evident now. We are being better empowered than ever before in our history, with products that combine beauty and scale.

This change is forcing a renewal of the IT industry. Starting with a renewal in the hardware business. Fundamental advances in hardware, both technological, as well as economic ones, are becoming evident. I believe this is why many business strategies of leading hardware vendors are changing. A single machine of 80-cores, 2TB of memory and enough SSDs can serve massive data needs of enterprises; a cloud of these, a RAM cloud, can connect the whole world in a web of real-time trade. And this hardware renewal, is renewing software’s layers. Especially the relational database, the present incarnation of which was designed more than 20 years ago. You’ve seen me argue this before and I think this is now quite evident. Our own HANA, helps radically rethink the database. Just yesterday I learnt that on a cluster of 4 machines of 32-cores each, we can run 200 parallel users, running a complex SQL query, on 800M records, with average response times of 450ms. Each! But beyond the database, this technology helps rethink the entire information management paradigm. While autonomy (and verity, which autonomy acquired a few years ago) pioneered text search in the 90s, and vertica, which looked into a disk-based column store, are inherently different paradigms for managing structured and unstructured information, search and database technology is evolving in precisely the opposite direction. HANA intrinsically combines a massively parallel in-memory column store with various data processing engines, that process sql, text and nosql style access uniformly, within the same SQL expression, and with breathtaking speed, as our customer Medtronic demonstrated at Sapphire in May. Similarly, the so-called nosql approaches (e.g. The hadoop or map-reduce style programming models on distributed file systems and key-value stores first built by modern text engines such as Google) combine text and structured data processing on one foundation. I believe this is the right direction, even though I fundamentally disagree on the NoSQL part; SQL is a great, declarative, timeless way of expressing a user’s query intent, independent of the optimizations of any wave of technology, and is thence used by 10s of millions of programmers around the world, but I digress. So unlike past approaches, where structured and unstructured data was treated differently, as were the OLTP and OLAP worlds, redesigned software on modern hardware, can converge these two paradigms, in a way that is fundamentally simplifying, that continues to evolve with improving technology, and empowers end-users to interact and engage with data, whether structured or unstructured in a uniform, coherent way.

Closer to home at SAP, we see renewal in the software industry as well. The good news from SAP’s perspective is that we have been focusing on this renewal, in my case for around 2 years, since Hasso laid down a profound yet inspiring personal challenge. HANA is driving change in the enterprise and enabling companies to do things that were previously unimaginable. HANA removes the inefficiencies that have developed over time but also finally delivers the unbelievable user experience that meets the skyrocketing expectations I talked about earlier. For example, machines can now talk to each other and to the back end systems, help do their own maintenance, and help companies better schedule service runs. Retail forecasts and customer incentive calculations can be done 1000s of times faster. CPG companies can plan, and allocate, in real-time, products can be traced, across 10s of billions of entries, immediately, and companies can close their books whenever they want, dynamically, shaving off days from these cumbersome processes, and becoming vastly more agile in the process. Services companies can now calculate and predict the margin on short and long term implementation projects. A utility company can analyze smart meter data in real-time. And these are just the beginning. In all of these scenarios, HANA creates direct connections between people, businesses, data, machines, and causes disintermediation of unnecessary layers or steps and delivers ease-of-use. Simultaneously enabling new horizons, and simplification of the existing layers of complexity, without disruption.

Lastly, there is a renewal happening that I am personally passionate about, and that’s the one taking place inside SAP. This has also been driven by HANA, which has opened up new ways of working, new ways of thinking and new ways of developing software inside SAP. All this has led to some truly exciting set of product innovations that we’ve been working on and strategies that we’ve been reflecting on. All of SAP’s products will transform over time, whether our technology products, our existing applications, which we can now piecewise and non-disruptively renew, or totally new applications, which weren’t possible before. And with this renewal of our products, our company is renewing as well.

So it will be an important series of TechEds this year. Two and a half weeks until Las Vegas. There is much to be discussed and news of innovation to be shared and I’m looking forward to seeing you there.

To close, in the words of Steve Jobs, quoting Stewart Brand (who was one of the inspirations for my work on Timeless Software): Stay hungry, stay foolish.

Best,

Vishal


Wednesday, October 22, 2008

Timeless Software

Sitting in the newly refurbished cabin of a Lufthansa 747, I cannot help but marvel at the continuous evolution of this beautiful plane. First released in the 60s, before I was born, this machine is so fundamentally different now, modern cabin, modern cockpit, new communication systems, navigation systems, engines, and yet it is essentially the same as when it was first born. The same principles of flight, the same reliability, the same optimizations around the essentials of travel requirements, fuel consumption, and maintenance.

As we at SAP have learned over the years, 36 years after delivering our first packaged application, successful large scale enterprise software follows essentially the same lineage. It solves fundamental problems that businesses face every day, over generations of business change and of technological change and, in doing so, it continuously evolves in a constant cycle of renovation. I call this Timeless Software, and want to write here about what some of its fundamental characteristics are, and how it will help define our software for the next several generations of changes to come.

Where We Are

SAP’s software today covers a massive breadth of business activities. Functionality in the Business Suite covers a large spectrum of business processes, from finance and human resources to sales and service, from planning and procurement to manufacturing and logistics, from managing supply chains to managing business strategy, decision-making and compliance, and others. In addition, its functionality spans variations on these processes across 100+ countries and 25+ industries. Despite this massive reach, customers expect a fundamental degree of coherence, stability, reliability and integration across the various elements of such software. The expectation of stability, given the mission critical nature of many of these business processes, coupled with the fundamental ways in which business deploy and use the software to mirror their own business and its uniquenesses, means that our software and our relationships with customers, are very long-lived and often last decades. Over this long lifespan, customers simultaneously expect the software to contribute to their two fundamental metrics:

  1. Costs, by ensuring that the software is integrated and comprehensive, and easy to reliably operate and cheaply administer, and
  2. Growth, by ensuring that the software addresses differentiated areas and is easy to evolve, change, and integrate into others as necessary

So this, then, is the essential duality that our customers expect from their IT landscape: Deliver operational efficiency via coherence and stability, while enabling business growth and managing change necessary to survive and grow. And this becomes our prime requirement: Enable evolution of our software without disruption; provide a large breadth of stable functionality, over generations of change. And it is around this requirement that we seek to design and architect the evolution of our software.

What is the nature of this change dynamic? Business requirements change all the time; markets evolve, circumstances governing customers’ purchase of products change constantly, businesses are bought and sold, regulations change, and just the day-to-day challenges of competing require a constantly shifting and evolving IT landscape. But change occurs at other layers as well. People’s behavior evolves constantly. There are now millions of blackberry carrying business users worldwide, who carry out quite of a bit of their tasks outside their office. This year we estimate that nearly a billion people worldwide will conduct some or the other business activity on a mobile device. The technological layers change as well. Every year we see roughly two new major UI paradigms. Just in the last 3 years, we have seen the iPhone, Google’s work on Google maps and highly interactive web applications enabled by AJAX, Adobe’s work with AIR, Microsoft’s work on Silverlight and others. Even programming languages, and programming models around them, continuously evolve. Roughly every 10 years a major new language emerges, and minor ones every 3 years or so, well within the lifecycle of large scale applications. And programming models and developer communities emerge around these. The language Ruby, for example, is thought to have reached a million programmers faster than any other language ever. The three key infrastructural building blocks: processors, network and memory, evolve continuously and often non-linearly as well. And this evolution sometimes enables or requires, new architectural paradigms. For instance, cheap main-memory and elastic farms of simple servers have enabled fundamentally new ways of analyzing large amounts of data. Similarly, multi-core processors require rethinking application programming to better utilize their parallelism or risk slowing down. So large scale software, over its lifetime, is subjected to change continuously, business change, as well as change across all the technology layers that it inhabits.

As I look to the future, evolving our products for the next generation, this becomes our essential challenge: How do we build applications to serve the needs of every user, and every activity, in every business around the world? And how do we do so effectively, efficiently and with maximum coherence? And how do we evolve these applications, their ongoing change, consumption, delivery and integration, as well as their connection to the present, across generations of change? How do we deliver software that is always reliable, and yet always modern? In other words, how do we build timeless software?

Enterprise applications are built using a collection of programming models and languages that describe their content, are executed using a set of corresponding containers or run-time, and continuously change over their lifetime. My sense is these three constructs form the essence around which we need to understand Timeless Software, its characteristics and how we build it:

- Content, i.e. the application content, the UI content, the integration content, to represent and serve the activities of users
- Containers, i.e. the runtime(s) that this content inhabits, and
- Change, i.e. the ongoing operation and evolution of both the content and the containers over the lifecycle of a solution while maintaining a continuous link with the past

There are other aspects, to be sure, but these are the three basic ones and I want to share my view on their evolution next.

The Evolution of Content Creation

Enterprise systems cannot rely long-term on any one programming language. Alan Kay once observed that there is a major new language every ~10 yrs and several minor ones in the interim. So over its life span, a major enterprise system sees adoption curves of several languages. Just in the last several years we have seen very rapid adoption of .Net languages, Ruby, Python/Perl/Php, Javascript, and others. Perhaps even more interestingly, programming models emerge around these languages, and often the success of a programming model, e.g. JEE or Ruby-on-Rails, brings with it a large community of programmers, drives the adoption of the language, and an explosion of software artifacts around it.

But lots of languages and dialects also exist for other reasons: There are many different domains & problem characteristics within enterprise systems and for each domain, unique combinations of syntax, tooling conveniences and programming models emerge over time. From Jon Bentley’s “little languages” to the modern-day notion of “domain specific languages”, there are many variations in essentially the same exercise: expressing meaning in convenient, specialized ways. There are programming models and domain-specific languages around User Interfaces, for instance. Data has lots of variations too. Modeling and querying business data, languages for reporting and analytics, for search (as Google showed with their map/reduce programming model), for managing XML based or other hierarchical data, and others. Describing flows, events, rules, software lifecycle, and other aspects each bring their own variations, and the same thing happens in specific application areas and in particular industries. Over time, with successful adoption, these abstractions and conveniences increase. Our own ABAP, for instance, saw several programming models integrated within a general purpose language: abstractions and extensions for data access, for reporting, for UI, even object-oriented programming within ABAP, in the form of ABAP objects. Java, similarly, grew over the years in lots of domains and ultimately the JSR institution served to systematize the inclusion of extensions and programming models within the language. And there are similar examples in other domains, in hardware design for instance. Even cliques of teenagers invent their unique DSLs for texting.

Another key source of diversity in programming stems from the nature of the programmers. Programmers bring different degrees of training/understanding in computer science concepts, in business, and in particular domains. So languages and language constructs, as well as specific abstractions emerge for different programmer segments, be it system programmers, business analysts, administrators, or others.

This diversity is great, insofar as it enables abstractions and separation of concerns, so different classes of problems are dealt with uniquely. After all, the world does not speak one language, as any visit to the UN assembly hall would demonstrate. But the challenge is the resulting complexity that these isolations create. The various abstractions/specializations lead to islands of diverse, non-interoperable languages, language run-times and software lifecycles. Like barnacles attaching themselves to a host, these variations often lead to increased landscape complexity and dramatically higher costs of operation.

So my sense is we need an enterprise programming model that is deeply heterogeneous yet integrated. One that enables expression of meaning in a wide variety of simple and convenient ways, including ways yet to be invented, without losing coherence. One that:

1. Enables developers across lots of domains and specializations to use their native abstractions and conveniences

2. Uses a family of integrated domain-specific languages and tooling conveniences to build software artifacts with maximum efficiency and productivity

3. Has a powerful glue that binds these diverse elements together

4. Can be extended by communities and developers of various sorts in lots of different ways, and

5. Can integrate the next great languages, including languages yet to be invented, and can itself be renovated and embedded in other programming models

Some advanced development work we’ve done in our labs indicates that such an integrated design-time environment is indeed possible and can bridge a heretofore uncrossed divide between families of highly specialized DSLs that are yet integrated into a coherent whole. A key piece of this puzzle is a glue that binds the various DSLs together. The glue in this case, is a mechanism that takes a base language, such as Ruby, and uses capabilities such as reflection to extend the base language with the grammar of new DSLs in a seamless way. The timelessness comes from being able to add new DSLs dynamically to the base language, completely incrementally, without knowing about these in advance. We have experimented with several DSLs that plug into a glue and the glue in turn integrates seamlessly into a base language such as Ruby or Javascript. In a promising effort conducted by our SAP Research team, we have demonstrated how standard Ruby code can be run natively inside the ABAP language run-time, thereby achieving the benefits of both flexibility in Ruby programming and the enterprise-grade and robust Abap environment. I see several exciting developments ahead along these lines that will lead us to new paradigms in extremely efficient content creation without losing coherence.

The Evolution of Containers: Next runtimes

Enterprise run-times are faced with a significant challenge of optimizing the execution of the diverse and heterogeneous language landscapes described above. So if the content is to be built with maximum efficiency of expression and flexibility, then the containers need to enable maximum efficiency in execution. Our key challenge then is to bridge this divide between flexibility and optimization. In layered architectures, and with the first several years of service-oriented architectures behind us, we often take it as a maxim that the benefits of flexibility and abstraction come at the expense of optimization. That layers of abstraction, by creating an indirection, usually cost in performance. But I believe this is a false divide. Run-times need to separate meaning from optimization, and diversity in design-times need not lead to heterogeneity in run-times.

More than a decade ago, I examined one aspect of this issue in my own Ph.D. work, in looking at how meaning, specified in highly generic logic-based languages, could be executed optimally using specialized procedures that could cut the layers of abstraction to achieve significant optimization compared to a generic logical reasoning engine. The principle underneath this is the same one -- by separating meaning from optimization, a system can provide both: the efficiency and generality of specification in a wide variety of specialized dialects interoperating over a common glue, and a very efficient implementation of that glue down to the lowest layer possible in the stack, across the layers of abstraction

There are examples of this principle at work in other areas in our industry. The OSI stack implements seven very clean layers of abstraction in the network, and yet a particular switch or a router optimizes across these layers for extreme runtime efficiency. Hardware designers, similarly, use a variety of languages to specify various hardware functions, e.g. electrical behavior, logical behavior or layout, and yet when a chip is assembled out of this, it is an extremely lean, optimized implementation, baked into silicon. Purpose-built systems often can dictate their requirements to the platform layers below, whereas general-purpose systems often do not know in advance how they will be utilized, and can often be suboptimal compared to purpose-built systems, but more widely applicable.

But beyond crossing the layers of abstraction, run-times have an additional burden to overcome. In enterprise systems, we are often faced with tradeoffs in managing state across boundaries of processes and machines. There are three key building blocks in computing: networks, i.e. moving data around, processors, i.e. transforming data, and state, i.e. holding data, in memory or on a disk, etc. And different types of applications lend themselves to differing optimizations along these three dimensions. Several years ago, when dealing with some difficult challenges in advanced planning and optimization, our engineers did some pioneering work in bringing applications close together with main-memory based data management in our LiveCache technology. The result, implemented successfully in our APO product in supply-chain management, demonstrates how locality coupled with a highly purpose-built run-time offers a unique optimization on network, state and processing. More recent work in business intelligence demonstrates that when it comes to analytics, a great way to achieve performance improvements and lowered costs, is to organize data by columns in memory, instead of in disk-based RDBMSes, and perform aggregation and other analytical operations on the fly on these main-memory structures. Working together with engineers from Intel, our Trex and BI teams achieved massive performance and cost improvements in our highly successful BIA product. We are now taking this work a lot further; in looking at ways to bring processing and state close together elastically, and on the fly, and by looking at ways that the application design can be altered so that we can manage transactional state safely, and yet achieve real-time up-to-date analytics without expensive and time-consuming movement of data into data warehouses via ETL operations. SAP’s founder Hasso Plattner inspired me to do an experiment we dubbed Hana, for Hasso’s new architecture (and also a beautiful place in Hawaii), our teams working together with the Hasso-Plattner-Institut and Stanford demonstrated how an entirely new application architecture is possible, one that enables real-time complex analytics and aggregation, up to date with every transaction, in a way never thought possible in financial applications. By embedding language runtimes inside data management engines, we can elastically bring processing to the data, as well as vice-versa, depending on the nature of the application.

Enterprise systems with broad functionality, such as the Business Suite, often need several types of these optimizations. One can think of these as elastic bands across network, state and processing. Large enterprises need transactional resiliency for core processes such as financials, manufacturing and logistics. They need analytical optimizations, ala BIA, for large-scale analytics over data. They also need LiveCache style optimization for complex billing and pricing operations. They need to support long-running transactions to support business-to-business processes that work across time zones, they need collaborative infrastructure for activities such as product design, and others. Each of these patterns consumes the underlying infrastructure, memory, network and processing, in fundamentally different ways. This breadth is one key aspect that the existing SaaS offerings are extremely narrow in scope. Serving broad enterprise functionality off the cloud is a fundamentally different architectural challenge, than taking a niche edge application, such as sales force automation or talent management, and running it off what is essentially a large-scale client-server implementation. My sense is that enterprise ready cloud platforms will enable extremely low costs of running cloud services that have a broad footprint: transactional, analytical, long-running and others, with extreme ease of development and extensibility. We have some early promising results in these areas, but neither the current SaaS offerings, nor any other cloud platform I am aware of, can address this challenge for the foreseeable future.

So to summarize, I believe the next great run-times will implement the glue at lowest levels possible in the stack, cutting across the layers of abstractions that make developers’ lives easy at design-time but are not needed at run-time. These runtimes will flexibly enable various different application-oriented optimizations across network, state and processing and will enable execution in specialized containers or consolidated containers, in elastic, dynamically reconfigurable ways. This deployment elasticity will take virtualization several layers higher in the stack, and will open new ways for customers to combine flexibility and optimization under one unified lifecycle management, the final piece of the puzzle.

The Evolution of Change: Lifecycle Management

Perhaps the most important piece of this trichotomy is the third one: Change, i.e. managing the lifecycle of a system over the continuous change in its contents and containers. Enterprise software lives a very long time, and changes continuously over this time. Developers often do not often think beyond delivery and lifecycle mgmt is often an afterthought, and yet this very lifecycle management is the only constant in a usually very long life of an enterprise system. It is the embodiment of the relationship that the system maintains with the customer, over several generations and it encompasses several aspects: change in functionality, change in deployment, integrating a new system with an existing one, ongoing administration and monitoring.

One of the fundamental pre-requisites of lifecycle management is the ability to precisely describe and document existing or legacy systems. This documentation, whether it describes code, or system deployment, is a critical link across a system’s life. ABAP systems have well-defined constructs for change management, software logistics, versioning, archiving, etc., as well as metadata for describing code artifacts that makes it easier to manage change.

Consuming legacy software often means understanding what is on the “inside”. Well-defined wrappers, or descriptors, of software can help with this. But it is also often necessary to carve well-defined boundaries, or interfaces, in legacy code. Such firelaning, which has long been a practice in operating systems to evolve code non-disruptively, is essential to managing code’s evolution over the long haul. Service oriented architectures are a step in this direction, but having legacy code function side-by-side with “new” code often requires going far beyond what the SOA institution has considered so far. It requires having data, especially master data interoperability, enabling projections, joins and other complex operations on legacy code, having lifecycle, identity, security, and versioning related information about the legacy code, having policies in place to manage run-time behavior, and other aspects. Most of these steps today are manual, and enterprises pay significant integration costs over a system’s lifetime to manage these. Over time I see this getting significantly better. But it starts with provisioning, or enabling, existing code to behave in this manner, carving nature at her joints, as Alan Kay once told me the Greeks would say. I also see incumbents with an existing enterprise footprint, as having a significant advantage in getting here. It is often far easier to carve a lane out of existing code, than it is to replace it.

Great lifecycle management is the essential change management mechanism. My sense is, next generation lifecycle management will enable systems that can easily be tried, consumed, extended, added to, removed from, projected on, integrated with, etc. This will be achieved by enabling every artifact in a system to be measured, managed, and tested. We will see existing and legacy code being instrumented for administration, for documentation as well as for integration. This will require us to provide precise mechanizable specification and documentation of all important aspects of the system as a key ingredient. The specification of a system’s behavior, its usage, service-levels and policies describing its operation, especially for security, access and change, will be fundamental to this. We already see efforts in this direction towards precise, mechanized specifications of system behavior and we will see more of this. SAP has already taken some steps in this direction with our enhanced enterprise support offering, that enables a business to lifecycle manage system landscape across their entire business from one console.

Deep interoperability between design-times, run-times and lifecycle management, will enable us to combine deployment options in ways that were not possible before. For the foreseeable future we see customers employing some parts of their processes as on-demand services, but deploying most of their processes on-premise. Our lifecycle management frames will ensure that customers can make such deployment choices flexibly.

The evolution of our products along Timeless Software

Our portfolio of products, starting with the Business Suite, including Business Objects and NetWeaver and Business ByDesign, will continually evolve along these principles of timeless software.





As the picture above illustrates, we will continue to enhance our massive yet coherent breadth of functionality, to reflect ever increasing business activities across industries, geographies, and roles. This functionality will be built and extended using an evolving programming model, often in languages that have not yet been invented. And will be deployed in new ways, in the cloud, as appliances, on-premise, and all of the above. This functionality will be exposed for wide varieties of consumption, across consumers, business user workplaces, and devices, rendered via a wide variety of specialized client-side technologies, built by SAP as well as others. And yet all of this functionality will be under the same lifecycle frame, the backbone that will support the constant evolution, and constant optimization of our landscape at our customers. Our products will therefore reflect these principles. We will continually carve new lanes, and deliver new functionality, even deep new technologies. The applications will evolve continuously, and piecewise, as nature does: bringing new things, renovating others, adding here and retiring there, and doing so without breaking its essential qualities: reliability, integrity, integration, seamless administration, change and lifecycle management. Just as every few years we humans shed most of our cells, acquire new memories and lessons, decisions and beliefs, evolve and yet stay essentially who we are, I believe it is possible for software to renovate itself completely, and yet continuously.

So as excited as I am looking ahead to innovations on the horizon and beyond, that there is tons of new technologies, new capabilities, and new functionality to be delivered in our software, it is perhaps most reassuring that none of these will break the essential promises at the heart of timelessness, of reliability, integrity, coherence and continuous evolution.

On that reassuring thought, it is time to press the bed button on my seat and try out the fancy new lie-flat bed to end a day that began already 3 timezones away, 20 hours ago. And as I browse thru the 80 movies onboard, and notice the flight monitor displaying the plane’s airspeed of 567 miles/hr, things that passengers 40 years ago couldn’t have imagined, I find myself thankful for being in the comfort of a well engineered timeless system.