Windows Virtual Desktop and Windows as a Service

clip_image002[1]Many years ago, I argued with a friend of mine in Redmond that eventually even the Windows client operating system would be virtualized, just like Windows Server. He swore that would never happen. Since then the windows client OS has been virtualized in the form of bootable VHDs (I should have made a bet with him back then. Smile)

Predicting the future is risky, however it is pretty clear to me that we are now moving towards Windows as a Service (WaaS) or even Operating System as a Service (OSaaS). There is a lot of evidence to support this. That follows the path of Microsoft office, once an application completely installed on a computer now delivered in large part as a cloud-based service.

With the advent of the pandemic and the need to support remote and even home-based workers on all kinds of devices Windows Virtual Desktop (WVD) has suddenly become in great demand. Microsoft has gone through several iterations of offering Windows as a Service starting with partial solutions such as App Virtualization, Terminal Services, and Remote App and there have been 3rd-party solutions such as Citrix supporting this as well.

The latest offering in this family is Windows Virtual Desktop (WVD)

If we look at the challenges of delivering Windows as a Service, we must consider the requirements and what WVD provides or will provide in the near future to support this mode of delivery.

At its core an operating system is just the collection of files that implement it and the in-memory image of the running operating system.

  • The operating system software (Kernel, Device Drivers, and Utility software)
  • User management data (A User Profile either stored on the operating system disk or loaded from a shared remote location)
  • Applications that are often installed on the same operating system disk.
  • Persistent Data Files that are frequently stored on the operating system disk as well.
  • Non-persistent data used during OS and application execution.

Once all these files and data have all been virtualized then an operating system can be truly user and device independent and able to be delivered remotely and dynamically. It should not matter if the virtual machine that is hosting it is the same one that hosted it the last time that the user logged on.

Concurrent with this is the need to be efficient in having large numbers of users accessing a smaller number of OS images running in the service. The new Multi-session version of Windows supports this very well just as Windows Server has done for a long time. Of course, in cases where dedicated images are required WVD supports that as well.

So, what is there now to address these requirements?

If we look at the operating system as just a collection of files as discussed above, we can focus on the virtualization of the other components,

  • The Operating system
  • The user’s profile, unique to the user that can be stored externally to the OS and traveling with the user from computer to computer when necessary. FSLogix Roaming Profiles is currently the main way to support this.
  • Data Files which can be stored in a commonly accessible data store such as OneDrive or (in the case of a VM running in Azure) in Azure Files Storage.
  • Installed applications, which can be separated from the operating system and virtualized with a technique such as MSIX App-Attach which is currently in technical Preview. MX App-Attach places installed applications in an external VHD that can be mounted to a user’s session when they log on.

The pandemic has given a boost to the need to support remote workers on all kinds of devices that they own. Although not the only reason to use it we believe that is what has given it a boost. As the technology matures there will be even more reasons for companies to adopt it. And Operating System as a Service is fast approaching.

Posted in Microsoft Azure | Leave a comment

The Path to Successful Azure Adoption

image

Last month I posted an article: An Azure Migration Assessment Methodology that give guidance on how to perform a Migration Assessment project as part of a move to Azure. Back in 2017 I blogged about a company’s Azure Maturity Level. And way way back in 2011 I co-authored an article The SaaS Development Life Cycle to give companies guidance on how to approach their first Azure project. (In 2010 the Azure public cloud had just been released so there was not a lot of guidance about that subject anywhere.)

I have been working with Azure since before it was called Azure (back when I worked at Microsoft in 2007). Most of my time since then has been helping clients adopt Azure successfully.

In working with those clients, I have observed that a company’s Azure maturity level with respect to cloud adoption falls into four stages:

Evaluation

Companies that are interested in moving some servers or applications (assets) to a public cloud, but have not yet selected either those assets, or even the particular public cloud to use. These companies need help in selecting the appropriate cloud. Since I am an avowed Azure enthusiast, I will assume from here on that they have selected Azure.  Smile

