Quantcast
Channel: The Ravello Blog
Viewing all articles
Browse latest Browse all 333

Test Upgrade of Microsoft Exchange Server 2013 using AWS EC2 Cloud

$
0
0

Microsoft Exchange

Microsoft Exchange Server is a leading business-grade messaging system adopted by companies worldwide. It offers a number of capabilities, including email, calendar, collaboration, task management, address lists, and access to shared document repositories, etc.

Consider the case of an organization that has a complex MS Exchange setup in their environment and they want to upgrade their environment and test certain functionalities without affecting the production environment. This scenario presents a multitude of challenges as Microsoft Exchange does not allow an in-place upgrade to a new version – the upgrade process involves installing the latest release of Microsoft Exchange on a Server such that both the old and new versions co-exist. Only then will its mailbox database be migrated from the older version to the newer version.

In Enterprise IT reality there are certain scenarios wherein multiple versions of Microsoft Exchange provide messaging service to the organization. When there is more than one version, you can’t directly upgrade from the oldest version to the latest one (for example, from Exchange Server 2003 to Exchange Server 2013). As a result, the costs associated with testing in such cases can be very high because it consumes a lot of precious resources and man-hours, and might hamper some functionalities as well.

With all these requirements, enterprises today are shifting to the cloud as the preferred option for their bursty workloads including dev/test, upgrade testing, UAT (User Acceptance Testing), and training environments. There are multiple cloud providers in the market, but it is very important for an organization to ensure that their on-premises configurations are cloned to cloud “as is”. Cloud based test environments help organizations achieve better agility by taking advantage of use on-demand and pay-as-you-go cloud models for both upgrade and performance testing.

In such scenarios, a public cloud with nested virtualization capabilities proves to be indispensable. When there are multiple versions of the Exchange Server, intermediate migrations can be performed on the cloud and the final testing can be carried out easily. For environments with a single Microsoft Exchange version, full-fledged testing can be done on the cloud to ensure proper functioning and customization. With the powerful nested virtualization technology behind Ravello, a user can clone their on-premises Exchange Server to Ravello/AWS along with preconfigured settings, migrate to a newer version, test the latest release, and explore its functionality to make it more customized, all without the need for any downtime or disturbances to the production environment. Nested virtualization enables a company to run their existing VMware-based workloads in any public cloud, such as AWS or Google Cloud, without modifying their VMs or networking. Ravello provides a platform that facilitates the import of virtual machines (VMware VMs or KVM VMs) and the deployment of the entire multi-VM workload into AWS (EC2) or Google cloud. With Ravello, importing a virtual machine image is as easy as uploading an object to AWS S3.

In this article, we will describe how to clone an on-premises Microsoft Exchange Server configured with High-Availability (HA) to the cloud so it can run on top of AWS EC2 or Google Compute Engine. We will upgrade the cloned Exchange Server in Cloud to showcase how easy it is to use Ravello cloud platform for development and testing.

We will be taking the following process to cloning and upgrade test the Exchange 2010 to Exchange 2013.

Test Upgrade of Microsoft Exchange 2013 using AWS Cloud

Register for Ravello to see first-hand how the Ravello service can benefit your organization.

The Exchange Environment Architecture and 2010 Environment Configuration

The diagram below shows a typical organizational architecture containing Microsoft Exchange Server. The mail server, “mail.contoso.com”, is in the Child Domain, the Parent Domain has a Domain Controller, “contoso.com”. The domain controller is also the DNS Server and a Certificate Authority.

Exchange Server Internal Communication

The Client Array Servers consist of the Exchange Servers (EXCH01, EXCH02, EXCH03) located in the Database Availability Group (DAG), and a Client Access Server (CAS) Array acts as a load balancer to cater to the email requests from the users.

The end-user using the Outlook Web Access (OWA) or Outlook Anywhere (OA) client sends a request to the CAS to obtain email data. The CAS sends RPC request over the HTTPS protocol to fetch information from Exchange Mailbox Database.

The On-Premises Microsoft Exchange Server 2010 Configuration

For the purpose of this guide, we took a reference architecture consisting of one domain controller, one additional domain controller, two Exchange 2010 servers in high availability mode and two Outlook clients with an access to the Exchange 2010 based email..

As shown in figure below, because Exchange Servers are one of the most critical parts of any organization communication, we have set up two Exchange Servers for high availability. It is recommended to run your environment on at least two Exchange Servers to achieve high availability and disaster recovery.

We also have an additional domain controller in our environment. ADC authentication is being used by all users to log in to any server.

Private LAN

We have configured Exchange Servers 2010 on both servers, and both are configured for high availability, meaning that when you shut down one server you will still be able to exchange email through the other server.

