Design Considerations – Words of Wisdom

  • A Good Design is a balance of Technical Best Practices and the organization’s goals, requirements and constraints. Now since this is a balance, there has to be a trade-off somewhere. As a good designer, you need to ensure that your design is meeting the customer’s requirements(which is the End Goal) along with the constraints despite the trade-off’s.
  • Never forget the End Goal, they guide and shape your design process.
    The Design decisions have to be documented clearly and should definitely contain a reason as to why the decision was made and also should help answer if the decision is questioned.
  • The design document should be as detailed as possible. The best test would be two different people reading the document and implementing the design and the end result should be the same.
  • It is highly important to have the right stakeholders who know the Organization’s Business Requirements and Goals as this is the Objective which your design should meet.
  • Follow the KISS Principle, Simple designs are easy to understand and deploy. Apart from being Simple, the design needs to be repeatable too, because the decisions made in the design are supposed to be based on sound justification.
  • Always make sure that your design is valid for 2-3 years to come atleast.

    Okay so with this information, you are good to create a Conceptual Design which should encompass all the customer requirements. This is the interim design to make sure you dont miss out on anything which the Organization is expecting. This is typically a diagram depicting customer requirements with the entities who would come into play when the design is initiated.

    Develop and/or adopt a design framework that is repeatable,reasonable and justifiable. The objective of a frame work is to help you get the required information needed for the design. Make sure you discuss this frame work with the key stakeholders at the customer’s organization as well as your peers. This will only help to make it better. After all a good design is also something which is always evolving.

    From a VMware Datacenter Virtualization Standpoint, I would stick to the AMPRSSC framework which I have been using for a while now:

    A – Availability – Think SLAs.
    M – Manageability – Think about how simple is it,How easy it is to deploy
    P -Performance – Think about throughput, latency, I/O per second
    R – Recoverability – Think RTO and RPO
    S – Scalability – Think, if we need to upscale, do we scale-out or scale-in?
    S – Security – Think how easy it is to secure the environment, Does it help in minimizing risks?
    C – Cost – Are you meeting the company requirements while staying within the budget?

    These are the areas which I would use as a scale to judge and take a sound design decision and thereby making a Good Design.

    So along with the Conceptual Design, we churn them with the AMPRSSC frame work and devise a Logical Design. Bear in mind that Logical Design is to help understand the design rather than getting into the nitty gritty of how various elements have been connected or plugged in. It shows the customer how will you be able to meet the desired requirements.

    The Conceptual Design is then brainstormed along with the customer as well as your peers to make it better and then you head to creating a Physical Design in which you show precise implementation details such as the Path Selection Policy, the IP Addresses, port numbers,etc.

    So the capture of requirements, constraints and assumptions, followed by creating a Conceptual Design and then a Logical Design and eventually a Physical design is added along with the Design Decisions made in a Design Document.
    Apart from the Design Document, it is pertinent that we create an Installation and Configuration Document based out on the Design document created,so that Implementation Engineers can just take the Install,Config Document and start building the required infrastructure which should precisely meet the customer’s requirement.

    Happy Designing!



vSphere 6 Upgrade Prerequisites

Though there are multiple blogs talking about the new Architecture and changes in the way vSphere 6 operates. I wanted to make sure that we plan and prepare a pre-upgrade checklist to ensure 100% positive results and a smooth upgrade.

Needless to say this – The vSphere Upgrade Guide on the VMware Website is your go-to guide for this. However here I am going to help you ensure that you have the necessary pre-requisites before you start your Upgrade.