Pilot

Organizations that have selected Azure and want to perform a pilot program to evaluate the feasibility of a more major migration. Let me be blunt. Since their staff usually has no cloud expertise, they will need help to do this. They will also need help in acquiring the required training in Azure.

In some cases, they may have a specific pilot application in mind. If not then they may need a formal Migration Assessment to verify that the assets are appropriate to move.

In some cases, they will need help to assess their current assets and determine if a) they are ready to move to Azure with no changes, b) They can be moved to Azure with minor changes or c) they are not good candidates to move to Azure.

A Migration Assessment can also right-size the assets if desired, since most data center resources are way over-provisioned. The Migration Assessment can result in the selection of the pilot asset and also the planning for the next phase, a more major migration involving additional assets.

Migration

Companies that have completed their pilot project and are planning a larger migration. These companies may have already completed a Migration assessment in the previous phase in order to decide on pilot assets to migrate, or they may have skipped the assessment in the previous phase because the already had an asset selected for the pilot.

The next step is to develop a complete migration plan. This will involve partitioning assets into Build groups according to the applications that they support. Following this the Build Groups must be further structured into migration Waves for migration scheduling purposes. Waves (like development sprints) are the units of completing migration groups.

Optimization

There is one more major category to consider, Companies that have a significant presence in Azure, but have not paid particular attention to governance, cost management and/or performance optimization. These companies definitely need help in optimizing their use of Azure and putting the appropriate governance controls in place.

Conclusion

Companies moving to Azure come in all shapes and sizes. Everything from just thinking about the cloud to proceeding to a pilot Azure project or a major migration. A significant number of them have assets currently in Azure but are not satisfied with the results as discussed above.

A good consultant has to customize what they offer to solve the client’s particular business problem and not just provide a general off-the-shelf one-size-fits-all solution. That is what I have tried to do over the years.

I hope this helps.

Bill Zack

Posted in Assessment, Cloud, Cloud Computing, Governance, Microsoft Azure, Migration | Leave a comment

Azure: What to use When! [Online Meeting] UPDATED

As many of you may know I founded and run the Nashville Microsoft Azure Users Group. This group has grown quite a bit in the last year. We now have over 1,500 members!

Nashville Group Logo - Copy

As a result, we have quite a few members who are just starting out with Azure, as well as many who are already proficient with Azure and operating at an advanced level. We do try to mix up our presentations to cover all member’s interests. We have had everything from introductory presentations to more advanced topics. Lately we have been focusing a bit on deep dives.

For our May 21st 2020 meeting we will cater again to those who are new to Azure, or who have not been keeping up to date on the latest Azure developments. If you are in the novice category great. But even if you are more advanced you are more than welcome to participate and share your experience.

Presentation Details

This online presentation will be an architectural overview of the Azure platform, its features and services. Since Azure is a very broad offering, we will focus on the question of what the Azure Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) features are, and when they should be used to solve specific business and technical problems.

If you are new to Azure, or not conversant with all its recent enhancements, this presentation will give you a good overview, not too deep, but deep enough to understand what to use when.

Agenda

• What is Azure?
• Why adopt it?
• Azure Resource Management
• Compute Options
• Azure Storage
• Databases
• Business Continuity (Backup and Disaster Recovery)
• Networking
• Security
• Virtual Desktop
• IoT & Analytics
• The Future of Azure

Registration Link

Bill Zack

UPDATE: You will find the recording here.

Posted in Architecture, Cloud, Cloud Computing, Microsoft Azure, User Groups | Leave a comment

An Azure Migration Assessment Methodology

See the source image

Introduction

As many of you may know I have been involved with Azure from its very beginning. As a Microsoft Architect Evangelist, and later as a Consultant, I have helped many Microsoft customers and partners adopt Azure successfully.

