Hazy clouds

In the virtualization blog, there must be a picture of clouds.

[1.4.2015] I had the VCAP-DCD test yesterday and I passed on my first try. Some of questions were easy and I had no trouble answering them. Few of the questions I had to think twice and change the answer before submitting. Luckily my “Master Design” question was network related which I think is one of my strong areas. I marked one question for review because at first I didn’t know how to answer it. When I finished all of the questions I had 60 minutes left on my clock. I got back to the troublesome question and I think I got solid answer for it. I didn’t review the questions because I trusted that I have answered best I can on my first try and if I come back to them I start over-thinking them and change it to wrong answer. When I finished the exam I had 45 minutes left on the clock.

[14.2.2015] As I told in the twitter yesterday,  I managed to book my VCAP-DCD (VMware Certified Advanced Professional – Data Center Design) exam at the end of march so I have six weeks to study for the exam. I passed my VCAP-DCA certification last April (2014) and after the certification I kept some vacation from studying. Last autumn I started to study for the DCD exam and I studied a couple months until I had to take some time off from the studying again. By booking the exam date I think that now I have a concrete deadline for studying which definitely will help with the motivation and  pacing of the study. I try to update this page as I progress in the study and I also write down the materials I have used so far.

Please let me know if this has helped you on your journey by writing a comment or saying hi on the twitter.

Study material so far


 Create vSphere Conceptual Design

Objective 1.1 – Gather and analyze business requirements

  • VMware Virtualization Case Studies
    • Read few of them to just get familiar of the format. Note the challenge and solution sections.
  • Five Steps to Determine When to Virtualize Your Servers
    • Two page whitepaper of virtualization basics.
  • Functional versus Non-Functional Requirements and Testing
    • This is our first step out of VMware world and I think that understanding difference of functional and non-functional requirements is definitely going to be tested at the exam. I am going to dig deeper on the subject (mostly because I think that formal design is going to be hardest part to me) before exam.
  • Conceptual, Logical, Physical: It is Simple
    • Oh why! Why this document is included in the blueprint? Did someone search with following words: Conceptual, Logical and Physical and picked this article with out reading it? To read this you really need following picture to help you (unless you are really familiar with Zachman Framework).

      Zachman Framework / Image from Wikimedia

Objective 1.2 – Gather and analyze application requirements

  • VMware Cost-Per-Application Calculator
    • Compare costs to Microsoft Hyper-V, the VMware way. My example calculation of 120 virtual machines with vSphere standard gave almost 40 % savings to VMware solution. Note for the exam is that check how CapEx and OpEx are calculated in the “Definition and Scope” section. There is also another calculator from VMware to calculate ROI/TCO.
  • VMware Virtualizing Oracle Kit (Broken link in the blueprint and download link in the site is broken as well). Anyway here are the files:
  • VMware Virtualizing Exchange Kit – You can register for download of the following files:
    • Microsoft Exchange 2010 on VMware Availability and Recovery Options [pdf, 18 pages]
      • vMotion, HA and DRS are supported for all Exchange roles (2010 and 2013 editions).
      • Data and log disks require FC or iSCSI VMFS volume or RDM volume. NFS storage (or any NAS storage) IS NOT SUPPORTED.
      • Local site HA options: HA w/ DRS and vMotion, Exchange DAG and HA + DAG.
      • Remote site HA options: VMware SRM, DAG w/ Delayed Log Replay and 3rd party software based replication solution.
    • Microsoft Exchange 2010 on VMware Best Practices Guide [pdf, 70 pages]
      • Long document with lot of useful information. Specially note sizing calculations and how much resources mailbox usually take:
        per mailbox
        per day
        Active node
        Passive node
        Active node
        Passive node
        50 1 0.15 0.06 0.05
        150 3 0.45 0.18 0.15
        500 9 1.5 0.6 0.5

        To determine messages per mailbox per day value  you can use this script. Megacycles are roughly equal to MHz per core.

      • Remember that Exchange is not NUMA aware. Size VMs accordingly.
    • Microsoft Exchange 2010 on VMware Design and Sizing Examples [pdf, 45 pages]
      • Diagrams, tables and content are very similar to Best Practices Guide. Document gives examples of different size Exchange environments.
    • Intermedia Case Study [pdf, 4 pages]
      • Yep, another story how VMware rocks! Affordable, Easy-to-Manage and redundant.
    • Raymond James Financial Case Study [pdf, 4 pages]
      • VMware HA instead of DAG, virtualizing of mission critical applications. Yes, we can virtualize Exchange, I believe it now. If I need read one more case study I’m going to…
    • I would add this whitepaper to the list as well: Using VMware HA, DRS and vMotion with Exchange 2010 DAGs [pdf, 25 pages]
      • Good tips how to test Exchange load and recovery after HA event. Document is based on vSphere 4 but the basics are there.
  • VMware Virtualizing SQL Kit – Link in the blueprint is again broken. Kit includes following files:
    • Performance and Scalability of Microsoft SQL Server on VMware vSphere 5.5 [pdf, 30 pages]
      • There is link in the document to following whitepaper: Virtualizing Business Critical Applications [pdf, 39 pages]
      • Also there is link to Microsoft document of SQL Server 2012 licensing: Microsoft SQL Server 2012 Licensing Guide [pdf, 26 pages]
      • Interesting document regarding monster VM (over eight cores) performance tuning:
        • If you use CPU affinity rules (not recommended!), do not assign both logical cores of physical core (i.e. cores 0,1,2,3,4,5,6,7) instead use one logical core of each physical core (i.e. 0,2,4,6,8,10,12,14).
        • Use Sysinternals tool Coreinfo to check vNUMA mapping in the virtual machine. If vNUMA mapping is imbalanced, configure Hyper-Threading with NUMA setting: numa.vcpu.preferHT=TRUE
        • Always (if not restricted by licensing) use 1 core per socket CPU setup in virtual machines.
        • Select setup that has least amount of NUMA nodes. That should give you the best performance for the vCPU count.
    • SQL Server on VMware Availability and Recovery Options [pdf, 33 pages]
      • High availability modes for SQL Server:
        HA type Granulatity Storage RPO – Data loss RTO – Downtime
        AlwaysOn Availability Groups Database Non-Shared None (with synchronous commit mode) ~3 seconds or administrator initiated recovery
        AlwaysOn Failover Cluster Instances Instance Shared None ~30 seconds
        Database Mirroring Database Non-Shared None (with high safety mode) < 3 seconds or administrator initiated recovery
        Log shipping Database Non-shared Possible transaction log
        (depends on log shipping schedule)
        Administrator initiated recovery
      • Note SQL specific options and how you can use SRM. Also there is chapter of making rolling updates with standby virtual machines which is not covered in other documents. Also note that SQL Server Always On feature for database-level uses MSFC / WSFC / MSCS (Microsoft / Windows Server Failover Cluster / Microsoft Cluster Services) but it does not require quorum disk anymore. VMware recommends that you use “Node and File Share Majority quorum” mode for SQL Server 2012. Check Microsoft msdn article for more information.
      • When using AlwaysOn availability groups, use availability group listener for database connection. Availability group is a virtual network name (VNN) that directs read-write requests to active node and read requests to passive node. VNN enables clients to always connect to active database without knowing databases real name.
    • SQL Server on VMware Best Practices Guide [pdf, 48 pages]
      • Document has good list of (Windows) performance counters you can use for determining required resources in virtualized environment (Virtual Machine CPU / Memory / Disk / Network requirements), check pages 14-15.
      • Prefer scale-out instead of scale-up. ESXi kernel’s cpu scheduler does better job with smaller VM’s.
      • For Tier-1 workloads, disable Hyperthreading in VM’s settings. ESXi’s scheduler reserves now whole physical core to virtual machine. This setting improves virtual machine’s performance but reduces host overall performance.
      • While Exchange is not NUMA aware, SQL Server is.
      • Set SQL Server Instance’s minimum memory requirement to something useful. This prevents ballooning driver from reclaiming all of the SQL Server Instance’s working memory. Minimum memory requirement settings default value is 0.
      • SQL Server Storage Top 10 Best Practices (from Microsoft) [html page]
      • Performance wise consider that NFS <=> software iSCSI <=> hardware iSCSI. In larger block sizes FC is three to four times faster (figures 11 and 12 in the document).
      • Remember partition alignment! Specially if quest operating system is older than windows 2008 and VMFS volumes made older than vSphere 5.0. VMFS5 volume have older type (mis-)alignment if it has been made by older vSphere and then upgraded to VMFS5 format.
      • SQL server file types have different performance characteristics:
        Operation File access type File mode IO size
        OLTP – LOG Sequential Write Up to 64K
        OLTP – Data Random Read/Write 8K
        Bulk Insert Sequential Write Any multiple of 8K up to 256K
        Read Ahead (DSS, Index Scans) Sequential Read Any multiple of 8K up to 512K
        Backup Sequential Read 1M
      • Use multiple SCSI adapters. LSI Logic for OS and own PVSCSI adapters for log and data volumes.
    • Customer Case Study ABM Industries – I couldn’t find the case study online anymore but instead I founded Microsoft’s case study of ABM switching to the Hyper-V.
  • VMware Virtualizing SAP Kit – Link in the blueprint is broken and kit includes following files:
    • SAP Solutions on VMware Use Cases [pdf, 10 pages]
      • SAP installations usually has plenty of servers deployed because of separate development, testing and production environments.CPU utilization of these servers are usually quite low (15 – 20 %) which makes them ideal candidates to virtualization.
      • VMware snapshot enables faster testing and development cycles.
    • SAP Solutions on VMware Business Continuance [pdf, 19 pages]
      • The usual SAP High availability options in VMware: HA, FT and Windows/Linux based clustering. For recovery site use SRM with Array Replication.
    • SAP Solutions on VMware Best Practices Guide [pdf, 32 pages]
      • No memory over-commitment
      • Use memory reservation. By using reserving whole memory virtual machine swap file is zero bytes.
      • Table 1 and 2 in chapter 7 gives good list of different HA options to protect SAP.
  • VMware Virtualizing Enterprise Java Kit – The links is broken and this time I couldn’t found a way to original page. So this is my guess:
    • Enterprise Java Applications on VMware Best Practices Guide [pdf, 24 pages)
      • Understand the virtualized Java Application. Determine thread rations (HTTP threads : Java threads : DB connections). If using load balancer, use homogeneous virtual machine sizing. Don’t mix 4 vCPU and 2 vCPU VMs in a load balanced cluster (unless load balancer is aware of this).
      • Use memory reservations for JVM (Java Virtual Machine) active heap. Reservation = VM Memory = guest OS memory + JVM memory. If heap is 4GB then JVM memory is roughly 4.5 GB. Operation system requires approximately 0.5 GB of memory. Therefore VM memory is set to 5 GB and reservation is 5 GB as well.
      • Enable Large Page support in the JVM and in the OS level.

