Introduction to Application Migration with AppZero SITPUG event, August 5, 2015 Mark Wheatley, Principal Instructor, Infront Consulting Group Mark.Wheatley@infrontconsulting.com, www.infrontconsulting.com
Outline: AppZero Features and Capabilities Overview of the Migration Application Process Overview of AppZero Architecture Virtual Application Appliance The Tether Process Docking and Undocking VAAs Dissolving VAAs Walkthrough of the Application Migration Process 2
Overview of the Application Migration Process AppZero does for apps what VMs do for machines Source Machine Destination Machine Discover Copy & Run Extract VAA Dissolve & install AppZero extracts existing enterprise applications and packages them into VAAs that can be provisioned and run natively on any OS, machine or cloud, fast. (including managed clouds) 3
High level steps: Install AppZero on the Destination Appzero Installed Source server Destination server Install AppZero on the destination machine. AppZero is not required on the source machine. AppZero deploys CLI and GUI tools to perform the migration 9
Architecture Virtual Application Appliance (VAA) VAAs decouple an application from the operating system and its underlying infrastructure Can be freely moved among physical and virtual servers Move apps from between Windows server operating systems or between Windows desktop operating systems 5
AppZero Graphical tools Tether and Admin consoles Tether console Admin console Focus on prescriptive migration VAA creation only VAA creation and full management 6
The Tether Process Connecting to the source machine from the destination is known as tethering Performed via the AppZero Tether console or Administrative console Complete Prerequisite Steps Create VAA and Tether Application Run the VAA Application on Destination Run AppZero Dissolve 7
High level steps: 1- Establish the connection VAA Source server Connect to source Destination server Establish the connection between the destination and the source machine This associates the connection to the VAA container. It is done through IP address (or fully qualified domain name) and local administrator credentials 8
High level steps: 2- Identify the application to migrate VAA Source server Destination server There are many applications on the source, you need to identify the application you want to migrate AppZero is not a full VM migration, it migrates only the applications you select 9
10
High level steps: 3a- Migrate the application migration VAA Source server Destination server You start the migration by starting the applications on the destination. AppZero is an intelligent discovery tool that extracts and copies the application (and its dependencies) from the source to the destination machine as the application runs 11
High level steps: 3b- Exercise as much as possible migration VAA Source server Destination server As the application executes, AppZero detects dependent applications. However, you need to exercise the application components as much as possible (*). Migration into the container is then completed 12
High level steps: 3c- (optional) Disconnect from the source & Validate VAA Source server Destination server As a best practice, disconnect from source and validate without the connection to the source. You are validating the VAA contains everything you need 13
High level steps: 4- Deployment Options Run in the VAA container VAA VAA Destination server Destination server Run natively outside the container Destination server You have several deployment options for the application: 1. Run *dissolve* to deploy the contents of the container to the host underlying OS, running natively. AppZero can then be removed 2. Continue running your application in the VAA container 3. Compress and move the VAA to another machine 4. All of the above 14
Docking VAAs Docking a VAA integrates and prepares the VAA s environment as part of the underlying operating system so that the application is ready to run. Only users with computer Administrator privileges can use the Dock command. 15
Undocking a VAA Undocking a VAA makes the VAA unavailable by stopping services and removing the VAA s registry entries and file set from the underlying operating system. Then, the VAA is unregistered from AppZero Users and groups exported from source and created are not removed after appliance is undocked. They are added to the destination unless you remove them. 16
Dissolving VAAs Once you have tested the application in the VAA, you can install on the destination by dissolving the VAA. Removes the AppZero encapsulation from the application on the destination machine Transfers the application to the underlying OS as though it is locally installed Performed using the appzdissolve CLI tool 17
DEMO MIGRATING A WINDOWS APPLICATION WITH APPZERO 18
Which Apps are not to be Migrated with AppZero The bad are apps that will not work with AppZero: ( known to be incompatible at https://www.appzero.com/policies) Exchange SharePoint based apps System level tools (debuggers) LDAP 16 bit apps Browsers (IE, Firefox, Chrome, Opera, etc.) 19
Which Apps Work with AppZero with some Effort The ugly are apps that will require scripting in order to migrate; reinstalling on the destination machine is the recommended approach: Antivirus Backup Kernel drivers (i.e. printers, etc.) **These are now identified as unsupported bad by AppZero** Applications that depend on specific hardware 20
What kind of effort? Tuning / Scripting Scripting is sometimes required in order to migrate apps. Common use of scripting address the following migration challenges Hostname/IP address contained in a DB (Many WebSphere apps) Hostname/IP address contained encrypted files (MS SQL Reporting Service) Relicensing of applications keys that are dependent on SIDs, machines GUIDs 21
Good Candidates - Databases Databases Product Oracle Database 10g Oracle Database 11g Microsoft SQL Server 2005 SP4 Microsoft SQL Server 2008 R2 IBM DB2 Enterprise Server 9.0 IBM DB2 Express-C 9.7 MySQL Community Server 5.1 MySQL Community Server 5.2 PostgreSQL 8.3 PostgreSQL 8.4 PostgreSQL 9.0 Apache TomCat Derby 10.5 (JAZZ) 22
Good Candidates Application Platforms Application Platforms Product Oracle WebLogic Server 11gR1 (10.3.5) IBM WebSphere Application Server V8 Apache HTTP Server 2.2 Apache Tomcat Server 5.5 Apache Tomcat Server 6.0 Java Platform, Standard Edition 1.5 Java Platform, Standard Edition 1.6 Java Platform, Standard Edition 1.7 Microsoft Dynamics GP Microsoft Dynamics CRM 2011 Umbraco (CMS SQLServer/IIS) 23
Good Candidates Application Platforms (cont..) Application Platforms (cont..) Product Laserfiche: CMS (SQLServer) Alfresco (Document Management) CACI Officebase (Unidata db/redback) Drupal 6 MediaWiki WordPress 24
Good Candidates Desktop Applications Desktop Applications Product MS Office 2003 MS Office 2007 MS Office 2010 OpenOffice Adobe Reader 25
Application Migration Pre-flight Checklist Before migrating an application, there are several items you should check first: AppZero installed on the destination machine Local Built-in Administrator credentials for both source and destination machine Port 445 (SMB) open on source, and source machine is accessible from the destination Appropriate ports are open on the destination machine to support migrated application(s) 26
Application Migration Pre-flight Checklist (cont..) Do not install antivirus software on the destination until after the migration is complete (That is, after DISSOLVE is done and AppZero is uninstalled) Make sure that the destination server has adequate capacity to run the applications you are migrating Make sure that the drive on the destination server where the VAA will be created has enough space to contain the entire application Compatible operating system on source and destination machines 27
Verifying Migration Readiness Verifying migration readiness (compliance with the checklist) can be accomplished by: Running the appzprecheck.exe CLI tool Via the AppZero Tether console Via the AppZero Administrative console Creates a the Migration Precheck Report Path - C:\appliances\<VAA>\ctrack\Log A link also appears in the AppZero UI 28
Verifying Migration Readiness If possible issues are detected, the link will include a warning message You should resolve all issues in Precheck Report before proceeding with migration 29
AppZero Logs AppZero provides several logs to assist with troubleshooting Logs are located on the file system, but are accessible through the Administrative Console 30
AppZero Log Levels (cont..) AppZero Logs Activity Error Tether Compression Dissolve IIS Migration Tether Sync Set the logging level in the Logging Options menu in the Administrative console 31
Basic Troubleshooting Process High-level troubleshooting recommendations: Verify Precheck Report is clean If the migrated app fails, examine application errors for indicators of root cause If no help, check the AppZero logs for clues If no help, increase log verbosity and re-attempt the migration 32
DEMO VIEWING AND CONFIGURING APPZERO LOGS 33
Migration Project Flow Evaluation Checkpoint Discovery Validation Migration 34
AppZero Pilot Migration Methodology WEEK 1 WEEK 2 Evaluation Initial call to evaluate proposed pilot apps and gather information about pilot scope Checkpoint Finalize timeline/scope and assign AppZero and customer owners Discovery Inspect source environment using manual and automated methods Validation Validate prereqs were met on destination, install AppZero and test connectivity Migration Perform pilot migration as planned, allowing for up to 2 iterations App/OS versions, storage,services,etc. Desired timeline Pilot constraints Customer success criteria and expectations Distribute prereq docs * (need what you must have to succeed. 2-hour technical workshop.) Review timeline and scope Identify customer admin to provide credentials in each of the next steps (Also the App Owner) Identify pilot source machine and network connx. and service mapping. Discovery Readiness Pilot SOW Signed Install and run AppZero Discovery tool PACE (if needed) Manually navigate app environment Validate evaluation information collected Create final migration plan Install AppZero Install other components such as web deploy (if needed) Test source to destination connectivity for all components, involving App Owner. Gather any additional details Kickoff migration with AppZero tool Migrate into VAA Customer test to ensure migration meets success criteria Draft and deliver pilot migration debrief Careful to test on destination server if it writes production data. 35
DEMO MIGRATING AN IIS APPLICATION 36
Migrating Multi-tier Applications Examples DNN (.NET, SQL) WordPress (Apache, PHP, MySQL) Legacy multi-tier applications bring with them some additional considerations Components may be installed on multiple machines Location of database connection strings may not be known or may be hard-coded in application binaries 37
Migrating Multi-tier Applications When components are installed on different machines Hard-coded connection information may be a problem You may have to use Hosts file to provide name resolution during testing Change DNS later (after you run dissolve on destination) 38
DEMO MIGRATING A MULTI-TIERED APPLICATION 39
Summary and Additional Resources AppZero documentation is available online at http://docs.appzero.com and includes: Installation Guide Administration Guide Migration Guide Troubleshooting Guide Reference Guide 40
41
42
43