Oracle’s acquisition of Sun Microsystems has probably caused a few concerns for Sun customers and, today, Oracle reaffirmed their commitment to Sun’s Solaris operating system and SPARC-based hardware with a statement from Oracle CEO, Larry Ellison, that tells customers they plan to invest in the Solaris and SPARC platforms, including tighter integration with Oracle software.
Nevertheless, as one of my colleagues pointed out to me today, it costs billions to create new microprocessors and more and more customers are starting to consider running Unix workloads on industry standard x64 servers. With significant differences between the x64 and SPARC versions of Solaris, it’s not surprising that, faced with an uncertain future for Sun, organisations may consider Linux as an alternative and, a few weeks back, I attended a webcast given by Red Hat and HP that looked at some of the issues.
I’m no Linux or Unix expert but I made a few notes during that webcast, and thought they might be useful to others so I’m sharing them here:
- Reasons to migrate to Linux (from Unix):
- Tactical business drivers: reduce support costs (on end of life server hardware); increase capability with upgraded enterprise applications; improve performance and reduce cost by porting custom applications.
- Strategic business drivers: simplify and consolidate; accelerate service development; reduce infrastructure costs.
- HP has some tools to assist with the transition, including:
- Solaris to Linux software transition kit (STK)– which , although aimed at migrating to HP-UX, this joint presentation between HP and Red Hat suggested using it to plan and estimate the effort in migrating to Linux with C and C++ source code, shell scripts and makefiles for tools that can scan applications for transition impacts.
- Solaris to Linux porting kit (SLPK)which includes compiler tools, libraries, header files and source scanners to recompile Solaris applications for either Red Hat or SUSE Linux running on HP ProLiant servers.
- The top 5 issues likely to affect a transition are:
- Complier issues – differing development environments.
- ANSI C/C++ compliance – depending on the conformance to standards of the source code and compiler, there may be interface changes, namespace changes, library differences, and warnings may become errors.
- Endianness – SPARC uses a big-endian system, Linux is little-endian. This is most likely to affect data exchange/communications between platforms with access to shared memory and to binary data structures in files.
- Differences in commands, system calls and tools – whether they are user level commands (e.g. a Solaris
ping
will return a message that a host is alive whereas a Linuxping
will continue until interrupted), systems management commands, system API calls, software management (for package management) or operating system layered products (e.g. performance management, high availability or systems management). - ISV product migration with issues around the availability of Linux versions of software; upgrades; and data migration.
- When planning a migration, the strategic activities are:
- Solaris vs. Linux ecosystem analysis.
- Functional application analysis.
- Organisational readiness and risk analysis.
- Strategic migration roadmap creation.
- Migration implementation.
- Because of the differences between operating systems, it may be that some built-in functions need to be replaced by infrastructure applications (or vice versa). Indeed, there are four main scenarios to consider:
- Solaris built-in function to Linux built-in function (and although many functions may map directly others, e.g. virtualisation approaches, may differ).
- Solaris infrastructure application to Linux built-in function.
- Solaris infrastructure application to Linux infrastructure application.
- Solaris built-in function to Linux infrastructure application.
- Finally, when it comes to deployment there are also a number of scenarios to consider:
- Consolidation: Many Sun servers (e.g. Enterprise 420R) to fewer industry standard servers (e.g. HP ProLiant).
- Aggregation: Sun Fire V890/V490 servers to Itanium-based servers (e.g. HP Integrity).
- Dispersion: Sun Fire E25K server(s) to several industry standard servers (e.g. HP ProLiant).
- Cloud migration: Sun servers to Linux-based cloud offerings, such as those offered by Amazon, RackSpace, etc.
Many of these notes would be equally applicable when migrating between Unix variants – and at least there are tools available to assist. But, now I come to think of it, I guess the same approach can be applied to migrating from Unix/Linux to Windows Server… oh, look out, is that flaming torches and pitchforks I see being brandished in my direction?
The one thing that I would note is that Linux isn’t little endian. It is the hardware platform that is big endian or little endian. So SPARC is big, x64 is little and ARM can actually be either. Linux will run on all.
@Peter – thanks for the correction.
And, whilst I’m at it, it’s worth noting that Sun is not the only user of SPARC chips… I was at a Fujitsu event today where they were talking about using a new generation of SPARC chip for petacomputing (very high performance supercomputing).