Some of these engagements have involved creating brand-new greenfield applications to run in Azure. However, many of them have involved either the migration of existing on-premises applications and infrastructure to Azure or the implementation of a Hybrid approach that spans both Azure and on-premises infrastructure and applications.

When faced with the desire to take advantage of Azure in some effective way most companies are in a quandary as to what to do first and how to go about it. For many of them we have recommended and executed a Migration Assessment Project. That is the subject of this article.  It covers what is in and out of scope for each phase, the deliverables of each phase and the actors involved.

In this article we assume that the project will be delivered by a Consultant (or a consulting firm) to a Client company. Note that this methodology is also suitable for internal use within a company.

It covers everything from the time that an initial Statement of Work (SOW) is signed until the final Assessment Report is delivered. It does not include the procedure for developing an SOW, as that will differ by company.

It also does not include detailed procedures for installing any automated analysis tool like Cloudamize, Movere or the Azure Migration Assistant, although such tools are highly recommended.

It also covers only Migration Assessment. Procedures for detailed Migration Planning and Execution are out of Scope for this document. However, at the end of the Migration Assessment Project a rough preliminary plan may be developed. How far to go with that should be agreed upon prior to the assessment.  Note that Planning involves developing a detailed plan for migrating specific applications/systems/workload to Azure. Migration Assessment stops with the identification and prioritization of the applications/systems/workloads that are likely migration candidates.

We have taken the approach here of just listing bullet points in most cases because explaining every one in depth could result in a book-sized document instead of a blog post. clip_image001 Nevertheless, this should give you a good starting point.

The Procedure

Phases

Every Migration Assessment project has the following work phases:

  1. SOW Completion
  2. Internal Project Preparation
  3. Pre-Kickoff
  4. Kickoff
  5. Functional Meetings
  6. Analysis
  7. Engagement Completion

SOW Completion

SOW Development occurs some time before the Migration Assessment project itself. We are including it here for completeness even though it is not strictly speaking a part of Migration Assessment. It covers from the time that an SOW is deemed necessary until the SOW is actually approved by the Client.

Internal Project Preparation

This phase is internal to the consulting organization executing the project.

  • Review the signed SOW.
  • Identify and commit the Consulting Resources to work on the project.
  • Create a Project file in a plan repository such as SharePoint.
  • Determine if an automated discovery tool like Cloudamize, Movere or Azure Migrate will be used.

Pre-Kickoff

  • Ask the Client to fill out a Pre-Migration Assessment Questionnaire. This should include questions on business objectives, facility locations, technologies in use, licensing considerations, etc..
  • Schedule the Kickoff meeting.
  • If a discovery tool will be used:
    • Install the discovery tool one to two weeks before the Project Kickoff. Let the tool run for at least one week.
    • Run the tool reports at the end. Format the results in Recommendations Format. Be clear that these are only preliminary results.
  • Ask the Client to identify and commit resources from the Functional Areas for each meeting. These areas may include:
    • Business stakeholders. (For information on deadlines, mergers, etc.)
    • Application Development. (if required)
    • Network architecture & operations.
    • Server architecture & operations.
    • Support. (Help Desk, Tier1/Tier2 support)
    • Application Development support. (Quality Assurance, Production migration, etc.)
    • Identity. (Active Directory)
    • Security. (Chief Security Officer, Security analysts, etc.)
    • Storage and/or Database management.
    • Enterprise Architecture.
  • And if relevant:
    • Sales.
    • Marketing.
    • Line of Business Managers.

Prepare an hour-by-hour Kickoff meeting agenda. Also prepare a presentation deck for the meeting.

Kickoff

Conduct the Kickoff meeting.

  • Review the SOW and explain the Migration Assessment process.
  • Determine if the Client has any preference for which applications or workloads they would like us to focus on first. Often a Client will have determined preferences in advance.
  • Prepare for the Functional Meetings  by reviewing the tool reports (if used) and any  other initial documentation provided in advance.
  • Collect existing documentation (Server/Workload/Application inventory) where available. This can be used to determine interview order.
  • Identify the stakeholders who must sign off on the results.

