The Challenges of Enterprise Systems Development with Linux

CUUG, December 13 2005

Abstract

Richard Huntrods, M.Eng., P.Eng, is a Calgary-born Chemical Engineer and IT Consultant with extensive experience in software development and teaching. He is currently an Academic Coordinator for the School of Computing and Information Science at Athabasca University, Canada's premier distance-education University.

Mr. Huntrods has also continued his consulting practice, developing enterprise web applications in Java. He is the developer of the competency and test tracking HR system for Quicktest International.

Richard's successes and frustrations developing enterprise systems on a variety of UNIX platforms form the context of his December presentation to the Calgary UNIX Users' Group, in which Richard offers nuts-and-bolts details of his difficulties trying to provide Java-powered web applications with Red Hat Linux after a long and happy relationship with Solaris on Sun hardware.


Thank you very much for inviting me to speak to you this evening.




Agenda

  • Introduction
  • Background
  • Linux Distros
  • Red Hat
  • Solution
  • Conclusions



Introduction

  • Hackers, Superusers and Users
    • What is a Hacker? (ref. Hackers and Painters, Paul Graham, 2005)
    • What is a Superuser?
    • What is a user?
    • What is an Engineer?
  • How this affects my presentation...



Background

  • The Project
    • QuickTest International, Inc.
    • What is the QuickTest System?
  • Developmental Parameters
    • Accessible (worldwide use)
    • Reliable (available all the time)
    • Scalable (thousands to millions of users)
    • Secure (at all levels)
      • Cient data entry is secure (SSH, passwords)
      • Client data is secure (data backup and recovery)
      • System is secure (server security, disaster planning)
      • No developmental 'lock-in' at any level
  • Developmental Solutions
    • Web Application, not desktop application
      • Available to anyone with access to a web browser
      • Everyone always uses the latest version
      • Language translations part of the system
      • CHOSEN: Java Servlets
    • Requires rock-solid hardware and operating system
      • Intel, AMD, Sparc - all now extremely reliable hardware platforms
      • Microsoft (server), Linux, Solaris - also considered "enterprise ready" solutions
      • Operating system now almost hardware indepentent
      • CHOSEN: Solaris or Linux on Intel or Sparc
    • Solution must use "industrial strength" engines for web application and database
      • Solution must be fast and able to support multiple concurrent sessions
      • Many web application solutions - Servlets, JSP, PHP, ASP (.net)
      • Many database solutions - Oracle, SQL Server, MySQL, Progress
      • CHOSEN: Tomcat (servlets) and MySQL (database)
    • Security is critical
      • Secure data entry for clients
      • Robust and reliable data backup and recovery
      • System must be "rebuildable" in short time (worst case)
      • Development "lock-in" restricted the above solutions
      • CHOSEN: See above (i.e. why not Microsoft solutions?)



Linux Distros

  • Current Hardware
  • OpenBSD
    • Secure, secure, secure
    • Excellent firewall, web server
    • Still no native Java support
  • Ubuntu
    • Live CD worked first time
    • Install worked first time
    • Designed as a desktop solution, not a server solution
  • Others
    • Frequently designed for advanced O/S hackers or power users.
    • Frequently 'not ready for prime time' (i.e. general use)
    • 'hacker' mythos rules. God help the user. ('cause they won't)
  • Hardware
    • NSLU2 & 'unslung' a viable web server option
    • CURRENT: Sweet hacks available for other hardware platforms (i.e. psp). More to come?
    • NSLU2 etc.



Red Hat

  • Distros 3-9 have been 'less than stellar'.
    • Newer frequently less stable than older
    • Tendency to 'kitchen sink' rather than fix problems
    • Going downhill once commercial model in place
  • Fedora
    • No better than distros 3-9.
  • Advance Server
    • Obtained a reasonable license (academic)
    • Unlike EVERY prior version of RH, this one really did install 'out of the box'!!!
    • MySQL - 'right out of the box'
    • Java - 'right out of the box'
    • Tomcat - '...???'
    • Knowledgebase Answer
    • BUT - in the end, no better than the rest...



Solution

  • Chosen Hardware
  • Solaris is still the way to go for my requirements
  • Solaris 10 on Intel P4 (32 bit) - development environment
  • Solaris 10 on Sparc (Sunfire V440) - production environment
  • Zones - multiple indepentant machines
  • Future: Solaris 10 on AMD Opteron ???



Conclusion

  • Linux / RH still 'not ready for prime time'
  • Linux is still it's own worst enemy (hacker mythos)
  • Red Hat still needs a clue
  • Solaris 10 is SWEET!
  • Servlets, Tomcat and MySQL are STILL the solution for this application
  • Anything else?



copyright © Richard S. Huntrods
all rights reserved


Mr. Richard


last updated: