JPM300
Commander
Commander

I wanted to post this really quickly as it will be the next design question on the simulator once I get around to creating it.  With that said here it is:

The decencies portion of the blue print is very simple and I don't think most people take a long glance at it.  I know I didn't.  However after talking to some of the people in the community I am almost certain that I did a question wrong on the exam due to not looking at this item more closely.  So the blue print states the following: Given a scenario, identify logical components that have dependencies on certain services and we typically see a diagram something to this effect:

Website ------> Web Server -----> Database -----> VMware Cluster

Now the concept of downstream / upstream is loosely mentioned throughout the documentation, however if you acutely do some digging, there is mixed views on this topic and it's never 100% clear.  The following blog has a really good write up on this:

Application Dependency – Upstream and Downstream Definitions | vBikerblog

The main picture I want to focus on is this:

VMwareDownStream-Upstream.jpg

As you can see what some people may think is upstream/downstream is not really what VMware or the exam is possibly after.  So after doing a tremendous amount of digging I have come to this conclusion:

VMware deems downstream as anything that can effect downtime.  For instance in the picture above if MySQL fails EVERYTHING will go down.  However if www.vbikerblog.com goes down, only the website is down while the rest of the infrastructure is ok.  This would make www.vbikerblog.com the highest part on the upstream.  Working from the ground up (MySQL) is working up stream.

A good analogy of this would be a house where the foundation is your downstream, your walls and pillars are up stream and your roof would be the highest point on the upstream.  If the roof blows off everything else blow is okay, however if the foundation falls then EVERYTHING is down.

HouseAnalogy.JPG

Now lets look at some common examples or this:

VMwareDownstream.JPG

Now in the top example the VMware Cluster is downstream, while everything else is upstream.  Which means if the website goes down only that is effected.  However if the Database or VMware Cluster was to go down, everything Upstream of it will fail as they are dependent on their downstream counter parts.

In the second exam on the bottom I have taken the previous example/picture from vbikerblog's pic and just turned it sideways.  Now the VMware Cluster is the Downstream with everything being an Upstream.  Again  you can see the dependencies on their downstream counterparts.  In this example if the MySQL servers where to fail everything else upstream(Tomcat servers, Apache servers, and web servers) would loose functionality and not be able to serve the website.  Another thing the second picture does is not only does it show the decencies it can help spot single points of failure.

Now not everyone may agree with this view point, but from all the reading I have done it seems this is the viewpoint in which VMware is taking and thus should be studied as such.

If anyone has any other comments on it, please let me know.  I hope this has helped and look forwards to another design question in the near future.