![]() |
Originally posted by Erik Smith to BrasstacksblogBackgroundI have a thing for breaking down complex topics into “Layers” (e.g., Storage Protocol Stacks). I use this approach because it breaks down what would otherwise be an overwhelming amount of information, into chunks of functionality that I can keep in my brain without experiencing a page fault. The layering approach also allows me to set boundaries on what I need to know personally versus what I can just utilize (i.e., without fully understanding all of the implementation details). Put another way, I don’t need to know how to build a bridge, I just need to know how to drive across it. The concept of layering plays out with macro-level trends; SaaS developers use PaaS, and PaaS developers use IaaS, IaaS developers orchestrate services, and these services are provided by whoever configures the IaaS Missing Link, etc. The concept also works at a micro-level and the architecture of a particular 12-factor app could be one example. Now, it’s one thing to intellectually understand the concept of layering and quite another to apply the principle to a software architecture or even to a new storage protocol. In fact, the work that I did with ZTIP has proven to be some of the hardest and most rewarding in my career, at least from a personal development perspective. I also feel compelled to point out that it is also only because of the work on ZTIP that I can fully appreciate the impact that Claudio Desanti (and perhaps others at Cisco) had on my ability to think along these lines. Having the opportunity to watch him create and then easily defend the need for an FCoE Initialization Protocol (FIP) during the T11 standardization process was educational (to completely understate the experience). Side note: A LONG time ago I blogged about FIP here, here and here. In those posts I described how FIP worked, but it wasn’t until a couple of years after I started working with it that I was able to realize that “FIP bridges the gap between the expectations of the FC protocol and the reality of an FCoE topology.” It still melts my mind. A very humble bow to Claudio. An iSCSI exampleIn addition to applying the layering principle to a new protocol or software architecture, you can also apply the principle to something as mundane as a set of configuration steps. To this end, the series of diagrams that follow will describe how you could apply this principle to the process of configuring iSCSI connectivity on VMAX. A h/t to Wei Xiaoyan for collaborating on this with me. BTW, I think breaking down the configuration steps this way is a GREAT way to figure out how you might automate the configuration of these steps. In fact, the process being described below was done in preparation for a project that was intended to do just that, but it was shelved for reasons that will be saved for my post retirement book. :-) Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9 Step 10 Step 11 Step 12 Step 13 Step 14 Thanks for reading! |