P.S: For the vCenter Server, I wold be talking on the Windows based and not Appliance based(p.s: I love the vCenter Server Virtual Appliance, it just works great!).

  1. VMware vCenter Server 5.0 and later(5.1 and 5.5 and the associated Updates) is a 64 Bit Windows Application and hence would need a 64 Bit Machine. So if you have anything running below version 5.0, the process would be called a Migration rather than an Upgrade. i.e you migrate to a 64 Bit Windows Platform.
  2. Look into the Upgrade Path tab in the VMware Product Interoperability Matrixes at and choose VMware vCenter Server as the Solution. A Green Tick will affirm that the Upgrade Path is Supported and will work!
  3. On the same webpage, click on the Solution/Database Interoperability and select VMware vCenter Server as the Solution and select 6.0 U1(if you are going to 6.0 U1 and trust me, you should go to 6.0 U1 ) and select the Database.
    IMPORTANT: Starting 6.0 onwards it is important to make sure that you know the exact version, NOT just the major number but also Release and Service Pack levels. For instance on SQL see on how to find the update levels of the SQ Server and its components.
  4. Now for the ESXi Hosts, ensure that the Hardware is supported for ESXi 6.0 U1, please see .
  5. Now go to the Release Notes of vCenter Server 6.0 U1 and ESXi 6.0 U1 and READ IT THOROUGHLY. Especially the Known Issues and the Resolved Issues Section, understand and assimilate the workaround as well – Always helps 😉
  6. Ensure the Certificates on the vCenter and the associated components are not expired.
  7. You should be using a 64 Bit ODBC DSN Connection.
  8. For SQL Server, ensure the system DSN is using SQL Native Client Driver.
  9. You cannot use Integrated Windows Authentication method if the vCenter Server service is running under the Windows built-in system account.
  10. Verify that the vCenter Database User has db_owner permissions before attempting the upgrade.
  11. Ensure that you know that the password for administrator@vsphere.local (Single Sign on) works.
  12. Ensure that your vCenter Server System is not a Domain Controller, but is a part of the Active Directory Domain.
  13. The vCenter Domain User account should have the following permissions:
    1. Member of theAdministrators Group.
    2. Log on as a Service
    3. Acts as  a part of the Operating System.
  14. IMPORTANT: Take a Backup of the vCenter Server’s Database and make sure you test it.
  15. Microsoft SQL Server Express is no longer supported for vCenter Server 6.0. The earlier 5.x Express database is replaced with an embedded PostgreSQL database.
  16. Take a backup of the vCenter SSL Certificates.
  17. DNS is pristine from both Forward and Reverse Lookup standpoint.
  18. Ensure JDK 1.6 is installed on the vCenter Server machine.
  19. If your end goal is to have the Platform Services Controller on the same machine as the vCenter Server, then your vCenter Server and Single Sign-On is supposed to be on the same machine. This is applicable for vCenter 5.1 and 5.5.
  20. If your end goal is to have an external Platform Services Controller, then the vCenter Server and Single Sign-On are on separate Machines.
  21. If you have vCenter Server and SSO on the same machine and if you desire High Availability. It can only be possible only by putting them(PSCs and vCenter Servers) behind a Load Balancer. See for a very good explanation on the same.
  22. Ensure Time is synchronized amongh all the machines.
  23. During the Upgrade you will be asked for the following information,so keep this handy:
    1. vCenter Single Sign-On Username and Password
    2. vCenter Server username and password(you can place a check mark on the box next to “Use the same credentials for vCenter Server”)
    3. Directory to which the 5.x data will be exported.
    4. Ports. I would leave them default if you ask me.
    5. Directory to install vCenter Server.
    6. Directory to store vCenter Server data.
  24. Before starting the ESXi Host upgrades, it is important that we pay attention and resolve issues by looking into Host Alerts,alarms and to an extent log files to make sure you are not carrying forward the issues to the 6.0 platform.
  25. Ensure you have the additional device drivers for the server hardware if necessary.
  26. Migrate the VMs or Shutdown as applicable on the ESXi Host and put it in Maintenance Mode.
  27. Remove the Host from the DRS/HA Cluster.
  28. As many would recommend you to disconnect any Fabric Channel system before removing, DO NOT DISABLE the HBA in the BIOS.


Okay! So that was a long list but if you ensure that these are taken care of, you are probably better off to proceed with the Upgrade, given that you enter the right details in the Upgrade Wizard.


Missing Libraries or Packages from vRealize Orchestrator

Time and again, many of my customers who use vRO or have just started using it have spent many hours puzzled as to why dont they see even after many reboots. Just a word of advice: Always try a “Reset Current Configuration” in the Troubleshooting section followed by a Server and a Configuration Server services restart in the Startup Options of the Configuration Page(login using vmware as the username, url with the port 8283) of vRO before trying a reboot. It will save you a lot of time.