Some observations after a week on Mac OS X Leopard

Mac OSX leopard.pngTime for some trivia. I installed Leopard last week on my tiny iBook G4 (1,33 Ghz, 1 gig ram, new 160 GB 5400 rpm hard-drive), which is still happily churning away after two years. Here are some observations.

  • I first did an upgraded install, but Leopard changed something unix-based and didn’t like my separate partitions for swap, applications, and users. I then did a clean install, using only separate partitions for users (which is very easy) and Time Machine, and everything works great. Of course, I backed up first!
  • It runs just as fast as Tiger, some apps like Safari launch even faster. All effects are working on my humble G4, as far as I know.
  • All of my software works, except Skype, which doesn’t like the Firewall, and Last.fm, which works, but acts funny.
  • Not a minor update, Mail now supports setting different reply-to’s for different email-adresses. I don’t use its other new features, to-do’s, rss, ical-integration.
  • I got the right-click tap on my trackpad-mouse now (previously Intel-only), which I’m having enormous difficulty getting used to. I still prefer the ctrl-click. Not sure how you Intel-guys cope with it.
  • Spotlights is now enormously fast, and if it wasn’t for Quicksilver’s triggers, would be a great replacement for that.
  • The firewall supports per-app rules now, except that I never really felt unsafe on my Mac, but OK.
  • Grammar-check is not universally supported, only in Textedit, I think.
  • Spaces rocks, 4 spaces to which I assign applications to open. So I now have a space for web, one for work, one for multimedia, and one for maintenance. In other words, no more minimising… ever! Works great, except when I switch and switch back it has the tendency to select the background window instead of the one I was using before. Apart from that, no slow-downs, no nothing.
  • Fixing permissions in disk-utility is slow, sometimes takes 10 mins, and I’m not sure if it really works. I expect this to be fixed in the next update.
  • Time-machine’s backing up to a separate partitions, and works great. I backed up around 9.5 gigs yesterday, today, after 20 hourly backups, it’s only a few mb bigger. The space-effect looks pretty cool also, but a simple menu-bar icon instead of a dock-one would be nice. That said, I’m not sure I find the concept of backing up all that useful, to be honest
  • Stacks are pretty useless, and actually annoy me.
  • Airport has become much more stable, dropping my connections far less than before, with all other conditions unchanged.
  • File-sharing has become slighly more pleasant.
  • Cover-flow is useless, 99% of the time.
  • Using the smart-folders like crazy.
  • Software-update does something new with updates that ask you to restart. It logs out and then installs them.
  • The dock looks great … on the right side of the screen.
  • Quicklook is a wonder and has turned my Mac into media-heaven. Imagine pressing space (or cmd-alt-Y for full-screen) on any file in the finder and just viewing it without opening a separate app.
  • Preview-app is still not better than Skim (the open source alternative to Acrobat)
  • I haven’t really looked, but I expected an updated Worldbook to come with Leopard, I guess that only happens with new Macs.
  • The print-this window has received an upgraded look.
  • Still missing the ability to easily enter meta-data like tags.
  • Spotlight now looks up dictionary words ; works as a calculator ; in the application-help, which is basically spotlight, you can enter any possible term on the menu and it will open it from there
  • Dictionary and wikipedia = yum!
  • Safari and Camino now look identical = scary! I haven’t used Firefox in over 6 months and no withdrawal symptoms.
  • Safari’s “clip and add to dashboard” feature is as useless (or useful) as Dashboard, which I never use.
  • Dashboard looks exactly the same: annoying and distracting.
  • I don’t mind the see-through menu-bar.
  • I haven’t used back-to-my-mac

And that’s about all I can think of. Overall, while it really does not put any extra strain on my system (which I expect to keep until 10.6 comes out or if a mini-MBP with a matte-screen is released), I consider it a substantial upgrade. Spaces, Quicklook, Spotlight’s extra capabilities all make it worthwhile, though I’m not sure whether it’s worth €129, more like half that. Some of the rest is nice, and I hope that 10.5.1 fixes some bugs like the disk-utility, and that more applications integrate more of Leopard’s functions, like grammar-check and Quicklook.

Mac OS X Leopard: 7/10

