Making more than I did as a full-time system engineer. http://www.glasscodeinc.com based off IT services alone. Soon to invest the profits into some software for managing enterprise infrastructure and hopefully grow from there.
Most CMS systems leave the design up to the developer. The UX components are based on how well you lay over CSS, JavaScript and graphics. Drupal and Wordpress already have rich theming systems and a lot of (out-of-the-box) themes that give a nice UX. For something a bit more advanced you could use something like Apache Lenya.
Terracotta provides a service called Network Attached Memory for JEE applications. It is similar to a distributed cache, in that it provides object caching and session clustering features. Terracotta sets itself apart from traditional Java distributed caches because of it’s seamless integration with most Java application servers and frameworks, and ability to cache the entire framework and code, as well as provide session clustering and replication features on a level of high-availability that is difficult to attain with such finesse and ease. This article demonstrates some of Terracotta’s session clustering and high availability features using a demo application the Terracotta engineers have created, called the Examinator.