here). Google Sync works automatically, and replaces all existing contact and calendar information on the device, so sync-er beware -- we wouldn't let Google get close to our contacts without some serious preflight cleanup and maintenance. Google Apps users can enable the service per domain. There's an explanatory video after the break.
Update: SyncML doesn't "officially" support calendar sync, though experimental types can add "calendar" as a remote database. Sounds like a thrill ride! [Thanks, Nikolay]