So what do you guys think? Is Leopard worth the upgrade? Is there an important feature that you like or are looking forward to in Leopard, and that I didn’t mention? Or is there a reason you won’t be using Leopard (yet)?

Vincent is a co-author on Tech IT Easy. You can find all of his posts here, or check out his food & retail blog, updated nearly every day.

High Availability Architectures (2/4) – Scalability

In the previous post of this serie we’ve seen how to increase the availability of your IT system . In this one we’ll focus on how to scale it.

Don’t believe the RAC !

You may be tempted to think : well the bottleneck of any enterprise application being I/Os and therefore the database, I’ll start with clustering that layer. Especially if you have opened the door to Oracle marketing representatives that will try to sell their (still excellent) Oracle RAC.Software architecture layers scaling

Well, actually the best way to cluster your infrastructure is not bottom up but top down. So the order to scale your 5 standard software layers (client, application, business, integration, database) is as follow :

  1. client/web layer
  2. application / business layer
  3. database layer

There is this excellent (and free) IBM redbook describing the path to high availability system and this is the recommended approach. Big Blue have been developing such HA solutions for about 40 years, you can trust them whenever they address this issue.

Scaling Dimensions

Okay now we know where to start with clustering, a question still remains : which type of clustering should we use ? There are two of them :

  1. Symmetrical Multi-Processing (SMP – Scale Up – vertical) : upgrading one single server with more CPUs and more memory
  2. Massively Parralel Processing (MPP – Scale Out – horizontal) : installing multiple servers in parrallel

Roughly speaking, Scaling Up is recommended for data centric applications. This is because you dont really want to have file lock management to be carried out and synchonize on multiple servers. So if you need to scale your database, your ERP or your CRM, scale it up.

On the other hand, Scaling Out is recommended for web servers. In that case, the goal is to share work load for non related requests . Google is a perfect example : many simultaneous non related requests are processed at the same time : many different servers load balanced upfront will do the trick.

There is a third scalability approach which is a mixed one : scaling both up (bigger server) and out (a second one). This one perfectly addresses scalability constraints for application servers. However, do yourself a favor and think twice before clustering EJBs.

So we know we’ll start first by scaling our web servers horizontally, then mix scaling our application servers and lastly scaling up our database servers. Now let see how we should implement this clustering.

Cluster modes

There are two ways to set up clusters :

  1. Active / Passive : one server is up and running with all traffic redirected on it while the other one is sleeping ready to take over if the first server has an outage
  2. Active / Active : All servers are up and running, sharing the workload.

Active / Passive is the simplest approach and the favorite one of operations teams : easier to manage. On the other hand it is expensive as half of the CPU power is paid for doing nothing most of the time. Besides, when considering such solution there is a need to address the transparent fail over issue and the time to switch. In any case, this Active/Passive cluster set up is the recommended approach for asynchronous servers such as JMS.

Active / Active is the most complicated issue from the Operations team perspective. However, it optimises the investment and the ratio paid CPU/used CPU. There is still a margin to kept though to absorb any stopping servers amongst the remaining ones. Recommended approach for application servers.

Database Clustering

So you have been scaling up your database on the biggest server on the face of earth but that still does not cope with you traffic : you need to set up a database cluster.

There are four clustering solutions available to you :

  • Share nothing : each server has his own tables and memory. This is also called partitionning. You need to make sure that you don’t have any joint between tables and that the tables are completely independent one from the other. Otherwise you lay end up doing 2 I/Os on 2 different servers for a call. This is the DB2 approach.
  • Redundant : each server has a full copy of the database. This approach implies that each change in one copy of the database is propagated to other servers. May prove to be quite cumbersome. MySql approach
  • Disk Share Technique : All the data resides on a share drive (such as SAN – Storage Access Network) and all servers access this disk in read mode while only one access the disk in write mode. Sybase clustering solution
  • Disk and Memory Share : This is the purest version of clustering. Only Oracle RAC offer this feature. Servers are just CPU boxes and they share network memory and network storage. Complete fail-over solution. Extremely complicated to operate and very expensive.

In the next post we’ll concentrate on the performance of HA architectures.

Staypressed theme by Themocracy