Functional Meetings

Meet with the relevant audience, review the Pre-Assessment Questionnaire and confirm responses. Fill in any gaps.

  • Review the relevant questions for that audience as well as any additional questions that we need answered to find out what else we need to know.
  • Discuss the preliminary tool recommendations (if used). Explain that this is a first look and not final. Form conclusions and/or determine the need for additional information.

Analysis

There are two methods to be defined for discovery and analysis: an optional automated tool, like Cloudamize, Movere, Stratozone or Azure Migrate, and Manual Discovery. Even in the case of tool based discovery manual analysis will still be required to complete the process and draw conclusions from the data. Tool reports will just be used as input to the process.

In the case of Manual Discovery, perform the discovery process manually by collecting architecture and workload data on potential applications and workloads that are appropriate to move to Azure.

  • Analyze application/system/workload documentation provided by the Client.
  • Develop Current state and Desired State. (What does the tool , if used, suggest?)
  • Review candidate applications for Cloud appropriateness (Fit). Evaluate whether the application is appropriate for running in the Cloud.
  • Determine Business Criticality of the application.
  • Evaluate potential Risks & mitigations.
  • Develop a high-level cost/benefit analysis. Identify low-hanging fruit, minimum Time to Value (TTV) opportunities and the Return on Investment (ROI) of moving selected workloads/systems/applications to Azure.
  • Determine migration approach such as Infrastructure as a Service (IaaS), Platform as a  Service (PaaS), Software as a Service (SaaS) or a Hybrid approach.
  • Determine the specific techniques to be used:
  • Rehost (Lift and Shift as-is to the cloud. Host in a VM or PaaS Compute platform such as Web Apps).
  • Refactor (Move to Azure with some modification to take advantage of Azure PaaS Services such as Azure SQL Database).
  • Reengineer (Restructure the complete application to take advantage of things like Microservices, Containers, Serverless computing, etc.).
  • Identify the physical servers or VMs that support each application/system/workload.
  • Develop a preliminary priority list for Migration to IaaS, PaaS, SaaS or Hybrid.
  • Review tool data. Look for exceptions that might preclude tool use (disk size, IO, performance, configuration, etc.).
  • Determine servers and/or VMs that are related and group into potential migration sets.
  • Consider ease of migration and tools/approach to be used.  Consider suggested migration tools to be used such as Azure Migrate, Azure Database Migration Service, etc..
  • Define supporting infrastructure changes required, if any.
  • Identify Backup and Disaster Recovery (DR) requirements.
  • Determine Multi-Region strategy if required.
  • § Rank applications/systems/workloads on a grid. Answer the question: Why this one vs. that one?

Engagement Completion

  • Hold Internal Consulting review.
  • Hold Post analysis review with the Client.
  • Make recommendations on what needs to be done next.  That could include Migration of the top 5 targets.  It may also include a preliminary Migration Plan, although that plan will need to be refined following the Migration Assessment.
  • Deliver preliminary cost for the proposed migrations.
  • Evaluate the Client’s fitness to adopt Azure. (See  What is your Azure Maturity Level? ) This should include considering Technical and Business considerations, staff skills, etc.
  • Determine the required training for the Client to make them ready for Azure and to be self-sufficient afterwards.
  • Determine if the migration(s) should include a change in culture to DevOps.
  • Hold the project close out meeting.
  • Submit final consulting invoice to the Client. clip_image001[1]

Conclusions

An effective Azure Migration Assessment is critically important to the success of a company’s transition to Azure. No-one should attempt migration without a solid assessment and a plan.

Although the methodology set forth herein may not be applicable in every case or usable as-is for every Migration project we feel that it will be useful in developing your own assessment and guiding you to a successful migration to Azure.

As always, we are interested in what you think. Let us know if you agree, disagree or have suggestions for improvement.

Bill Zack, Azure Architect.

