Sun is going through a lousy spell right now. Well, so is the world’s economy in general and the IT business in particular, but this is about Sun. This is my opinion about what my employer should do about it.
Notices and Disclaimers · This is not an official opinion from Sun Microsystems. Nor does it reflect any particular insider knowledge; I am not privy to the executive decision-making process about what the company should look like after the current transitions.
Internally, I have been free with my opinions about what the company should do, and while some of those are private, many aren’t, and now I think sharing them with the world might be beneficial to the company.
Our Advantages · As I look at Sun’s portfolio of technologies and judge them solely on the basis of their excellence relative to the rest of the field, these stand out to my eye, in no particular order:
Solaris: Offers superior observability, manageability, and reliability via the combination of DTrace, ZFS, and a policy of not screwing with binary interfaces. The advantages of ZFS in terms of management and ease-of-use are really underappreciated.
The storage-products portfolio, particularly as demonstrated in the recently-announced Unified Storage product line.
The HotSpot JVM, which offers deployment-time advantages not available on any other software platform.
The NetBeans IDE, which for certain classes of software development (for example POJOs, Ruby, ME), is the best you can get.
The line-up of scalable low-to-medium-end servers: Intel, AMD and especially the “Niagara” or “CMT” line, low-wattage high-throughput SPARCs.
GlassFish, which with the addition of the open-source secret sauce, has become a really outstanding app server, especially in its soon-to-arrive V3 incarnation.
MySQL, which is a really good choice for anyone who needs a highly functional and performant database that doesn’t come with permanent lock-in to onerous licensing charges.
The Strategy · To my ears, these technologies scream “Deployment time!” In particular server-side deployment, in particular of Web applications.
Therefore, Sun should adopt a laser focus on building a Sun Web Suite and becoming the Web application deployment platform of choice. It’s a large space, a growing space, and one where we can win.
The rest of this piece assumes this strategy and considers how to get from here to there.
The Suite · At the center of everything should be the Sun Web Suite, and everything we produce should have a crisp, easy-to-explain role in driving the Web Suite’s quality, performance, or ease of adoption.
It’s easy to understand how our servers, CMT and x86, and the Solaris OS, fit into the Web Suite. All the software, including the HotSpot, GlassFish, and MySQL runtimes, needs to be obsessively tuned and optimized to run best in the context of the Suite. Obviously, the Suite will also include Ruby and Python and PHP runtimes, similarly tuned.
All of Sun’s software tooling should have a laser focus on usability, performance, and ease of adoption for the Web Suite.
The Field Sales Organization · My belief is that our field organization is somewhere between competent and excellent at taking care of the few hundred largest customers who represent Sun’s largest revenue stream. They do a good job, first of understanding those customers’ concerns, and second, finding ways to match the products that Sun Engineering gives them to those concerns.
It is also my belief that the current organization is entirely unsuited to addressing the needs of small businesses and startups, which have two ways of buying infrastructure:
Getting hardware specs from a Web site, filling in their credit card number, and waiting for delivery.
Buying it in the form of services from a hosting or “cloud” provider, which involves getting the specs from a Web site, filling in their credit card number, and waiting for deployment.
More on the cloud below, but we need a sales organization, probably independent of the current large-account teams, that knows how to move product and services through a Web-only presence with low friction and high customer satisfaction.
The Software Business · Sun has a variety of software businesses, some of which make money. Let’s just keep the ones that are essential parts of the Web application deployment platform of choice story and exit the rest. Sell the ones that make money and just shut the rest down. Then they won’t distract attention from executing the Web Suite strategy.
Developers · Increasingly, developers are migrating to the Mac platform, with lots left on Windows and a slower-growing minority on Linux, mostly Ubuntu. I don’t think Sun is going to be successful in getting them to abandon those platforms in favor of Solaris.
The Mac and Linux platforms are remarkably similar once you drop into the command-line mode where developers live around deployment time; they have a mostly-common “GNU Userland”. Solaris needs to offer a similar set of commands and utilities, so that when you go there for deployment the commands you’re used to using will Just Work.
Also, developers depend crucially on package management with the implied provision of dependency and version tracking. Solaris must have something that’s generally competitive with APT, which means that we need to get IPS polished and finished pretty damn quick, or adopt the Nexenta approach of combining the Solaris kernel with the Debian userland.
Cloud · Here are some things we don’t know yet about “The Cloud”:
Will it operate at the level of virtual hardware, like Amazon’s AWS, or at Platform as a Service, like Google App engine (and, de facto, much of the PHP community)?
Will buyers accept a certain amount of lock-in, or will they insist on zero barriers to exit?
Will those who deploy enterprise applications be willing to let their data offsite and into the cloud? If so, what kinds of privacy guarantees will they require?
Will those who deploy enterprise applications want to build internal cloud-flavored infrastructure?
Here’s something we do know: The business arguments for cloud computing look overwhelmingly attractive.
I’m not convinced that Sun can succeed as a large-scale supplier of cloud services, and I’m not even convinced that we need to. I am convinced that we have to go ahead and build some Cloud infrastructure anyhow and operate it and make it pay for itself, so that when the ecosystem does find its shape, we’ll understand it and be positioned to sell the Web Suite into it.
Java · The HotSpot and GlassFish runtimes are technically excellent and, I think, crucial components of the Sun Web Suite, especially after they’ve been exhaustively DTrace-enabled and optimized to run stinking fast on CMT hardware.
As for Sun’s role as Steward of Java, and in particular the Java Community Process, let it go already. Java has mostly won and is mostly the establishment, and the community is smart and conservative enough to keep anyone from doing what Microsoft tried last millennium, or in any other way to subvert Java’s interoperability. In 2008, the JCP is costing Sun opportunities and friends and gaining us very little that I can see.
So I’d like Sun to set the JCP free, turn it over to the community, and when we develop some cool Java-based technology in-house, take it to market, try to make some money with it, and after it’s caught on and the bugs are shaken out, consider whether or not it ought to be taken to the JCP.
The Desktop · There are some interesting desktop apps, mostly editors of one form or another: code editors (think Eclipse/NetBeans), number editors (think Excel), photo editors (think Photoshop), or film editors (think Final Cut). In only one of these, namely code, does Sun have serious domain expertise.
For actual business apps, the kind that our servers spend most of their time running, the war for the desktop is over and the Web Browser won. I just totally don’t believe that any combination of Flash and Silverlight and JavaFX is going to win it back. AJAX is increasingly central and we need to make sure that our Web Suite and its tools support it well. But as for GUIs and the client side, let it go already.
And as for the mobile world, the “new desktop”? Sun should let Google and Apple and Nokia and those guys duke it out, and focus on being the back-end of choice for all the great Net-centric apps that are going to be running on those platforms.
Looking Forward · I can see a future, a couple years out, as the economy emerges from the doldrums, where a smaller, tougher, faster Sun has a great big piece of the storage market and a Web Suite that is pretty well everyone’s first choice to deploy on. Especially the first choice of cloud vendors. The first choice because it’s got ridiculously low barriers to entry, amazingly great observability and manageability, and outstanding price-performance.
I’d love to work for that company.
Sorry · I’m probably not going to accept any comments on this piece. If you write a what-Sun-should-do piece in your own space, send me a pointer. If a few people do this, I’ll do a link roundup.