image01

We have taken two client systems with Windows 7, and installed Outlook 2010 on both of them. For all the users (Mike Rose and Harvey Specter in our example), you have to create mailboxes in your Exchange Server.

New Mailbox

Now you can check that if you are able to send and receive emails from Outlook users. As shown below, Harvey has sent a mail regarding a meeting Mike has replied to that mail message.

email

Cloning the MS Exchange Environment - 6 Steps

If you want to clone a similar environment to the cloud using Ravello, you need to perform these steps:

  1. The Domain Controller VM in the environment must be cloned on the cloud. Note that if there are different AD for internal and external networks, the one facing the internet must be exported first.
  2. The Child Domain VMs must be cloned.
  3. After the domains have been uploaded, the Exchange Server VMs need be uploaded onto the cloud using Ravello.
  4. You should now be able to see the VMs on the Library page in Ravello. Drag them onto the canvas and start the servers.
  5. Now validate the connection among all of these servers to ensure that they communicate properly. Once you are able to validate connection, you can try authenticating with your domain user on your server.
  6. To test if the environment has been cloned properly, send an email and check whether it is successfully sent by the Exchange Server.

Replicating of and On-premises Exchange Server 2010 setup from VMware to the AWS Cloud with Ravello

When working in a production environment, it is highly recommended to keep that environment separate, untouched by any unverified upgrades or testing as it can cause unnecessary downtime or might result in loss of critical data.

For this case, it is recommended that we clone our environment from on-premises to cloud for upgrade or testing using Ravello, and then perform all upgrade and testing activities on the cloud. Once we have replica of the production environment on cloud, a failure in testing will not lead to downtime in production and we can simulate production case.

To replicate your on premises environment too cloud using Ravello, you need to export your on-premises VM and then import that VM from the Library tab. We will be importing our domain controller, ADC server, both Exchange Servers, and both clients.

  1. Once your VMs are imported you will see the VMs in the Library page in Ravello.
    Applications
  2. From the Applications page, you can create your own application.
    New Application
  3. In the canvas that opens, drag and drop all the virtual machines that you uploaded to Ravello onto the canvas from the VM Library list (left pane). The screenshot below show that the VMs dragged onto the canvas.
    Drag VMs to Canvas
  4. All our on-premises VMs are now ready to publish. You need to publish all these VMs to cloud by clicking the Publish button. After publishing, you will see that all your VMs are started on cloud and your canvas will be similar to this one:
    Microsoft Exchange Canvas
  5. Right-click a VM and select Open Console to open it. The example below shows the VNC of our exchange server 1. We can see our mail boxes and that no data was lost.
    Exchange Server in VNC
  6. You can see that your on-premises environment was cloned “as is”.

This completes our first task of cloning an on-premises Exchange Environment to Cloud.

Upgrading Exchange 2010 to Exchange 2013

In the previous section, we saw how easy it is to replicate your on-premises environment to cloud using Ravello. Now if you want to perform some tests or verify how to upgrade from Exchange 2010 to Exchange 2013 will be executed, you can perform this activity in cloud using the Ravello test environment in the cloud.

To upgrade from Exchange 2010 to Exchange 2013 you need to perform these steps.

  1. Create your Windows Server 2012 virtual machine in Ravello using the ISO file.
  2. Download Exchange Server 2013 setup.
  3. You might need to install a few prerequisites, such as: “Install-WindowsFeature” (install using the using Powershell scripts command, as shown below)
    Powershell
  4. Install Microsoft Unified Communications Managed APIs
  5. Once done you can install the downloaded Exchange 2013
  6. After installation, you can use Outlook Web Application to migrate the existing mailboxes to 2013 Exchange Server.

As you can see below, when the migration is complete, the upgraded Exchange Management Console will show the mailboxes as needed.

Exchange Management Console

Machine

Final Notes

In this article we demonstrated that cloud provides an agile and scalable option for development and testing. In this use-case, Ravello’s nested virtualization allows you to clone your on-premises Exchange infrastructure to a public cloud such as Google or AWS. Though we have illustrated a basic setup for Exchange cloning, you can perform similar steps to clone your multi-node, clustered Exchange infrastructure to cloud.

We also demonstrated how you can use Ravello to perform Exchange 2013 upgrade. Once your upgrade test in the cloud is successful, you can perform similar tests in your VMware-based production environment by following similar steps.

Register for Ravello’s free trial to evaluate how it can benefit your organization and help supercharge the application development process.

The post Test Upgrade of Microsoft Exchange Server 2013 using AWS EC2 Cloud appeared first on The Ravello Blog.


Viewing all articles
Browse latest Browse all 333

Trending Articles