Let’s be honest — switching from one software product to another is an ordeal, and it’s made even worse if you’re migrating your business to an entirely new office suite.

Google Apps, the suite of office tools and software from Google, is gaining traction in the enterprise and seeing many new customers make the switch from Microsoft. Whatever the reason for businesses to make the switch, there’s still the issue of dealing with migrating data and employee contacts.

Previously, Google offered a migration service in the Admin console to assist with email migration, but recently updated it to include support for contact migration from Microsoft Exchange (2007 and above) and Microsoft Office 365 directly to Google Apps.

If you are a Google Apps admin and want to perform a migration, you must first make sure you meet the prerequisites for using the data migration service.

According to Google support, you can migrate both email and contacts from the following legacy environments: “Exchange Web Services (EWS) environments, such as Office 365, and Microsoft Exchange Server 2007 SP1 or later.”

However, some legacy environments only support email migration. Google lists those such environments as: “Internet Message Access Protocol (IMAP) environments, including Gmail, IBM Domino, Exchange 2003, or lower, and ISPs such as GoDaddy.”

For this to work, your legacy server must have an SSL certificate that is both signed and trusted by a third-party root certificate authority. The data migration service will not work with a self-signed certificate.

For additional prerequisites, be sure to check out the full Google Apps admin support article before proceeding.

It’s important to note that only single types of data can be migrated at a time, meaning that you will not be able to migrate your email and contacts at the same time. Each will have to be migrated separately.

Let’s start with the newest feature of migrating contacts. From your Admin Console, you’ll start by selecting “Migrations.” Then select “Contacts” and click “Continue.” On the following page

you should select your server from the drop-down menu titled “Where are you migrating from?”

After choosing the server to migrate from, you’ll need to select the connection protocol. You can choose to have it auto-select, or you can manually choose. Next, enter the admin credentials for the server you’re migrating from. Click “Connect” and then click “Select Users.” You check the box for all users, or individually select each user. When you’re ready to migrate contacts, click the right arrow button.

To migrate non-Gmail email, you will begin the same way. Select “Migrations” from your admin console, click “Email” and then click “Continue.” Next, just like you did with contacts, you will select the server and connection protocol.

As you go to enter the admin credentials, what you enter will depend on the type of environment you are coming from. For an Exchange environment, enter the Exchange admin credentials.

According to the Google support site, if you’re coming from an IMAP environment you should be able to enter the username and password of any account on the legacy server, because the service only uses the credentials to verify connectivity. Click “Connect.”

If detection fails, according to Google support, you may need to enter the connection protocol manually or the server URL before clicking “Connect” again. Exchange environments will require the full mail server URL including including [https://]. IMAP environments will require the name and port written as Name: Port.

After choosing your migration period, click “Selects Users” and select the boxes for the users you want to migrate, just like you did with the contacts. Make sure you verify the emails on both the legacy side and with Google Apps before continuing.

If entering passwords, the process will be a little different between Exchange and IMAP. For an Exchange migration, you only need to enter a user’s existing Exchange password if it is different than his or her Google Apps password. However, for IMAP, you’ll need to enter the password of each user that is migrating. When you’re finished, click the right arrow button to start the migration.

Migrating from an existing Gmail has a different set of steps than migrating from other email accounts. Follow the same steps as above to get started, but when you’re asked where you are migrating from, select Gmail and click “Connect.”

You’ll then be given the option to choose a migration period, and you’ll also have the option to choose if you want to migrate certain folders or deleted and junk mail too. Once you’ve made your decisions, click “Select Users.”

Once again, you can choose to migrate all users, or manually select which ones you want to migrate. Correct any errors in the user email addresses you see and then click “Authorize.” You should see a box that says “Authorization Required.” Read the copy and click the link in the box. The user who own the account may have to enter his or her credentials before proceeding.

Next, the owner of any migration Gmail account must then accept the permission request to access their account by clicking “Accept.” You’ll then be given an authorization code that you will copy and paste into the field labeled “Authorization Code” and then click “OK.” Then, click the right arrow button to start the migration.

Moving day is always difficult, but hopefully this will eliminate some headaches for you in migrating users to Google Apps.