Objective 1.3 – Determine Risks, Constraints and Assumptions

  • Developing You Virtualization Strategy and Deployment Plan [pdf, 15 pages]
    • Document explains virtualization design and steps required in it.
    • Identifying risks and constraints helps you to make your design defeat them and also make stakeholders more comfortable knowing that risks and constraints have been considered and will be dealt with. Design with out risks will surely rise some doubts.
    • Risks usually might include things like lack staff expertise, doubts about new technology or weakened recovery capabilities during provisioning.
    • Requirements are things that project or design must do or perform in order to be successful. Requirements should be as specific as possible to minimize misconceptions. Example requirements could include compliment to uptime or regulatory standards and requirements to financial savings.
    • Constraints are much easier to identify and usually are given much clearly by the client. Constraints might include financial constraints, lack staff availability, use of existing compute, network or storage equipment and deadlines of project. Constraints are some thing that project or design must comply. Constraints are also known as non-functional requirements.
    • Assumptions on other hand are much harder to identify and they can change from person to person.Because of this, it is important to write all of the main assumptions down. One thing that separate assumptions from constraints is that assumptions can not be considered as a fact in the design phase. Assumptions might include in example what servers are candidates to virtualization and is the existing infrastructure reused for the project or is new the equipment available after certain date.
    • Small rule of thump / Don’t take too seriously:
      • Requirements => Something MUST…
      • Assumption => Something WILL …
      • Constraints => Something HAS / MUST NOT…
    • Write down each of the requirements, constraints, risks and assumptions. Each item should have unique identifier and detailed description.

Create a vSphere Logical Design from an Existing Conceptual Design

Objective 2.1 – Map Business Requirements to the Logical Design

Objective 2.2 – Map Service Dependencies

Objective 2.3 -Build Availability Requirements into the Logical Design

Objective 2.4 – Build Manageability Requirements into the Logical Design

Objective 2.5 – Build Performance Requirements into the Logical Design

Objective 2.6 – Build Recoverability Requirements into the Logical Design

Objective 2.7 – Build Security Requirements into the Logical Design

Create a vSphere Physical Design from an Existing Logical Design

Objective 3.1 – Transition from a Logical Design to a vSphere 5.x Physical Design

Objective 3.2 – Create a vSphere 5.x Physical Network Design from an Existing Logical Design

Objective 3.3 – Create a vSphere 5.x Physical Storage Design from an Existing Logical Design

Objective 3.4 – Determine Appropriate Compute Resources for a vSphere 5.x Physical Design

Objective 3.5 – Determine Virtual Machine Configuration for a vSphere 5.x Physical Design

Objective 3.6 – Determine Data Center Management Options for a vSphere 5.x Physical Design

Implementing Planning

Objective 4.1 – Create an Execute a Validation Plan

Objective 4.2 – Create an Implementation Plan

Objective 4.3 – Create an Installation Guide


  • VMware vSphere 5.1 Clustering Deepdive by Frank Denneman & Duncan Apping

    • About 10 USD for Kindle from Amazon.com
    • Paperback version has 416 pages so it has lot’s of useful information
    • I bought and studied this for VCAP-DCA exam and I will probably read it again before exam
  • vSphere Design Best Practices by Brian Bolander & Christopher Kusek

    • About 12 USD for Kindle from Amazon.com
    • This is little bit slimmer book by having 126 pages on paperback.
    • For a quick overview of subject this book is OK but for a serious DCD study I find this bit too lightweight.
  • VMware vSphere Design (2nd edition) by Forbes Guthrie, Scott Lowe and Kendrick Coleman

    • Paperback version is 35 USD and Kindle edition is whopping 32 USD which I find bit too pricey. I got it from Amazon.com as paperback version.
    • And oh Boy! This baby has 528 pages on paperback and I really enjoyed it and I definitely recommend it for the exam.


Web pages and whitepapers