Posted in Assessment, Cloud, Cloud Computing, Governance, Microsoft Azure | Leave a comment

A few simple rules for Working From Home

Thanks to the Covid-19 pandemic a lot of folks who traditionally worked from an office daily are entering the new world of Working from Home (WFH).

It is pretty clear to me that this is not just a temporary situation. Things will never be 100% back to not WFH again.

It seems like everyone and his brother are on social media discussing this and explaining how to do it successfully. I am no different, however, I have been doing it for over 14 years! I have a simple set of 4 rules to live by that have worked for me.

1. Be dressed and at your desk by 9AM every morning.

2. Set daily work and personal objectives for the day and week. There are many planning tools that you can use but I find that a simple spreadsheet with no more than three columns works best for me. (Someone once said that if you have more than 3 priorities then you have none!) 

In my case they are Work, Personal and Technical Community tasks. (I run a  1,500+ member Microsoft Azure Users Group that I founded and run in Nashville Tennessee as well as my “day job” as an Azure Architect with Planet Technologies helping our clients adopt Azure successfully.)

Here is a sample of mine. (Redacted of course Smile)

image

Incidentally, I also keep a log of how I spent my time each day.

Yes, I know I cheat a bit on the subject of only three priorities since I have separate list for education. Smile (I spend about two hours a day keeping up with Azure.)

3. It is OK to do personal stuff in the middle of the day, but see rules 2 and  4.

4. Keep close track of your time!  It is a precious commodity and will disappear quickly if you are not careful.

Welcome to the new world of WFH! Smile

Bill

Posted in #WFH | Leave a comment

Nashville Global Azure 2020

The April 25th, 2020 Global Azure event in Nashville has been cancelled!

