Building Nutanix Ready – Understanding “Ready” Early On – Part 1

Featured

Updated 9/22/17
The Journey to “Ready”
Are you Ready?

This is my journey to building a world-class “Ready” Program and understanding what validation means to me and the customer….This will be a multi-part series of my journey.

The early days of understanding the concept of “Ready”

I’ve spent the better part of my life in IT consulting. It has been some of the best and worst times of my life ;).  But when you make a choice to work in this industry, there are certain givens. Sometimes as consultants and IT Pros we don’t get the recognition we deserve, but if you have the passion for technology, it doesn’t matter.  I’m happy with the fact that I resolved or completed a project for a client. And enabled them to make their businesses stronger and more efficient. These IT pros tend to be part of grassroots communities, like the Microsoft MVP community, which is all about giving back and enabling others.

Anyways, moving along on with the story.  As a consultant, my many years in the field gave the opportunity to deploy a wide range of technologies.To name a few: InfoBox, Riverbed, Plexxi, Cisco, Microsoft (of course), CheckPoint, RSA, Silverpeak, A10, Carbonite, Comvault, CyberPower, EMC Solutions, F5, Fortinet, Sonicwall, Juniper, Palo Alto, Splunk, Trend Micro, VMTurbo (before they were Turboonomics) Veeam and the list could continue on, but I think everyone gets the point. Try saying that line in one breath :).

Deploying and supporting all these solutions for years is what prepared me to understand what “Ready” really means for a solution. When I first joined Nutanix, I was hired as a Microsoft Solutions Architect in Technical Alliances.  My job was to help advance and evangelize the story around Microsoft and Nutanix.  Also, I supported the field with sales motions around Microsoft solutions. Or as my new colleagues knew me, I was the resident “Microsoft Guy” :).

Introducing “Ready” into my Journey

About 2 or 3 months into my journey at Nutanix, I was approached by my manager about starting a “Ready” program for alliance partners. When he first told me, it took me a day or so let it set in  “I thought wow, this is right up my alley. I’ve been in the field and felt the good and bad of these solutions for years.”

Building a ready program is like building a highway through a mountain, especially in a startup. It’s not just about rubber-stamping a solution for anyone willing to pay to have their logo on your site. It’s a critical validation process that requires a team experienced and critical enough to ask; 1) Is there a real need from my customers that this solution answers;  2) Is this solution possible? In other words, the customer has to be the first and last consideration. Yes, as with the highway. There is an advantage to the solution builders (Who hasn’t wanted a highway named after them, not to mention collecting tolls?). If it doesn’t solve a problem, it’s not worth the investment.

Validation implies that you have guidelines and standards that the partner must meet. If they don’t meet the criteria, then they don’t get the status of “Ready” and all the benefits that go along with it. As Indiana Jones would say “No Ticket, No Ride” (from the Last Crusade movie 🙂 ).

So you ask, “What’s the importance of validation?”

Well, let’s look at the pharmaceutical industry. Validation for the pharmaceutical industry is the process of establishing documentary evidence demonstrating that a procedure, process, or activity carried out in testing and then production maintains the desired level of compliance at all stages. In the pharmaceutical industry, it is very important that in addition to final testing and compliance of products, it is also assured that the process will consistently produce the expected results.[1]   Validation is “Establishing documented evidence that provides a high degree of assurance that a specific process will consistently produce a product meeting its pre-determined specifications and quality attributes. This, for the pharmaceutical industry, is to maintain and assure a higher degree of quality for drug products.

Breaking it down simply, validation gives customers a degree of confidence that they are getting exactly what is advertised. Without validation in the pharmaceutical industry, there would be a lot of quality control issues. And this results in people getting sick or death in some cases.

So now, you can see why validation is so important. In the software industry, this can be the life or death of a customer environment resulting in costly downtime. It also puts doubt in the customer’s mind about if they should move forward with the solution.

Crazy story about Validation and QA with a Vendor Solution

Back in my consulting days, I was working with a large enterprise client deploying (at the time) Exchange 2010.  The client was on Exchange 2003, which at the time, did not really have a simple solution for failing over Exchange to a secondary site, in case of failure. This led to the rise of third-party products that made this failover process easy and gave you lots of options.  Continuing on with the story, I was at the end of the day at the client. We had just finished getting the Exchange 2010 DAGs (Database Available Groups) in place between the US and UK. This was so we could start the migration from Exchange 2003.

I had left for the day around 6 pm to head home. Within an hour, while I was in Boston traffic, I got a call from the client.  They proceeded to tell me that their Exchange 2003 environment was down. The product solution that was supposed to auto-failover is not working. The client asked, “Can you please come back and take a look. We have already called the vendor support and making no headway?”

I arrived back and started my troubleshooting.  Sure enough, before support called I found a serious bug that was not accounted for during the vendor’s QA process. In addition, the solution had completed another vendor’s “Ready” program. Now, I’m not going to name vendors, but this caused the client to go down for a number of hours while I worked with support to get this rolling again.

For this client or most clients, any downtime on email is a loss of business.  They took a big hit that day of hundreds of thousands of dollars.  Now, I’m not saying that validation is a silver bullet or could have saved this client headaches that day, but it certainly reduces the surface area of a problem arising in the field.

More about “Ready” with Technical Alliances and the Customer

Having a “Ready” program in the software industry is not just about approving and denying a solution, it’s also about helping partners resolve their issues whether it’s on either side, so they can eventually achieve “Ready” status.  And with that, “Ready” for a customer gives them the peace of mind that a solution will run on the given platform or hypervisor.