Global Azure events all over the world have been cancelled due to the Covid-19 virus. (See https://globalazure.net/Blog/Post/190/Global-Azure-and-COVID-19)

Because of this we will not be holding our April 25th Nashville Global Azure 2020 event. We will continue to hold our monthly meetings on the third Thursday of every month starting on March 16th.

We will try and reschedule the Nashville Global Azure 2020 event for some time later this year. Make sure that you are registered at https://www.meetup.com/The-Nashville-Microsoft-Azure-Users-Group/ in order to receive future announcements.

In the meantime, we will be contacting all presenters and sponsors to see if they want to present or co-sponsor an any of our monthly meetings.

===========================================================

Original announcement:

This year’s Nashville edition of the annual Global Azure day-long worldwide event will be held on Saturday April 25th. Here is where you can register.

Many of the details are still being finalized, however, we are currently soliciting presenters and local sponsors. There will be a number of global and local sponsors, including Microsoft that will be providing food and other SWAG as well as raffle prizes for the event. (See this blog post from last years event for an idea.)

The tentative agenda is posted below. Note that we still have a couple of open presenter slots left. If you have a topic that you would like to present, please let us know at wzack@live.com.

If your company would like to sponsor the event, provide raffle prizes or other SWAG then let us know that as well. For that please contact Roger Dahlman: roger@dahlman.net.

Current sponsors are:

  • Microsoft
  • Vaco
  • Provisions Group
  • Snowflake
  • Planet Technologies

And if you would like to volunteer to help with the event in other ways let us know that as well.

This will be a free event.

Tentative Agenda:

image

Bill Zack, President, The Nashville Microsoft Azure Users Group

Posted in Event, Microsoft Azure, Windows Azure | Leave a comment

Azure Governance: The Key to Azure Success

image

A while back I did a blog post titled: “Is Azure Adoption Too Easy”. That title raised a few eyebrows.

Let me be perfectly clear; I have been working with Azure since before it was called Azure. I discovered it when it was an internal project at Microsoft and immediately knew what I wanted to specialize in. Azure is in my blood. I founded the Nashville Microsoft Azure Users Group with four members two weeks after I moved to Nashville. Now we have over 1,400 registered members.

That blog post was just to emphasize how easy it is to throw something up into Azure, take all the defaults and get it running without a lot of planning. There is nothing wrong with that approach for initial experimentation. However; a production implementation requires planning and planning requires the implementation of good Governance.

The Business Dictionary defines Governance as “Establishment of policies, and continuous monitoring of their proper implementation, by the members of the governing body of an organization. It includes the mechanisms required to balance the powers of the members (with the associated accountability), and their primary duty of enhancing the prosperity and viability of the organization.”.

Good Azure Governance requires up-front planning. Microsoft has done an excellent job of defining Azure components and services to support it. To be successful in Azure companies have to be pro-active in adopting those Azure features. I spend a lot of my time presenting on these topics at Planet Technologies Azure workshops that we give for our clients to insure that they adopt Azure the right way.

For those of you who are in the Nashville area we will focus on Azure Governance at the January 16th meeting of the Nashville Microsoft Azure Users Group. Join us if you can.

Bill Zack, Azure Architect

Posted in Cloud, Cloud Computing, Governance, Microsoft Azure, User Groups, Windows Azure | Leave a comment

The Nashville edition of the 2019 Global Azure Bootcamp was a great success!

We had a great 2019 Global Azure Bootcamp event in Nashville on Saturday April 27th

Approximately 80 Azure enthusiasts attended the event. Next year we will probably have to move to bigger space since we could not accommodate everyone who wanted to attend.

I could write volumes about the event but, since a picture is worth 1,000 words, here are some pictures. Open-mouthed smile

clip_image002

The Agenda

image

Lee Cox from Microsoft Delivered the Keynote on the Azure Roadmap

clip_image006

I presented a Session on Disaster Recovery with Microsoft Azure Site Recovery

clip_image008

We had a vigorous Ask the Experts Q&A Panel

clip_image010

These were the Global Event Sponsors who donated raffle prizes

clip_image012

We also had several local event sponsors

clip_image014

In addition to Global Sponsor raffle prizes we had three local sponsors donating big raffle prizes

clip_image016

Here is the happy Drone winner

clip_image018

And the winner of the cool Xbox/PC Gaming Keyboard

clip_image020

And of course the Apple Watch Winner

clip_image022

We had lunch from Subway courtesy of Microsoft and the morning break courtesy of Provisions Group.  Vaco provided ice cream for our afternoon break.

clip_image024

This montage would not be complete without thanking our great volunteers who made this event happen.

clip_image026

Remember that our monthly Azure group meetings are every 3rd Thursday of the Month at Microsoft in Nashville.

See you there.

Bill

Posted in Cloud, Cloud Computing, Event, Microsoft Azure, User Groups | Leave a comment

The Nashville edition of the 2019 Global Azure Bootcamp

As many of you may recall we have been holding our edition of this annual day-long worldwide event here in Nashville for the past few years. (See https://cloudyinnashville.com/2018/04/ and https://global.azurebootcamp.net/)

This year it will be held on Saturday April 27th.

Many of the details are still being finalized, however, we are currently soliciting presenters and local sponsors. There will be a number of global sponsors, including Microsoft that will be providing food and other giveaways for the event.

If you have a topic that you would like to present, please let me know at wzack@live.com.

If your company would like to sponsor the event, then let us know that as well. For that please contact Roger Dahlman: roger@dahlman.net.

And if you would like to volunteer to help with the event in other ways let us know that as well.

This will be a free event. You can register for it now at http://www.NashAzure.com

Agenda:

2019-04-18_18-36-19

Bill Zack, President, The Nashville Microsoft Azure Users Group

Posted in Microsoft Azure | Tagged , , | Leave a comment

An Azure Migration Assessment Methodology

image

Introduction

As many of you may know I have been involved with Azure from its very beginning. As a Microsoft Architect Evangelist, and later as a Consultant, I have helped many Microsoft customers and partners adopt Azure successfully.

Some of these engagements have involved creating brand-new greenfield applications to run in Azure. However, many of them have involved either the migration of existing on-premises applications and infrastructure to Azure or the implementation of a Hybrid approach that spans both Azure and on-premises infrastructure and applications.

When faced with the desire to take advantage of Azure in some effective way most companies are in a quandary as to what to do first and how to go about it. For many of them we have recommended and executed a Migration Assessment Project. That is the subject of this article.  It covers what is in and out of scope for each phase, the deliverables of each phase and the actors involved.

In this article we assume that the project will be delivered by a Consultant (or a consulting firm) to a Client company. Note that this methodology is also suitable for internal use within a company.

It covers everything from the time that an initial Statement of Work (SOW) is signed until the final Assessment Report is delivered. It does not include the procedure for developing an SOW, as that will differ by company.

It also does not include detailed procedures for installing any automated analysis tool like Cloudamize, Movere or the Azure Migration Assistant, although such tools are highly recommended.

It also covers only Migration Assessment. Procedures for detailed Migration Planning and Execution are out of Scope for this document. However, at the end of the Migration Assessment Project a rough preliminary plan may be developed. How far to go with that should be agreed upon prior to the assessment.  Note that Planning involves developing a detailed plan for migrating specific applications/systems/workload to Azure. Migration Assessment stops with the identification and prioritization of the applications/systems/workloads that are likely migration candidates.

We have taken the approach here of just listing bullet points in most cases because explaining every one in depth could result in a book-sized document instead of a blog post. Smile Nevertheless, this should give you a good starting point.

The Procedure

Phases

Every Migration Assessment project has the following work phases:

  1. SOW Completion
  2. Internal Project Preparation
  3. Pre-Kickoff
  4. Kickoff
  5. Functional Meetings
  6. Analysis
  7. Engagement Completion

SOW Completion

SOW Development occurs some time before the Migration Assessment project itself. We are including it here for completeness even though it is not strictly speaking a part of Migration Assessment. It covers from the time that an SOW is deemed necessary until the SOW is actually approved by the Client.

Internal Project Preparation

This phase is internal to the consulting organization executing the project. 

  • Review the signed SOW.
  • Identify and commit the Consulting Resources to work on the project.
  • Create a Project file in a plan repository such as SharePoint.
  • Determine if an automated discovery tool like Cloudamize, Movere or Azure Migrate will be used.

Pre-Kickoff

  • Ask the Client to fill out a Pre-Migration Assessment Questionnaire. This should include questions on business objectives, facility locations, technologies in use, licensing considerations, etc..
  • Schedule the Kickoff meeting.
  • If a discovery tool will be used:
    • Install the discovery tool one to two weeks before the Project Kickoff. Let the tool run for at least one week. 
    • Run the tool reports at the end. Format the results in Recommendations Format. Be clear that these are only preliminary results.
  • Ask the Client to identify and commit resources from the Functional Areas for each meeting. These areas may include:
    • Business stakeholders. (For information on deadlines, mergers, etc.)
    • Application Development. (if required)
    • Network architecture & operations.
    • Server architecture & operations.
    • Support. (Help Desk, Tier1/Tier2 support)
    • Application Development support. (Quality Assurance, Production migration, etc.)
    • Identity. (Active Directory)
    • Security. (Chief Security Officer, Security analysts, etc.)
    • Storage and/or Database management.
    • Enterprise Architecture.
    • And if relevant:
      • Sales.
      • Marketing.
      • Line of Business Managers.

Prepare an hour-by-hour Kickoff meeting agenda. Also prepare a presentation deck for the meeting.

Kickoff

Conduct the Kickoff meeting.

  • Review the SOW and explain the Migration Assessment process.
  • Determine if the Client has any preference for which applications or workloads they would like us to focus on first. Often a Client will have determined preferences in advance.
  • Prepare for the Functional Meetings  by reviewing the tool reports (if used) and any  other initial documentation provided in advance.
  • Collect existing documentation (Server/Workload/Application inventory) where available. This can be used to determine interview order.
  • Identify the stakeholders who must sign off on the results.

Functional Meetings

Meet with the relevant audience, review the Pre-Assessment Questionnaire and confirm responses. Fill in any gaps.

  • Review the relevant questions for that audience as well as any additional questions that we need answered to find out what else we need to know.
  • Discuss the preliminary tool recommendations (if used). Explain that this is a first look and not final. Form conclusions and/or determine the need for additional information.

Analysis

There are two methods to be defined for discovery and analysis: an optional automated tool, like Cloudamize, Movere or Azure Migrate, and Manual Discovery. Even in the case of tool based discovery manual analysis will still be required to complete the process and draw conclusions from the data. Tool reports will just be used as input to the process.

In the case of Manual Discovery, perform the discovery process manually by collecting architecture and workload data on potential applications and workloads that are appropriate to move to Azure.

  • Analyze application/system/workload documentation provided by the Client.
  • Develop Current state and Desired State. (What does the tool , if used, suggest?)
  • Review candidate applications for Cloud appropriateness (Fit). Evaluate whether the application is appropriate for running in the Cloud.
  • Determine Business Criticality of the application.
  • Evaluate potential Risks & mitigations.
  • Develop a high-level cost/benefit analysis. Identify low-hanging fruit, minimum Time to Value (TTV) opportunities and the Return on Investment (ROI) of moving selected workloads/systems/applications to Azure.
  • Determine migration approach such as Infrastructure as a Service (IaaS), Platform as a  Service (PaaS), Software as a Service (SaaS) or a Hybrid approach. 
  • Determine the specific techniques to be used:
    • Rehost (Lift and Shift as-is to the cloud. Host in a VM or PaaS Compute platform such as Web Apps).
    • Refactor (Move to Azure with some modification to take advantage of Azure PaaS Services such as Azure SQL Database).
    • Reengineer (Restructure the complete application to take advantage of things like Microservices, Containers, Serverless computing, etc.).
  • Identify the physical servers or VMs that support each application/system/workload.
  • Develop a preliminary priority list for Migration to IaaS, PaaS, SaaS or Hybrid.
  • Review tool data. Look for exceptions that might preclude tool use (disk size, IO, performance, configuration, etc.).
  • Determine servers and/or VMs that are related and group into potential migration sets.
  • Consider ease of migration and tools/approach to be used.  Consider suggested migration tools to be used such as Azure Site Recovery, Azure Database Migration Service, etc..
  • Define supporting infrastructure changes required, if any.
  • Identify Backup and Disaster Recovery (DR) requirements.
  • Determine Multi-Region strategy if required.
  • Rank applications/systems/workloads on a grid. Answer the question: Why this one vs. that one?

Engagement Completion

  • Hold Internal Consulting review.
  • Hold Post analysis review with the Client.
  • Make recommendations on what needs to be done next.  That could include Migration of the top 5 targets.  It may also include a preliminary Migration Plan, although that plan will need to be refined following the Migration Assessment.
  • Deliver preliminary cost for the proposed migrations.
  • Evaluate the Client’s fitness to adopt Azure. (See  What is your Azure Maturity Level? ) This should include considering Technical and Business considerations, staff skills, etc.
  • Determine the required training for the Client to make them ready for Azure and to be self-sufficient afterwards.
  • Determine if the migration(s) should include a change in culture to DevOps.
  • Hold the project close out meeting.
  • Submit final consulting invoice to the Client. Smile

Conclusions

An effective Azure Migration Assessment is critically important to the success of a company’s transition to Azure. No-one should attempt migration without a solid assessment and a plan.

Although the methodology set forth herein may not be applicable in every case or usable as-is for every Migration project we feel that it will be useful in developing your own assessment and guiding you to a successful migration to Azure.

As always we are interested in what you think. Let us know if you agree, disagree or have suggestions for improvement.

Bill

Posted in Microsoft Azure | Tagged , , , , | Leave a comment