I was up to the challenge, and so starts the journey to “Building Nutanix Ready, What “Ready” means?”……Up next, paving the road to “Ready”.

Until next time, Rob.

Windows User Profiles…The Mysteries Untold – Part 1

Featured

Happy New Year Everone…This is my first blog post of 2017. WooHoo!!  As aways, I love to blog about questions from the field.  This one came from a customer testing their new Virtual Desktop Infrustrure (VDI) on Nutanix and had 1 out of 50 users profiles be corrupt. He asked why did this happen and how can I avoid this in the future. Now, I would say that 1 corrupt profile out of 50 is fine during a test, but let understand why it happens. This topic is especially important to understand because directly relates to VDI and your end user experience in VDI.

Windows User Profiles

What is a Windows User Profile? It not just your desktop 🙂

Let’s do a quick primer…

Windows creates a user profile the first time that a user logs onto a physical computer or VDI session. At subsequent logons, the system loads the user’s profile, and then other system components configure the user’s environment according to the information in the profile.

A user profile consists of the following elements:

  • A registry hive. The registry hive is the file NTuser.dat. The hive is loaded by the system at user logon, and it is mapped to the HKEY_CURRENT_USER registry key. The user’s registry hive maintains the user’s registry-based preferences and configuration.
  • A set of profile folders stored in the file system. User-profile files are stored in the Profiles directory, on a folder per-user basis. The user-profile folder is a container for applications and other system components to populate with sub-folders and per-user data such as documents and configuration files. Windows Explorer uses the user-profile folders extensively for such items as the user’s Desktop, Start menu and Documents folder.

Type of User Profiles

  • Mandatory profiles:
    • Typically one pre-configured profile for many users.
    • Although during a session changes can be made, they are discarded. When the user logs on the next time, the locally cached copy of the mandatory profile is reset (replaced with the network copy).
    • The path to the mandatory profile needs to be assigned to users
    • Useful mainly for kiosk systems.
  • Local profiles:
    • One profile per user per machine.
    • No dependency on the network.
    • Since the profile is available locally, logons are very fast.
    • No configuration is necessary, local profiles are assigned to users automatically.
    • Backing up local profiles is often a challenge because the profiles are distributed across many machines with potentially slow and/or only intermittent network connectivity.
    • Another difficulty is how to transfer local profiles between computers, which becomes necessary when machines are replaced.
    • Useful for users who do not switch computers often or for computers without permanent network connectivity, like laptops. In VDI environments local profiles should not be used since users are directed to an arbitrary (the least loaded) server when they launch a new session.
  • Roaming profiles:
    • One profile per user.
    • The master copy of the profile is stored on a file server. During logon, it is copied to the local machine, which may slow down logons considerably depending on profile size and network speed.
    • During logoff, changed files are copied back to the master copy on the file server. Since a user’s registry hive is stored in a single file, this approach creates the “last writer wins” problem.
    • The path to the roaming profile needs to be assigned to users.
    • Useful for most setups where local profiles cannot be used.
  • Temporary User Profiles.
    • A temporary profile is issued each time that an error condition prevents the user’s profile from loading. Temporary profiles are deleted at the end of each session, and changes made by the user to desktop settings and files are lost when the user logs off.

Windows User Profiles

Windows User Profiles – The Reality

Ok, now let me paint a picture….A user calls the help desk to report a strange issue on an application running on their VDI Desktop. What does the help desk technician do? Analyze the root cause of the problem? Probably not. Most likely, the user’s profile will be deleted and the problem will have gone away. Happy ending? Not at all!

Deleting entire user profiles because of malfunctions caused by small data inconsistencies reveals a great deal of helplessness. While the user can work with the faulting application again, the user has lost thousands of personal settings configured both implicitly and explicitly. The help desk technician, on the other hand, has learned nothing from the case, except a brute force way of closing a call. The next time a user rings with a weird problem the technician will be all the more eager to repeat the procedure.

Deleting is cheap. Who is to blame?  Nobody, really. Given the prehistoric user profile design Windows still uses in its latest incarnations, the help desk technician has no other choice but to delete the profile. Trying to get to the root cause is way too difficult and time-consuming a task to perform routinely several times a day. It is so much cheaper to just delete everything and have the user start from scratch.

Why is it like this? Finding a “Needle in a Haystack” is expensive. User profiles are a mess, a chaotic agglomeration of data. Applications can write what they want, where they want, in what way they want into the profile. Among the piles of data junk each Windows user profile stores, there are, however, quite a few hidden gems: the settings a user actually has configured. That is the stuff users care about.

Take your favorite web browser, for example. It comes with hundreds or thousands of factory presets, most of which you could not care about less. But I bet there are a few tweaks in your configuration you would not like to live without. Unfortunately, those settings dear to your heart are buried among all the other default stuff.

Configuration Craziness with some Applications

And it gets worse. Not only are the valuable settings from individual applications intermingled with worthless data, some applications store their configuration all over the place, effectively creating a mix of settings from multiple programs. This makes it virtually impossible to easily identify and extract a single program’s settings. By the way, Microsoft is especially good at this mixing business. Try to identify all storage locations for (Internet) Explorer settings on your own. LOL 😉

Untangling the Knot – How?

The inadequacies of Windows user profiles have led to the development of quite a few profile management products and technologies.  My next post will dive into Best Practices and some of the solutions that help solve this problem.

Finally, at the beginning of the post I mentioned that this series was inspired by a customer in the field. Well, in the end, the problem was a bad registry setting loaded by the NTUSER.DAT, by a third party application. ;(

Until next time,  Rob.