tag:blogger.com,1999:blog-90377219245970073592024-03-19T05:05:59.403-07:00Destiny - The CloudA blog to share Blockchain, security, networking and cloud related technology information as @vCloudernBeer picked up on his search for his destiny in the cloud. (LinkedIn: https://www.linkedin.com/in/chowanthony)Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.comBlogger86125tag:blogger.com,1999:blog-9037721924597007359.post-13723022838002089472017-09-11T09:51:00.001-07:002017-09-11T11:15:14.053-07:00Book review of "Mastering Python Networking"<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-TW</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
<w:UseFELayout/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Trebuchet MS","sans-serif";}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
Last month I had a change to get a hold of the book “<a href="https://www.packtpub.com/networking-and-servers/mastering-python-networking">MasteringPython Networking</a>” by <a href="https://github.com/ericchou-python">Eric Chou</a> from <a href="https://www.packtpub.com/">Packt Publishing</a>. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I worked as a software developer for a networking company
writing value-added firmware on top of the hardware based switching and routing
engine. With in-depth knowledge and experience I still find this book very
useful for me.</div>
<div class="MsoNormal">
<br />
Below is the table of content and brief summary of the book
that I got from the Packt Publishing site:<br />
<br />
</div>
<b>Table of Content</b><br />
<ol>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>Review of TCP/IP Protocol Suite and Python
Language </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>Low-Level Network Device Interactions </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>API and Intent-Driven Networking </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>The Python Automation Framework - Ansible Basics
</li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>The Python Automation Framework - Ansible
Advance Topic </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>Network Security with Python </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"> </span></span></span>Network Monitoring with Python - Part 1 </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>Network Monitoring with Python - Part 2 </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>Building Network Web Services with Python </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>OpenFlow
Basics </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"> </span></span></span>Advanced
OpenFlow Topics </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>OpenStack,
OpenDaylight, and NFV </li>
<li><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span></span>Hybrid
SDN </li>
</ol>
<br />
<div class="MsoNormal">
<b>What You Will Learn</b></div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;">Review
all the fundamentals of Python and the TCP/IP suite</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;">Use
Python to execute commands when the device does not support the API or
programmatic interaction with the device</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;">Implement
automation techniques by integrating Python with Cisco, Juniper, and
Arista eAPI</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;">Integrate
Ansible using Python to control Cisco, Juniper, and Arista networks</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;">Achieve
network security with Python</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;">Build
Flask-based web-service APIs with Python</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;">Construct
a Python-based migration plan from a legacy to scalable SDN-based network.</li>
</ul>
<div class="MsoNormal">
This book is written in a very logical manner covering from
the basics to the more advanced topics. Integrating networking and Python
automation into one and to show the reader how to build a lab environment to
try out what is covered in the book. This hands-on adds value to this book
because it is not just theory.<span style="mso-spacerun: yes;"> </span>We engineers
like to get our feet wet and try things out ourselves.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This book is pretty comprehensive as it covers automaton of
networking device from Cisco, Juniper and Arista Network. The 3 main areas are:</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Automation with Python/Ansible</b></div>
<div class="MsoNormal">
Two chapters were dedicated to this topic and again it cover
the basics of Ansible and them move on the more advanced topic of using
programming techniques to make Ansible more powerful and useful in automating
the network. It also covered Ansible vault and to show how we can write
customized modules.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Network Security with Python</b></div>
<div class="MsoNormal">
Security is also an essential element that a network
engineer has to deal with. One chapter of this book is dedicated to talk about
different tools that can be used to automate some day to day task for network
security including packet sniffing, port scanning, searching syslog and to
automate writing Access Control List (ACLs) with Ansible.<span style="mso-spacerun: yes;"> </span>This chapter also introduces the tool <a href="http://www.secdev.org/projects/scapy/">PythonScapy</a>.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Network Monitoring with Python</b></div>
<div class="MsoNormal">
Two chapters were dedicated for network monitoring. It first
introduced the various Python based tools for network monitoring and then moving
on to the more detail description of <a href="http://www.graphviz.org/">Graphviz </a>on how we can better visualize the
network, how to parse Netflow with Python and the use of AWS based
Elasticsearch for ELK stack.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Python is a powerful and easy to use framework for web based
applications. In this book one chapter is used to describe how to build a
Network Web Services with Python and some reader may find this useful.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The last 4 chapters of this book were about the near matured
technology – SDN. Emphasis are put in talking about Open vSwitch/OpenFlow and
then this book touched on briefly the SDN ecosystem such as OpenStack and
OpenDayLight with instruction on how to try out OpenStack Newtron </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This book ended with a chapter on moving forward with a
hybrid SDN mixing the legacy network with the newer technology of SDN.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Overall, I highly recommend this book for all network
engineers and to a certain degree software developers who want to get into the
field of networking.</div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com127tag:blogger.com,1999:blog-9037721924597007359.post-45027941889585727852017-04-04T12:19:00.000-07:002017-04-06T12:07:09.336-07:00Container Runtime Interface in Kubernetes 1.6<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Trebuchet MS","sans-serif";}
</style>
<![endif]-->
<br />
<div align="center" class="MsoNormal" style="text-align: center;">
<u><span style="font-size: 14.0pt; line-height: 115%;"><br /></span></u></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidrX_fiHhrtw3iixOxapg0pO6L1oLGJpL52Xnk2kjrP5UFod4qJt4O87rH8whIaqM1vhEw8cRdOgUAV2wJihcrDjKNPn-ggtxID8TEwzQdFNT3hZZJtZIYoQCTJWrpsv-Xir0oY4QpEDc/s1600/kubernetes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidrX_fiHhrtw3iixOxapg0pO6L1oLGJpL52Xnk2kjrP5UFod4qJt4O87rH8whIaqM1vhEw8cRdOgUAV2wJihcrDjKNPn-ggtxID8TEwzQdFNT3hZZJtZIYoQCTJWrpsv-Xir0oY4QpEDc/s200/kubernetes.png" width="200" /></a></div>
<br />
<br />
Kubernetes 1.6 was released March 26, 2017.<br />
<br />
<h2>
What’s new in Release 1.6</h2>
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
<div class="MsoNormal">
</div>
According to the blog post from Kubernetes, this release focuses on scale and automation. <a href="https://www.mirantis.com/">Mirantis</a> has a very good “<a href="https://www.mirantis.com/blog/whats-new-kubernetes-1-6-focus-stability/">What’s new in Kubernetes 1.6</a>”. In this article, it listed the following categories of major changes:<br />
<ul>
<li> DaemonSet rolling updates </li>
<li> Kubernetes Federation </li>
<li> Authentication and access control improvement </li>
<li> Scheduling changes </li>
<li>Container Runtime Interface is now the default </li>
<li>Storage improvements </li>
<li>Networking Improvements </li>
<li>Other Changes </li>
</ul>
“Other changes” is the catchall category for those changes that are also important. For all the changes in release 1.6, check out the release notes on <a href="https://github.com/kubernetes/features/blob/master/release-1.6/release-notes-draft.md#major-themes">GitHub</a>.<br />
<br />
Kubernetes also has a <a href="http://blog.kubernetes.io/2017/03/kubernetes-1.6-multi-user-multi-workloads-at-scale.html">blog post</a> describing release 1.6.<br />
<br />
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
<div class="MsoNormal">
</div>
<h2 class="MsoNormal">
Container Runtime</h2>
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
Kubernetes is a container orchestration engine. For container to run on the host, it needs to have a container runtime. Back in release 1.0, Kubernetes only support the Docker container runtime – <a href="https://blog.docker.com/2015/06/runc/">runc</a>. In release 1.3, <a href="https://coreos.com/rkt/">rkt</a> is added. In release 1.5 the <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md">Container Runtime Interface</a> is added to allow Kubernetes to support a wider range of container runtime to integrate with <a href="https://kubernetes.io/docs/admin/kubelet/">kubelet</a> on a node. The container runtime interface in Kubernetes 1.5 release as alpha and the Docker container runtime remains to be the default. With this interface, for Kubernetes to support a new container runtime, it does not need to be integrating deep in the kubelet source code.<br />
<br />
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
<h2 class="MsoNormal">
What is Container Runtime Interface?</h2>
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
In brief, the Container Runtime Interface is an abstraction layer allowing kubelet to interface with any container runtime. Before release 1.5, without this interface, adding container runtime support will have to make coding changes to the kubelet source code. <br />
<br />
This diagram explains how the Container Runtime Interface works:<br />
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
<div class="MsoNormal">
<br /></div>
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: small;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJZ_rVx-rj6BQspj6_0ujCo1d1g24nQmEGIsg_TbR6h22YBZd2qfdq7rMyg0s1p3CPcKDJD-NkfRhHvq0P2tFV5SPZYZzDgYaCGgyUpefK7W5Cv59gdQoUC1J179SV8mar0NvLUyyiHKA/s1600/Kubernetes_CRI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJZ_rVx-rj6BQspj6_0ujCo1d1g24nQmEGIsg_TbR6h22YBZd2qfdq7rMyg0s1p3CPcKDJD-NkfRhHvq0P2tFV5SPZYZzDgYaCGgyUpefK7W5Cv59gdQoUC1J179SV8mar0NvLUyyiHKA/s640/Kubernetes_CRI.png" width="640" /></a></span></div>
<br />
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></span><br />
<div class="MsoNormal" style="text-align: center;">
<span style="font-size: small;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><b> <span style="font-size: xx-small;">image source</span></b><span style="font-size: xx-small;">: <i>http://blog.kubernetes.io/2016/12/container-runtime-interface-cri-in-kubernetes.html</i></span></span></span></div>
<br />
Container Runtime Interface interacts with kubelet uses the gRPC protocol. This <a href="http://blog.kubernetes.io/2016/12/container-runtime-interface-cri-in-kubernetes.html">blog pos</a>t from Kubernetes has a more detailed description on Container Runtime Interface. Like any open source project GitHub usually has good <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md">documentation </a>on the subject. <br />
<br />
Container Runtime Interface is turned on as the default behavior in Kubernetes 1.6 even it is still in beta status. Beside runc and rkt, currently these container runtime are in developement to work with CRI:<br />
<br />
<a href="https://github.com/kubernetes-incubator/cri-o">cri-o</a>: OCI conformant runtimes. <br />
<a href="https://github.com/kubernetes-incubator/rktlet">rktlet</a>: the rkt container runtime. <br />
<a href="https://github.com/kubernetes/frakti">frakti</a>: hypervisor-based container runtimes. <br />
<a href="https://github.com/kubernetes/kubernetes/tree/release-1.5/pkg/kubelet/dockershim">docker CRI shim</a>. <br />
<br />
<h2>
Kubernetes Resources</h2>
<ul>
<li><a href="http://blog.kubernetes.io/">Kubernetes blog</a></li>
<li><a href="https://kubernetes.io/docs/tutorials/kubernetes-basics/">Kubernetes tutorials</a></li>
<li><a href="http://www.stratoscale.com/wiki">Staratoscale wiki </a></li>
<li><a href="https://github.com/kelseyhightower/kubernetes-the-hard-way">Kubernetes the Hardway</a></li>
<li>Weaveworks blog: <a href="https://www.weave.works/kubernetes-beginners-guide/">Kubernetes Beginner's Guide</a> </li>
</ul>
<br />
<br />
<br />
<br />Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com177tag:blogger.com,1999:blog-9037721924597007359.post-46183454160945705232016-12-29T10:42:00.000-08:002016-12-29T10:42:12.206-08:00A project on Data Plane Development Kit<style type="text/css">p { margin-bottom: 0.1in; line-height: 120%; }</style>
<br />
<h2>
Project Title</h2>
A VPP plugin utilizing Intel® DPDK and QuickAssist Technology to perform hardware assisted compression operations.<br />
<br />
<h2 style="line-height: 100%; margin-bottom: 0in;">
Project Description
</h2>
<br />
The <span style="color: purple;"><b>Intel® QuickAssist Technology</b></span> is a powerful hardware based solution to perform crypto and compression operations. QuickAssist offloads the operations from CPU to the 89XX communications chip. A VPP plugin that utilizes the QuickAssist feature for data compression can be used as a graph node and can be called by the packet processing graph. <br />
<br />
<span style="color: purple;"><b>Acceleration Enhancements for DPDK</b></span> currently already has the ability to perform cryptographic operations either by software or hardware depending on the capabilities of the processor that the code is running on. This project will be adding compression to the Acceleration Enhancements for DPDK and at this time limit to hardware based only while later only add in software based compression similar to the crypto counter part. <br />
<br />
This <span style="color: purple;"><b>VPP plugin</b></span> will use this compression feature that will be added to the Acceleration Enhancements for DPDK to perform the compression operation.<br />
<br />
Below are 2 diagrams that I get from the Internet and included in the <a href="https://devmesh.intel.com/projects/a-vpp-plugin-utilizing-intel-quickassist-technology-to-perform-hardware-assisted-compression-operation">proposed project in Intel Developer Mesh</a> for clarity:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifxqtuVyDa2b7utL_dOUn3NKxC4KwCRRKkoqcZBCdV_6eOwLoDcpcwO7YxSbuUPGHfy6rmhyTN9Zb0c44ZVE5SX8BUUP54zCAXA_b_CK4_-doLL8s0g5V2T7V2LjxvmX4DNrnIQNr5vds/s1600/vpp_plugin.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifxqtuVyDa2b7utL_dOUn3NKxC4KwCRRKkoqcZBCdV_6eOwLoDcpcwO7YxSbuUPGHfy6rmhyTN9Zb0c44ZVE5SX8BUUP54zCAXA_b_CK4_-doLL8s0g5V2T7V2LjxvmX4DNrnIQNr5vds/s400/vpp_plugin.jpg" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;"><b>image source</b>: <i>https://wiki.fd.io/images/c/c9/VPP_custom_application_packet_processing_graph.280.jpg</i></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFkx6k1JZPPn7Ibl3ccMQzrtX4jSeD5ozYXgDlZjnrVcniN1ZEaV_N_GaJCqIbC20Onops0_kescP5XdZPoxi2gi-BXY4IkRKQGs5t2p2Vm45o8-y9I6PuZVcBkfkmr-RKurmx2GjaM9s/s1600/dpdk_acceleration_enhancement.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFkx6k1JZPPn7Ibl3ccMQzrtX4jSeD5ozYXgDlZjnrVcniN1ZEaV_N_GaJCqIbC20Onops0_kescP5XdZPoxi2gi-BXY4IkRKQGs5t2p2Vm45o8-y9I6PuZVcBkfkmr-RKurmx2GjaM9s/s640/dpdk_acceleration_enhancement.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<span style="font-size: xx-small;"><b>image source</b>: <i>http://images.slideplayer.com/39/10926601/slides/slide_5.jpg</i></span></div>
<div style="text-align: center;">
</div>
<h2>
Project Use Case</h2>
IP payload compression (<a href="https://tools.ietf.org/html/rfc3173">RFC 3173</a>) that help to save bandwidth can make good use of this hardware assist technology to speed up the compression operations.<br />
<br />
<h2>
Getting Started</h2>
To start this project I first looked at what Intel’s QuickAssist Technology is. Of course Google is the first place I went. I found this <a href="http://www.admin-magazine.com/Archive/2016/33/Boosting-Performance-with-Intel-s-QuickAssist-Technology">article from Admin Magazine</a> very helpful in getting me started. It helped me to have a general understand of the features and a high level understand on how QuickAssist Technology works. One thing I like about this article and found it useful is the block diagrams and also it explains how this QuickAssist Technology can boost performance of different use cases and of course NFV is what I care about the most.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjhlEqIw-5gz7J_YjDcRZdpXjA9IY9SgP2I38LCGYhtZl1fMZa3G63G_Cw5q_lPhKbRFbXwQr0NgFQz9iACvHiH-tP7-o5Jm-eblPEq4aNa4jTmqMuDmU-ijqU0H17euuYC4fJURshJKM/s1600/Intel_QuickAssist_Driver_architecture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjhlEqIw-5gz7J_YjDcRZdpXjA9IY9SgP2I38LCGYhtZl1fMZa3G63G_Cw5q_lPhKbRFbXwQr0NgFQz9iACvHiH-tP7-o5Jm-eblPEq4aNa4jTmqMuDmU-ijqU0H17euuYC4fJURshJKM/s400/Intel_QuickAssist_Driver_architecture.png" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;"><b>image source</b>: <i>http://www.admin-magazine.com/var/ezflow_site/storage/images/archive/2016/33/an-introduction-to-intel-quickassist-technology/figure-3/125991-1-eng-US/Figure-3_reference.png</i></span></div>
<br />
Next this <a href="https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches">web site</a> provides tons of useful resources and most of all it contains the <a href="https://01.org/sites/default/files/page/qatmux.l.2.6.0-60.tgz">source file for the Linux Driver</a> for the hardware that supports this QuickAssist Technology as well as the <a href="https://01.org/sites/default/files/page/330684-001us_api_pg.pdf">programmer’s Guide</a> along with the <a href="https://01.org/sites/default/files/page/qa_cy_api_v1_09_public.pdf">Cryptographic</a> and <a href="https://01.org/sites/default/files/page/qa_dc_api_v1_06_public.pdf">Compression</a> API Reference Manual.<br />
<br />
This <a href="https://software.intel.com/en-us/blogs/2014/12/12/how-intel-quickassist-technology-accelerates-deep-packet-inspections-and-other">article</a> is also a good resource in understand the uses cases of QuickAssist Technology and Network functions.<br />
<br />
With this in place, I download the DPDK source code and the <a href="http://fast.dpdk.org/doc/pdf-guides/prog_guide-16.11.pdf">DPDK Programmer's Guide</a> as well as the Getting started Guide.<br />
<br />
Initially for this proposed project my idea was that currently DPDK already had the QAT related PMD (Pull Mode Driver) and a sample program and thus it should be simple to make "some" modification to add in compression support. Both the <a href="http://dpdk.org/doc/guides/cryptodevs/qat.html">Crypto PMD driver</a> and <a href="http://dpdk.org/doc/guides/sample_app_ug/intel_quickassist.html">dpdk-qat sample application</a> has useful documentations.<br />
<br />
With all the source code and documentations, I am all ready to go.<br />
<br />
<h2>
Hitting a Road Block </h2>
Out of my surprise, currently everything in the DPDK code base is geared specifically on crypto and no mention of compression. I found myself hitting a road block. I am not sure if I should modify the existing Crypto QAT driver or come up with a Compression QAT driver. First of all I see that this is a design decision and also being new to DPDK, I am not quite ready to write a new Pull Mode Driver from scratch. I need more time and information.<br /><br /><h2>
Reaching out to the DPDK Community for help</h2>
I then reach out to the <a href="mailto:dev@dpdk.org">DPDK developer mailing lis</a>t but unfortunately, this is over the Christmas holiday and only after 3 days that I got one reply saying compression is not currently supported as well as point me to a DPDK QAT documentation.<br />
<br />
Another day passed, still no further reply on my query and I sent out another Email to the mailing list. This time I also mention not getting any help from the DPDK mailing list. In that afternoon, I get a reply from an Intel program manager. He told me his team worked on crypto portion of QAT and kept me engaged over Email.After explaining to him where I am coming from he said most of his team member are on vacation and when they come back in January 2017, they will see if they have the resources and priority to get this going and is happy to include me in making this to work. <br />
<br />
<h2>
Project Scope needs adjustment</h2>
It seems that the scope of this project is bigger than I have expected and takes longer time and more collaboration of the DPDK community to complete.<br />
<br />
<h2>
</h2>
<h2>
Current Status of this Project</h2>
While waiting for the DPDK design decision and collaboration, I am currently looking at building a VPP plugin.<br />
<br />
I am only able to complete this much by December 30, 2016. There is no code to show and nothing to demo yet.<br />
<br />
I, however, even not able to finish this project before 2016, I am going to complete this proposed project in 2017. Will update the latest status as I move along.<br />
<br />
<h2>
Are you interested in working on this project? </h2>
Join me in this project if you are interested and make it to completion. Contact me at the <a href="https://devmesh.intel.com/">Intel Dev Mesh website</a> or ping me on Twitter - <a href="https://twitter.com/vCloudernBeer">@vCloudernBeer</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDMdCxyd73MgUg8i4iJv4er3spt1SPJAM6R5adv1eRWDFz7dQOq9h_N85t_1QGmKmeaiE6haC7TugiWCMSHAmYxCIUcDDxFE1aAkp5JVZM1jxFDSSWTgBTeO7ZMqgwKXTmnJ05lxThfNc/s1600/dpdk_logo.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDMdCxyd73MgUg8i4iJv4er3spt1SPJAM6R5adv1eRWDFz7dQOq9h_N85t_1QGmKmeaiE6haC7TugiWCMSHAmYxCIUcDDxFE1aAkp5JVZM1jxFDSSWTgBTeO7ZMqgwKXTmnJ05lxThfNc/s1600/dpdk_logo.jpeg" /></a></div>
<br />Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com34tag:blogger.com,1999:blog-9037721924597007359.post-29843110567190599352016-09-12T19:56:00.000-07:002016-10-25T13:36:06.494-07:00Programming made simple.With the advent of DevOps, more and more people are finding the needs to do basic programming. While the need to do programming for "non-programmers" is mounting, I see that a lots of people is looking at programming as a tall mountain and they are finding this hurdle difficult to overcome.<br />
<br />
This blog post has the intent to try to make programming a easy task for "non-programmers". This post is for programming in general and is not any programming language specific.<br />
<br />
All programming language can be simplified into 3 basic operations or ingredients. These are the building blocks for all programming languages be it the simple "Hello World" or as complicated as artificial intelligent software.<br />
<br />
The 3 basic building blocks are:<br />
<ol>
<li>Assignment</li>
<li>"If-then-else" / conditional statemen</li>
<li>Iterations</li>
</ol>
<h2>
Assignment</h2>
Most computer program has to deal with data manipulation. Often time a block of memory is reserved called a variable. This variable should be named and also with a meaningful name to remind even the author of the program as to what the variable is for. Some programmers are lazy and name their variables x, y and/or foo instead of meaningful name such as return_code, username ... etc. (As a side point, when developing a a software program, all the logics seem so obvious but then 3 months down the road in the middle of the night, we might be scratching our head asking, why did I write this logic).<br />
<br />
Anyways, getting back to the topic, assignment is when we assign a value to a variable. Depending on the programming language, some variable are very strict in the type of the variable. If a variable is reserved/declared as integer, we can only assign a number value to this variable. There are other programming language such as Python that the type is not checked by the interrupter/compiler. Type checking is another big topic that we can look into and in this post we will just concentrate on the 3 building blocks of computer programming.<br />
<br />
Example of variable assignment in go:<br />
<br />
<span style="background-color: #cccccc;">var string1 string</span><br />
<span style="background-color: #cccccc;">string1 = "Hello World!" </span><br />
<span style="background-color: #cccccc;">fmt.Printf("I just wrote my first program: "%s", string1) </span><br />
<br />
Depending on the context, the variable "string1" may not be a good name to use as it did not reveal how this variable is being used.<br />
<br />
<h2>
If-then-else or conditional statement</h2>
This is called the conditional statement and different programming language has different syntax to express the conditional statement but the concept is the same. Depending of the condition (or the value of certain variables) the program will execute different sets of logic.<br />
<br />
<br />
The format is:<br />
<br />
<span style="background-color: #cccccc;">if condition A {</span><br />
<span style="background-color: #cccccc;"> do something</span><br />
<span style="background-color: #cccccc;">} else {</span><br />
<span style="background-color: #cccccc;"> do some other thing</span><br />
<span style="background-color: #cccccc;">}</span><br />
<br />
The "else" part is where condition A is not true. Or we can be checking the condition in anther way:<br />
<br />
<span style="background-color: #cccccc;">if condition A is not true "</span><br />
<span style="background-color: #cccccc;"> do something</span><br />
<span style="background-color: #cccccc;">} else {</span><br />
<span style="background-color: #cccccc;"> do some other thing</span><br />
<span style="background-color: #cccccc;">}</span><br />
<br />
For example:<br />
<span style="background-color: #cccccc;"><br /></span>
<br />
<table class="highlight tab-size js-file-line-container" data-tab-size="8"><tbody>
<tr><td class="blob-code blob-code-inner js-file-line" id="LC82"><span style="background-color: #cccccc;"><span class="pl-k">if</span> <span class="pl-smi">_</span>, <span class="pl-smi">err</span> <span class="pl-k">:=</span> <span class="pl-c1">checkMonthIndexSize</span>(i); err != <span class="pl-c1">nil</span> {</span></td>
</tr>
<tr>
</tr>
</tbody></table>
<table class="highlight tab-size js-file-line-container" data-tab-size="8"><tbody>
<tr><td class="blob-code blob-code-inner js-file-line" id="LC83"><span style="background-color: #cccccc;">fmt.<span class="pl-c1">Printf</span>(<span class="pl-s"><span class="pl-pds">"</span><span class="pl-cce">\n</span><span class="pl-c1">%s</span><span class="pl-cce">\n</span><span class="pl-pds">"</span></span>, err)</span></td>
</tr>
<tr>
</tr>
</tbody></table>
<table class="highlight tab-size js-file-line-container" data-tab-size="8"><tbody>
<tr><td class="blob-code blob-code-inner js-file-line" id="LC84"><span style="background-color: #cccccc;">} <span class="pl-k">else</span> {</span></td>
</tr>
<tr>
</tr>
</tbody></table>
<table class="highlight tab-size js-file-line-container" data-tab-size="8"><tbody>
<tr><td class="blob-code blob-code-inner js-file-line" id="LC85"><span style="background-color: #cccccc;">fmt.<span class="pl-c1">Printf</span>(<span class="pl-s"><span class="pl-pds">"</span><span class="pl-cce">\n</span>Slice is initialized correctly (len = <span class="pl-c1">%d</span>)<span class="pl-cce">\n</span><span class="pl-pds">"</span></span>, i)</span></td>
</tr>
<tr>
</tr>
</tbody></table>
<span style="background-color: #cccccc;">}</span><br />
<br />
The above logic is
written in go and it is only for demonstrating purpose. This is a more complex construct of the if-then-else logic where we we execute a function and depending on the return value or error condition of the function to decide if we should print out an error message or a informational message.<br />
<br />
<br />
The if statement is checking for the return value of the function <b>checkMonthIndexSize</b>(). I have not include the function as I am only trying to illustrate the "if-then-else". The function <b>checkMonthIndexSize</b>() returns a value where we choose to ignore and the build in error checking feature of the go language.<br />
<br />
In fact this is
taken from the demo program that I have written for one of the <a href="https://github.com/commitmas/30-days-of-commitmas-2015/tree/master/challenges/30">episodes</a>
in "<a href="https://github.com/commitmas/30-days-of-commitmas-2015">30-days-in-committmas 2015</a>". If you are interested you can find the podcast <a href="https://www.youtube.com/watch?v=X0_FLgB-O4g">here</a> in YouTube<br />
<h2>
Iterations</h2>
Programming usually involve in doing the same operation multiple times or depending on the value of a variable.<br />
<br />
Most programming languages have the "for-loop" and the "while-loop".<br />
<br />
Example of a <b>for-loop</b>:<br />
<br />
<table class="highlight tab-size js-file-line-container" data-tab-size="8"><tbody>
<tr><td class="blob-code blob-code-inner js-file-line" id="LC109"><span style="background-color: #cccccc;"><span class="pl-k">for</span> <span class="pl-smi">i</span> <span class="pl-k">:=</span> <span class="pl-c1">6</span>; i < 12; i++ {</span></td>
</tr>
<tr>
</tr>
</tbody></table>
<table class="highlight tab-size js-file-line-container" data-tab-size="8"><tbody>
<tr><td class="blob-code blob-code-inner js-file-line" id="LC110"><span style="background-color: #cccccc;"> fmt.<span class="pl-c1">Printf</span>(<span class="pl-s"><span class="pl-pds">"</span> [<span class="pl-c1">%d</span>] := <span class="pl-c1">%s</span><span class="pl-cce">\r\n</span><span class="pl-pds">"</span></span>, i, string1[i])</span></td>
</tr>
<tr>
</tr>
</tbody></table>
<span style="background-color: #cccccc;"> }</span><br />
<br />
Usually a "for-loop" will do 3 things:<br />
Assign a value to a variable and this case i := 6<br />
check certain condition and in this case if ( value of the valuable is less than 12)<br />
increment the value of i by one and in this case i++ or it can also be i = i + 1)<br />
<br />
Example of a <b>while-loop</b><br />
<br />
<br />
<span style="background-color: #cccccc;">while ( condition is true) {</span><br />
<span style="background-color: #cccccc;"> print a "dot" on the screen</span><br />
<span style="background-color: #cccccc;">}</span><br />
<br />
This is good for user interface. Let say we are doing a file transfer using ftp and we can see the progress by seeing dots being printed to the screen and we know the file transfer is still happening. (Over simplified example for file transfer logic for illustration only).<br />
<br />
So we can see this value assignment and condition checking is being used in the for-loop or while-loop.<br />
<br />
<h2>
Happy programming</h2>
Of course there are more to programming but this post is trying to help you get over the barrier and start programming. You can see there 3 basic elements in very complex programs.<br />
<br />
Of course there are data structure and object oriented approach plus other features to programming for the complex programs but we can use these 3 basic building blocks to start. We got to start somewhere.<br />
<br />
So: <span style="color: #4c1130;">Happy Programming</span>. <img alt="Image result for Happy face" class="rg_ic rg_i" data-sz="f" name="rYCsy5UdIiK3dM:" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxAPEBAPDxAPDxAQEBUPFRAQFRIVEBgRFRUZFxUSFxYYHiggGRolGxUVIjEhJiorLi4uFx81RDMsNygtLisBCgoKDg0OGBAQGCslICUrLy0rKy0tLS0rKy0uKystLSstKy0tLS0tLy0tLS0vLS0tLS0tLS4uKy0tKy0wLS0tLv/AABEIAOEA4QMBEQACEQEDEQH/xAAcAAEAAQUBAQAAAAAAAAAAAAAAAQIDBAUGBwj/xABLEAACAgECAwQGAwoLBwUAAAABAgADEQQhBRIxBhNBUQciMmFxgRRCkQgjM1JiY4KSobEVNENTVHJ0g6KztBYkc6PD0+FElMHR1P/EABsBAQACAwEBAAAAAAAAAAAAAAABAwIEBgUH/8QAOhEAAgEDAAULAwMDAwUAAAAAAAECAwQRBSExQVEGEiIyYXGBkbHB0ROh8BRC4TNSYiMk8RVygpKy/9oADAMBAAIRAxEAPwD3GAIAgCAIAgCAIAgCAIBrrePaRSV7+t3XqlZ7ywfFEy37JhOpCHXaXe8DBZ/2hrIylWqf+5es/wDO5ZqS0lax21F6+hlzJcCye0Tf0HWfHm0X/flMtM2i/dnwfwT9ORB7Rv8A0DW/raL/AL8xWm7N7ZNeD+CfpyLg7R1gZso1df8AdGw/ZSXlsdL2UnhVF916oj6cuBcr7S6I45tQlRY4C6jmocnyC2hTn5Tcp16VX+nNPuafoYtNbTaqwIBBBB3BHSWkEwBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQDX6vjFVbFF5rrR1qpAZgeuGJIVP0iMyqrXp0lmbwSk2YVmp1Vn1q9Mu/4MC273HmYcin3crfGeTW0wlqpx8X8fyZqnxMd+F1v+GDag9f94ZrFz5hG9RT/VAnlVr+4qbZvw1ehYopGUqADAAAHQDYfZNCWvaZArKmSQVlbJKSsqYKSsrZJQy7YPQ+ErZJgDhNKktUpoYnmLadmpJbzbuyOf8ASyJtUdJ3dDqVH3PWvJ5MXCL3GRVrdbT0sr1S7+rqAK7Nz4W1LygAeBrJPnPatuVElqrwz2x+H8orlR4M2Oj7SUsQlwfS2MeULfyhWOcAJYpKMT4Lzc2OoE6S00hb3S/0ppvhsfl+IplBx2m5m6YiAIAgCAIAgCAIAgCAIAgCAIBi67XpTgNlnbPJUgzY2OuB5bjJOAM7kTGc4wXOk8IGstF1/wCFY1V/zNLEEj85aME+Gy4HUZYTx7jSUnqpau3eWKHEu00LWoRFVFHRVACj4ATyZtyeW8ssK8SlokYlbBGJUySOWVskgrKmSUlZUwUkStklJWVMkoKytklDLK2C3bUGBVgGVhgqQCCD1BB6iRGTTygY2nF+l/irgoP/AEtxY09NhW+7U+HQMoA9jfM6Sw5R1qWI1+nHj+5fPjr7SmVFPYb7hXGqtQTXhqr1GWotwLMbeuuNnTcespI3wcHIHZ2t3RuYc+lLK+671uNeUWtTNnNggQBAEAQBAEAQBAEAQBANbrOIMWNWnwzjZ7G3rr9xx7T+PKDsNyRkZ169xGkte3gSlks6bSKmTlndsc9r4NjY6ZPQDc4UYAzsBPDrVZ1XmTLUsF/EoaJGJW0SMSpgjEqZIxKmSRiVMkgiVMkgiVMkpIlTBSRKmSUEStklBWVsFsrMMklJEnIMbV6NLQvMN0bnR1JWxHwRzow3U4JGR4EjoTNm2uqtvP6lKWH+anxRi4p6mZXDeOPSUp1rBgzCuvV4CqzE4VLgNq7DsAwwjHYcpKoe+0Vpmne9CXRnw3Pu+NvftNWdNx7jpJ7RWIAgCAIAgCAIAgCAarWatrWamliqqcWXDqD/ADafl+Z+r8emrc3KpLC2mSWSuihUUIgCqOgH7fic75njSbk8ssLmJi0BiVtEjErYGJSySMSpkkSpkkGVMkgypkkSlgplTJIMqZJSRKmSUFZUySgiYZBQVk5BQRMsgtXVK6srKGVgVZWAKlTsQQeoI8JlGTi009ZA4XxJtIVpuYtpmIWu5yS1THZa7GO5QnYOdxsD4Gd3oXTSucUaz6e5/wB38+prVKeNaOpnSFIgCAIAgCAIAgGt4nqmLfR6jyuw5nsH8nWdsj8tsEL4DBO+MHXuK6pRzv3EpZGnpVFCIMKowB/58T754jk5PLLS8BM0iCcTFoDEqkSRKpEkGUskgypkkGVMkpMpZJBlTJIMqYKTKpEkGUskgypklJlTJIIlZJQRGSCgiZZBQRJBatrDAqwDKwKlWAIIOxBB6iZxk08ogr7P65qHXR3OWRs/RrXOXIAJOmcn2mUAlW6soOclCzfQ9C6VV5T5k+vHb2rj8/zhatSHNeVsOlnuFQgCAIAgCAYvEtZ3Kc2OZ2IREzjmsPRc+A6knwAJ8JjOahFylsQMHRafkU8x53c89j4xzOcZPuGAAB4AAeE52rWdWbky5LBlCQmCsTNMgmQ2SJU2CJUyTn+0nbHh/DcDWalK3YZFQDPaRvhuRASF2O5wNplTtqtbqINpFns7244bxFu70upVrcZ7pw1dhHU8ocDm+WcTCvaVqSzOOoKSZ0RmizMpMpZJBlTJIMqYKTKmSQZSyTSdou1Wh4cB9L1CVFt1TDNYR5hFBONuvSX21hcXWfpQz27F5shyUdpicA7dcN1791ptSpt8KnDVuep9UOBzbAnAzjEXeiru2jz6kNXFa1442eIjOL2HRTyWWCAUkSSC2wmSBbImSBja3SrahRs4JDBhsyupDI6nwZWAYHwIEvt7idCpGrTeGvz77zFpNYZt+zvE2vrZLeX6RQRXaFBCscZW5AfqONxucHmXJKmfULK7hd0Y1Yb9q4PevzdhmnKPNeDbTaMRAEAQBANELO/ua3+TqLU1DwJBxbb9o5B7kJGzzxdJXGZfSW7b3lkFvMwTzkzMrEyTBWJlziCZDYImDZJz3bztKvC9Ddqjg2DFdSHo1zeyPeBgsfcpllvRdaoo+fcQ3hHyjxHXW6m1773a221i7u3Uk/uHu6ATpYxUUoxWopLNNrIyujMjowZXUkMrA5DAjcEHxktJrDB9R+jHtX/CuhW2zH0io9zdjAy4AIsAHgwIPxyPCchpC2+hVwtj1o2IPKOsnmszIMpZJEqYKZUyTS9sOPpw3R3atgGNa4RD9a1tkX4ZO/uBl1lau6rxpLft7FvIlLmrJ8q8T4hbqrrNRe7WW2tzs7dSfL3ADAAGwAAn0ijShRgqcFhLYajedbMeqxkYMpKspDBlJDBhuCCOhzM5RUk01qIPpX0W9rDxPRZtIOp05FVvQFtvUtwOnMAfmreE+Z6c0crO46HUlrXZxXh6NG7SnzkdlPGLBAKGElEFDCZIFphMkDC1Fx01iawZxWClwGfW0xOWOPEocONicBwPbM6Hk/pD9PX+nJ9Gerue5+z/AIKascrJ2IOdxuJ9ANUmAIAgGv45qWrq5UPLbcwprO2QzAkuM9eVA748eSVV6qpU3N7iUssx9PStaqiDlVFCqPJQMAfZOUc3Jtvay8viSmCsTLJBVJ5wJkZBExbJPEPujeInm0OlDeqFs1DL5kkIh+WLPtM9fRUdUpeBXM8XnsFYgHqn3PnECmv1Gnz6l+m58fl1MOX/AAvZPG03TToxnwfr/wAIspvWe/Gco2XlMqZJEqZJBlTJPHPuh+IEJodMD6rNZew96gIh/wAdk6bkzSTlUqdy89b9EUVnsR4pOtKBAPSfQRxA18SenPq6jTsOXwLoQyn5Lz/bOa5U0VO0U8a4yXk9XrguoPpYPoCfPjbEAGAW2EyRBbYTJAtMJkgZPZLUYR9IT62lICDbJ0z5NJx5DlevJ6mknxn07RN5+rtYzfWWp96+dT8TSqR5ssG+npGAgCAaLVWd5qm8V0yCvr/K24d8jzCCrB/ONPE0xWwo013v29yymt5kLPETLS4JlkgrEnIJk5AjIEhsHz390Oh/hLTtjY6FAD7xdbkftH2z39Ev/Rff7IqqbTy2eoYCAeg+gxSeL1kdBRaT8OXH7yJ5WmXi1fejOn1j6QM45s2CJU2SRKmySkypknhf3Qqn6Voz4HTsB8Q+/wC8Tr+TLX0qi7V6GvW2o8mnTFIgHaehxCeNaQgZCi4n3DuLBn7SPtnicomlo6p/4/8A0iyl10fSs+aG6IAgFLCSiC2wmSBaYTJAxku7nVae7OFdvolmTgYtI7pvee9CIP8AjNOo5MXXMryovZJau9fxnyRRWjqyddO5NYQBAOa4Q/PWLvHUM2o368th5kB94TkX9Gcff1vqXE3248tRsRWEbBZq5JKxJyCsScgmTkCMgSMg8e+6I4Sz0aTWKMil3ofAJ2sAZGJ8ACjD4uJ7Ghqq50qb36/IrqLeeFzoCoQD2D7nnhBN2r1pB5UrGmU+BZyHf5gIn685/T1ZKEKXj7fncW0lvPcJyzZeRKmySJW2CJU2SeU+n/hJs0mn1agn6Naa3x4JaB6x+DIo/TnRcmrhRrTpP9yyu9fw35FVZasnhE7U1hAPVfQBwpn1Wp1ZHqU09yCQcGyxgdj7lQ5H5YnKcq7hRoQora3nwX8v7F9Ba8nuk4Q2hAEAGAW2EyRBaaZIGFxPTtZVYiHlcqeRvxbBvW/yYKflNq0ruhWhVX7WmYyWVg6fhusXUU03pkLdUloB64dQwB9+8+sdxomTANd2jsK6S/lPK7VmpD5WWeoh/WYTCpPmQlLgm/IIxa1AAA2AGAPcOgnB87Os2i6sZBcWTkFUnIJk5AjIIkZBg8c4VVrdPdpbxzVXIUPTI8Qwz9YEAj3gTKlWlSmpx2oNZPlvtj2P1XCrjXejNUTivUKD3Vg3xg+DYG6ncfDBPY2t5TuI5i9e9b1+cTXlFoxuzXZrV8StFOlqZ9wGsORUgP1nfoB7up8ATtMri6pW8edUfhvfcQot7D6h7KcAq4bpKtJTuKxlnIwXsO7ufifDwGB4Thru5lcVXUlv+yNqKwsG3mo2SRK2ySmVNkkStsGJxXh9eqpt09y81VyGth44PiD4EdQfAiKVedGpGpB608oNZWD5i7ZdjNVwu1ltRnoLfe9So+9uvhk/VbzU+R6jBP0jR+k6N7BODxLfHevldvvqNScHFmv7PcA1PELhRpamsYkczYPdoD9Z26KNj8egydpfd3lG1pudWWF932JbyIxcnhH012O7OV8M0lelrPMR69lmMF7W9p8fIAeQAE+YaRvp3ld1ZeC4LcvzebsI81YN3NIyEAQBAKGkogtNM0C20yQMzsk3+7tWTk033V/BDYXrX5Vugn1HRdX6tnSl/il5avY0ZrEmbqb5iajtNg11Ifr6mn7a377/AKU0dJS5trUfZ66jKHWRbWcTk2S4snILixkFUnIEZAjIEZAmLYKXUEYIBB8DuJjzsApRAowoCjyAwJjKTe0kqlbYIlbZJErbJIlbYIlbZJEqbJKGAIwQCD4HpMM8ARXWqjCgKPIAASG29bJKpAEAQBAEApaSiC00yQLTTNAvdl8LbrU8WsrvP6VK1/8AQn0Lk5PnWKXCTXv7mpW6x0E94qNF2nPr6H+2N/pNRPL0zLFpLtx6ozp9YlTOLybJcUxkFxYyCqTkDMZAzGQJGQRIyBMWwRMGyRMWwRK2ySJg2CJW2SRK2wQZW2SRMCRAEAQBAEAQClpKBbaZIgtNM0COzv8AHdX5fRdJ9veavP8A8Tu+S7/2s1/l7I1a3WOmnSlJoe1J9fQf2xv9JqZ5Om1mzk+DXqiyn1gpnEZNguKYyC6pjJJVGSBJyBGQJGQRIySJi2CJi2CJg2SJg2CJg2SRK2wRK2ySJgSIAgCAIAgCAIBS0lAttMkQWmmaBHZ3+O6v+yaT/N1c7rkuv9tN/wCXsjVrbUdNOmKTS9qQBXRYf5PVVfbYTSP82edpeLlZVEuHo0zOn1kWVM+f5NouKYyC6pkZBVGQMycgxOLcSq0lNmovfkqqXmZsE4HToNyckDHvllGnOtNU4LLZDeNZd0OrS+qu+o81d1a2o2CMo6hlODuNiOsxqRlTk4S2p4fgStZeleSSJi2BMWwRMWwJg2SRMGwRK2ySJg2SIAgCAIAgGu4DxzT6+n6RpbO9q5mTmwynmXqCGAI8D8xNi6tKtrU+nVWHt/MGMZKSyjYzXMhAKWkogtNMkC00zQLvZkA3axx9VqqD+jX3mP8An/tn0Hk3Dm2WeMm/RexqVusdDPfKjU9q0zotQ2CxqT6QqjqXoItUD38yCVV6f1aU6fFNeawSnh5MJGHUbifL8m6XVMjILqmRkFcZAjIPNvSDrDxTVUcB0rZBdb9bYp2roQg8nj62SD8eQeJx7+jYK0oyvavDEFxb3/m7JVPpPmo9HqrCKqqAqqAoA6AAYAngym28stKpjkETHJImLYImLYEwbJImLYImBIgCAIAgCAIB5rwm/wDgTi9+kuPJoeKWHU6ew4CJqDjnrPlkkDx2FfmZ0teH/UrCFaGupSXNkt7jufv/AO3ApXQljcz0qc0XCAUNJRBaaZoFtpkgZXZFM0224wbtVcx94rbuFb4FaVPwIn0/RFL6VlSi+GfPX7mlUeZM3k9EwIZQQQRkEYIPlAOO4MCtK1MSWoLaYlvaJpY185/rBQ3wYT5ppOj9C7qQ7cruetepuQeYo2KmaGTMuqZGQchxT0ocK01ltL3WNbS7VOiVWZ50JDKCQAdwRnOJ69HQl5VjGcYrDWU21sZW6kUaXinanjHEarBwrQXaSoIzfStVhLmAXPLUh25jjAI5tz1XrNujZWNrNO6qqTz1Y60u98F4eJi5Sl1UY3oF4lp3o1NPKF1ved7bYSTZbWT6rknf1SSCOgyD1YyzlLRqxqQnnoYwluT4eP5sFFrB6tOYyXCRkCY5BExbJExbBExbAkEiAIAgCAIAgCAcD6adfpauGtXeiW23MFoU7Mtg63AjccoJ+PMAdmnv8m6Nad4pU3hLrd3Dx/ncVVmubrNF2R7Qcb0Wj09uq0dnENHZWHR6jzauus+zzAbuOUBhnwYet4Df0hZaOubicKVRU5p4afVb7OGvV37t5hCU0tayjoNP6WuEt+EsvobOCltL8ynxB5OYTz5cm75dVKS4pr3wZ/Widu08NFhaaZIGJxHU91VZbgt3aM4UdWIGQo95OB85sW9F1qsaa2yaXmQ3hZOi4Po/o+noozzGqpKyx6syqAWPvJyfnPrMYqKSWxGgZkkCAcrr6+51tg+rqkGoXcn75WFqtHuHL9HI8yWnHcqLbEoV1v6L9V7+RsUZbUXlM5LJeXVMjIJWtc83KvN+NgZ+2HN4xknBdmOQeC9vNBdwHi6cR0gxTe5tA+pzH8Np29xySPINt7M7rRlanpOxdtV60Vjt/wAZLu/52mrNOEso9o7O8cp4hpq9Vp2ylg3B9pXHtVsPBgf/AL6ETjbu2qWtV0qi1r7rijYi1JZRsszVyZCRkESMgSCRAEAQBAEAQBAEAx+Ia6rTVWX3OK6qlLs56AD9593UyyjSnWmqcFlvUkQ3hZZ4LQ13ajjALB10lW5X8TTKfZyPrufHfdvELO+kqehdHtLXN/eT9l+a2auupPsPoFECgKoAAAAA2AA6ACfPW23lm2UWVqSCVUkdCQCZkpNakyCljJQLbGZIGI9XfajTUdQbPpL7kHu9OVYY/vTQMeILTpOTVr9S6dV7IL7vUvtl+BTWliODr53pqiAIBpu1WlL0i5AWs0r/AEhVXJLKAVtrAHtE1s4A6c3KfCaWkLRXVvOlva1d62fnAyhLmvJr6bAwDKQysAwYbgg7gj3T5bKLTwzdLymYMkuqZiwXBIJNR2q7P08S0tmluGzesj4yyWD2bF94z8wSPGbdje1LSsqsN21cVvX53mMoqSweD9nuN6zs1r7KL0LV8wF1IPquv1bqifHG4Pj0OPDvbu1t9MWyqU3r/a+D4P38126sZOnLDPoLg3FqNbSmo01gsqcbEdQfFWHgw8jPntzbVbeo6dVYaNtNNZRmygkQBAEAQBAEAQBAEAs6zV10Vvbc6111rzM7nCgDxJmdOnOpJQgst7EQ3g+fu33bO/jeoTRaJXOn7wLXWNnus6B2HgPIHoNz7voOitF09G0nXrtc7Gt7orgvfjsXbqzm5vCPYPR92SThWkFXqtfZh77B9Z8bKD15VyQPmdsmcdpbSUr6u5/tWqK7OPe9/luNinDmo6czzDMtsZkiC2xmSBbaZIF7spRz99qz/LEVVdcfR6iwVsdPWdrGyOqmvyn0nQln+mtI5XSl0n47F4L75NOpLMjoJ65WIAgCAccKPot76XohBvo6fgSw56gPzbMB0wFsqHnOE5R2H0q314roz29kv529+TZoyysGYpnMsvLimYsFxTMWCuQScr2+7FU8Wo5TivU1g91djp+Q3mh/Z18wfV0VpWpY1MrXF7V7rtK5wUkeGcN4nxHs9rGQg1sPwlD5NNqeDeR8cONxv7xO7rW9ppa3Utq3NbU/zan8GsnKmz3Hsb6QNFxRVVGFGpx62msI5s+PI2wsHXpv5gThdI6GuLJttZh/cvfh6cGzZhUUjrJ5JYIAgCAIAgCAIBz/AGr7Y6LhiZ1No7wjK0Jhrm8vV8Bt7RwJ6Fhoy4vZYpR1b29i/OC1mEpqO08H7U9rtfx29KVRghbFWjpJYc34zHbnbH1jgAZ2G872x0bbaMpObevfJ+3Bdm/t1GrKcpvB676NPR+nC07+/ls1ti4LDda1PWtPf5t8unXkNNaZley+nT1U19+1+yNinT5ut7Tu54JaUsZKILbGZIFtjMkDB1ga1q9LWStmoyCynDJQuO+tHkQGVQd8PYnhme1oSw/V3C5y6Mdb9l4+mSqpLmo6+ipa1VEUKiKEVVGAFAwAB4ACfRzUK4AgCAIBrOP8NOoqHdkLfU3e1OfZ5wCOVtj6jKWU7ZwxI3AI17u2hc0ZUp7H9nufgTGWHlGk0OqFqBuVkO6tW2OdHU4etsZGQQRtkbbEjefL7q2nb1ZUqm1fmV2M3YtNZRlKZrMyLimYsFwGYgqkEml7U9ltLxOrutVXkrnktXAtQnqVb7Mg7HA22m7Y6Qr2U+fSfetz71+MxlBSWs8D7YejvXcLJtAOo06nmGopByuN82KMmvp13HTed/o/Tdtermvoy/te/ue/17DUnTcTL7M+ljiGj5UuI1tQ25biRaB5C0b/AKwaU3vJy0uMyh0Jdmzy+MExrSR6XwX0u8M1GBc1mkc4GLVLJn3OmdvecTmbnk1e0tcEprsevyePtkuVaLOx4fxvSanfT6nT3f8ADsRj8CAdjPGq2lej/UhJd6aLVJPYzPlBIgGJruKafTjmvvppHnbYiD/EZbSt6tV4pwb7k2Q2ltOS4z6VuFabIW5tU4+rp1JH67YXHwJnr2/J2+rbY81f5P2WX9it1oo837SemHXajKaRV0VZ25h695/TIwvyGR5zpbPkxbUsSrPnvyXlv8X4FMqzew5/sz2O4hxiw2KH5GbL6u8tyZ8TzHextugz4Zx1noXuk7WwhzW1ndFbfLcu/wADCMJTPeexfYjScKT70O8vZcPqXA7xvNVH1Fz9UeQyTjM4HSWlq99LpvEd0Vs/l9vlg24U1E6eeYZlJMkgoJmQLbGSgY+pvWtWdzyqoLE+QH75bTpyqSUIrLepIhs2HZrh7orai5St+o5Sa2wTVUPwdO22Rks3X1nbcgLPp2jbGNnQVNbdsnxfwtiNOcuc8m7m+YCAIAgCAIBzfaHQGl21tKMwIH0mpASzKowL0Ue1YqgAgbsgAGSiKfF0zov9bT50OvHZ2rh8dveyynPmvsLVNquqsrBlYBlZSCpUjIII6gjxnzqUXFtNa0bZeBmBJWDIwCsGY4BWDIJEA4rtL6MOG64lxWdLcdzZp8KCfyq/ZO53IAJ857Vlp+8tujzudHhLX5Pb7dhVKlFnm3GfQxxCrJ01lOrXwGe6tP6LHl/xTprblTa1NVVOD815rX9il0JLYcfr+yHEqCRbodUMfWWtnT9dQV/bPYpaTtKqzCrHzSfk9ZW4SW4wF1mpo9QW304+qGdMfLM2HSo1Ok4p+CZGWiX4lqbPVN+osztyl3bPuxmFQow1qCXghlmVouy/ELyBVotU+fEVWBPmxGB8zKamkLWn16sV4r0JUJPcdbwf0PcTuIN/c6RM794wezHmFTI+RInk3HKezp/08zfYsLzfwyxUZPaei9m/RJw7Scr3htbaPG4AU58xUNiPcxac3ecpLuvmNPoLs2+fxgtjRitp3yIFAVQFAGAAMAAdABOfbbeWXFWYBSTJwQUEzIFtjJBQTMgWeC6Qa111DjOlqcPSD0utU7X48a1PsE+0w5xsqMe70Dol28f1FVdNrUv7V8v7LVvaNWrUzqR1k6UpEAQBAEAQBAEA5finDjpGa6lS2mYl7KlBLVMTlra1HVCcllHQ5I6kTnNNaF/Up1qK6e9f3fz6l1OpjUxVaGAZSGVgGDKQVIO4II6icHKLTwzZLgMxwSXA0xwCoGRgFQaRgFWZBIgCACIBAGOkAmAIAzAKS0nAKSZOCCkmTgFBMnAKCZkDH0OjOvPlox7Tfz/5CfmvNvrdBtknstCaExi4uF/2x937LxZrVKm5HWqoAAAAAGAB0x5TrigmAIAgCAIAgCAIAgHNcR4I9DPdo15kYl7NJkAFjubKCcBHPihIVjv6pLFvD0roWneLnw6M+O59/wA+urFsKjjqewx9Hq0tXmQkjPKQQVdWHVHRgGRh4qQCJwVxb1KE3Tqxw1+ePebKaayjIBmvgyKw0jAKg0jAKgZGATzSMAnmjAHNGCRzRgDmjBBHNGAQTJwCktJwCktJwCkmTgFjUaha1Luyoq9WY4AllOnKpJRgst7EiGyNFwl9aA+oV6dKd/o7ArbcPDvh1Ss9e79ptg2BzIe40ToGNu1VuMOe5bVH5f2W7OpmtUq51I6tVAAAAAAwAOmPKdKUkwBAEAQBAEAQBAEAQBANTxbgVd7d6jGjUYC9/WBllByEsU7WJudjuOZuUqTmat3ZUbuHMqxzwe9dz/FxRlGTjsNHffZpjjWIKhnA1CEnStvtljvUemz4GWwGecTpDk/Xt8yp9OPZtXevdfY2I1U9plhpz+C4qBkYBUGkYBIaMAnmkYBPNGAOaMAjmjAI5pOARzRgEEycApLScAwxq2tY16Wv6RYpKsQeWhGHhZbggHOMqoZhkerjeezYaEuLvEsc2PF+y3+naVSqKJt+G9n1R1u1DfSL1PMhK4pqJGPvSb4OM+uSW9ZhkA8o7iw0bQs44prXvk9r+F2I1pTctpu5vmIgCAIAgCAIAgCAIAgCAIAgEEZ2MA0Wp7MoMnSOdI34gHPpSfDNJI5R4/eyhJ6mebeaJtbvXOOJcVqf8+KZnGpKOw196aqnPfadnQZPe6XNowPOrAsBP4qh/jOYuuTFeGujJSXDY/j7ruLo1lvKdNxCqxiiWKXX2q84tX+sh9ZfmJ4Fe0rUHirBx717lqknsMrmmvgyHNGATmMAZjAI5owBzRgGPq9dVVjvbEr5jhQ7AFj5KDuT7hLqNvVrPFOLk+xZIbS2kUtqLvwGmsI3++ajOnq2PTDA2fAhMHznu2vJq6qa6rUF5vyXu0VSrRWwz9P2a599Xcb/AMzWDVp8Z2DAEtZtsQzFT+KJ01noS0tsPm86XGWvyWxevaUyqSZvaalRVRFVEUBVVQAoA6AAbAT1ysrgCAIAgCAIAgCAIAgCAIAgCAIAgCAIBja7h9OoXkvpquUHPLaiuM+eGHWOwGufsxp8k1tqKSf5u6woPhW5ZB8lmhV0XZ1etSj4LHpgyU5LeWP9nbVHq621j5310N/lqk0J8nLGT1KS7n85M/rSLR4Drf6XpMf2S3P+plD5L2u6cvt8E/WkP4B1v9L0n/tLf/0yFyXtt85fb4H1nwLo7PXMMPrGX30VVqfl3neS+HJuyjt5z738JEfWkXU7MUnHe26q4jxa5qwfitHIpHuIxN6loiypa40l46/XJi6knvNhoOF6fT83cUU0lt2NaKrMfNiBlj7zPQilFYSwjAzJIEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAP/2Q==" style="height: 173px; margin-left: 0px; margin-right: 0px; margin-top: 0px; width: 173px;" /><br />
<br />
<br />
<br />Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com11tag:blogger.com,1999:blog-9037721924597007359.post-76616362119289975092016-07-04T19:10:00.000-07:002016-07-04T22:47:02.767-07:00A step closer to the cloud<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgXCgj46Um9hgU0N373x6MWGJwOzMY1-E6jSb4Yk0bv1b1fHN6gGYCQ7cLoGi992viaVV2u8kzqOdW3Zcv_wKthrEo-Na-au17Rq277loHFkOpRxQnAUKPL0UVbtXbLPgYgbCQxWobF7Y/s1600/personOfInterest_cctv.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgXCgj46Um9hgU0N373x6MWGJwOzMY1-E6jSb4Yk0bv1b1fHN6gGYCQ7cLoGi992viaVV2u8kzqOdW3Zcv_wKthrEo-Na-au17Rq277loHFkOpRxQnAUKPL0UVbtXbLPgYgbCQxWobF7Y/s320/personOfInterest_cctv.jpg" width="320" /></a></div>
A few weeks back I have blogged about "<a href="http://cloudn1n3.blogspot.com/2016/06/being-relevant-even-considered-as.html">Being relevant even considered irrelevant</a>" where I mentioned my employer did not value what I have done/accomplished as relevant to them. The company I worked for has not been doing too well in selling the products and thus at a point of to make the organization leaner. We see people from different departments in the company being laid off every month.<br />
<br />
Once I found out my employer did not consider my skill and knowledge in the area of server and network virtualization, OpenStack and Docker container as well as my involvement in the community being relevant to them, I know my days in the company is numbered. Sure enough just before the quarter ends, I was given a package and I am being laid off after working from that company for 21 years.<br />
<br />
<h2>
Community is awesome</h2>
Nice things came out of this unhappy event and I was able to learn once again the <span style="color: purple;"><b>community is awesome</b></span>. Once I twitted about my laid
off, I got a lots of responses from the community trying to help me find
a new job. Some ask me to send them my resume and some said very kind
words about me and I would be useful to different teams. I did not
expect this to happen. So anyone willing to pick me up to join your team?<br />
<br />
<h2>
Crisis vs Opportunity </h2>
Being out of a job is a crisis to me. In Chinese, the word crisis comprise of 2 words - <span style="color: #cc0000;">danger </span>and <span style="color: blue;">opportunity</span>. This is exactly my situation. Even being laid off is consider as danger or something bad for me, the other side of the coin is opportunity. For the pass few years I have had opportunities to pick up knowledge and experiences on the a variety of technologies and more importantly soft skills. (I have blogged about the importance of soft skill <a href="http://cloudn1n3.blogspot.com/2015/07/an-important-aspect-that-helps-our.html">here</a>). <br />
<br />
This laid off is in fact an opportunity for me to be one step closer to what I have been pursuing - a place in the cloud.<br />
<br />
<h2>
</h2>
<h2>
Accelerates my journey to the cloud</h2>
Usually, when one is out of a job, one will feel lost or empty and worried because of the financial burdened. This is not my case for 2 reasons. The first is my religious believe that gives me the peace of heart. The second reason is that I have been doing all these "extra" work in learning about the various technologies and my involvement in the community in sharing what I have picked up.<br />
<br />
This unfortunate event just accelerates the process for me to find my destiny in the cloud - getting a day job that is cloud related.<br />
<br />
<h2>
What about my soft skills?</h2>
Over these few years beside technologies, I have also developed for myself some soft skills. Some of the soft skills that I have developed are:<br />
<ul>
<li>Writing skill</li>
<li>Smiling face</li>
<li>Presentation skill </li>
<li>People skill</li>
</ul>
The question is how do I convey these skills on my resume and/or <a href="https://www.linkedin.com/in/chowanthony">LinkedIn profile</a>?<br />
<br />
<h2>
Things to do in the coming few weeks</h2>
Over the weekend I sat down to think and to pray about what to do next. I wrote down all the possible areas that I have been learning and potentially get myself into. Here is a Mindmap that will help me visualize the different areas and just like a map for me to pursue opportunities:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqGv0-NI6ruZfmdRcG9730_sk0m6fCCFfCBbxzGO3asULYoKTVCATIjfUTwatox17WWkadQL5nHJdhh2VuYUE59XQcMIJ5c9ndeck-5JroX1bchN1qQjYVJE6ayK6iEqRw2ibL2o5zn0A/s1600/ThingsToWorkOn.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="596" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqGv0-NI6ruZfmdRcG9730_sk0m6fCCFfCBbxzGO3asULYoKTVCATIjfUTwatox17WWkadQL5nHJdhh2VuYUE59XQcMIJ5c9ndeck-5JroX1bchN1qQjYVJE6ayK6iEqRw2ibL2o5zn0A/s640/ThingsToWorkOn.png" width="640" /></a></div>
<br />
In the coming days there are a few things that I plan on doing:<br />
<ul>
<li>Prepare my VMUG user presentation - "A survey on SDN Technologies"</li>
<li>Start learning Amazon Web Services in preparation for the vBrownBag podcast in September. I will be going over section 3 of the AWS Solution Architect certification exam objectives. </li>
<li>Continue to learn new technologies as they move forward in the various areas listed above.</li>
<li>Start contributing to some open source projects.</li>
<li>Build a decent home-lab so I can play with different technologies as well as having a development/testing platform for the open source projects that I contribute to.</li>
<li>Of course, look for a job and preferably cloud related.</li>
</ul>
<h2>
Stay Tune for my update </h2>
Stay tune and see what happens to my quest to reach my destiny - the cloud which is my next job.Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com28tag:blogger.com,1999:blog-9037721924597007359.post-64636965303080863082016-06-28T01:07:00.003-07:002016-06-30T23:18:21.835-07:00Is it a good thing to be - "Jack of All Trades"?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl8RK9H9pIvpN7RPX_z4voMjDwony8noKHM3GB9Zfgw17rXdrT1KnHQVwUNiox4qQEO4SgFpTjzrRqrXyjBjv6CdohAfAvPL4pNBhEUhGvmPPRjVvV_xHKcZFQdUyr3KWG7pYLrQBoliY/s1600/Jack-of-all-trades-handyman-cartoon.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl8RK9H9pIvpN7RPX_z4voMjDwony8noKHM3GB9Zfgw17rXdrT1KnHQVwUNiox4qQEO4SgFpTjzrRqrXyjBjv6CdohAfAvPL4pNBhEUhGvmPPRjVvV_xHKcZFQdUyr3KWG7pYLrQBoliY/s200/Jack-of-all-trades-handyman-cartoon.jpg" width="200" /></a></div>
I believe usually this phase "Jack of All Trades" has a bad connotation especially "master of none" goes with it.<br />
<br />
These few years if you have read my blog, you will see that I am exactly in this position.<br />
<br />
In my journey to the cloud, I found that I have to pick up a lots of new technologies everyday as this industry is moving in a high pace. Often times I found that I have to get back to the basics on various topics such as YAML, JSON, systemd, SELinux, linux bridge ... etc. Yet there are other things that has different flavors. Linux has Debian and Red Hat/CentOS/Fedora. Container has Docker, CoreOS ... etc. Container orchestration has Kubernetes, Mesos ... etc. SDN has OpenFlow, VMware NSX, Cisco ACI ... etc. I have been thinking what I have been doing is making me to become a Jack of all trades which in turns a master of none. This cannot be good. :(<br />
<br />
Well, some people will say that oh you are just becoming a generalist. This is a little comforting but still I feel that something is not right with this label. While contemplating on this I have this idea recently, instead of thinking myself as a generalist, I am in fact being <span style="color: purple;"><b>comprehensive</b></span>. What triggers me to have this idea is that recently I found that all the different things that I have been trying to pick up is starting to come together. I can see relationship between the different pieces.<br />
<br />
My background is a software developer in networking and I can see that container can be used for Network Function Virtualization. Also I found that some networking equipment vendor is already running containers on there router which is using Linux as the operating system. Each feature can be deployed as a single container and this makes bug fixing easier. To patch the software for one bug, we can just stop one container and then load in the new one and restart that container while the other features can still be operational.<br />
<br />
Lately, I have not blog that much and even when I blog, the articles are not technical in nature. So let me update you what I have been doing lately.<br />
<br />
In may I had a one hour podcast with vBrownBag on Ansible and PKI (Public Key Infrastructure). I did not know I can talk for one hour non stop. One thing amazes me is that even when something went wrong with my demo I was still able to keep on talking and troubleshoot in the same time. It was fun. If you are interested, go to this <a href="http://professionalvmware.com/2016/06/vbrownbag-follow-up-using-ansible-to-provision-pki-with-anthony-chow-vcloudernbeer/">link </a>.<br />
<br />
I have been using Ubuntu for some time and is very comfortable with it. Last week as Fedora 24 was GA, I reload my desktop with Fedora. There are 2 main reason that I wanted to try out Fedora. The first one is I wanted to play with systemd and the second one is that most Linux deployment in the enterprise are Red Hat based.<br />
<br />
Sometimes being a Jack of all trades does payoff. In the upcoming VMUG, the original theme was container and I was going to give a user presentation on container with some demo on how to spin up a single container. The theme got changed because we eventually found a sponsor and they are in the storage area. So we change the theme of the meeting to be NSX and storage. We were able to find a NSX expert to cover the VMware portion of the meeting. With that I was able to change my presentation to gear toward NSX and now I will be talking about "A survey on SDN technologies" so that attendees without much networking background can pick up some SDN basics and get more from the VMware NSX in-depth materials.<br />
<br />
In the mean time I am adding a new area into my bag of tricks. I will be looking into Amazon Web Services. I will be presentation at vBrownBag in September covering exam objective section 3 for the Amazon Web Services Solution Architect (associate level) certification. Well, this means I am going to sit in for this certification as well. I have never thought that I will get into the public cloud.<br />
<br />
As you can see I am really all over the places learning different things and is truly a Jack of All Trades.<br />
<br />
Hopefully, all things will come together real soon and I will be able to find a job that is cloud related. My journey to the cloud had not been easy but I learned a lot and also I get to know different people both online on social media and personally. <br />
<br />
So I would say it is good to be "Jack of All Trades", if we are able to connect the dots. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirQFJqzrqN8zPSSteYa2208ln1dFNqGxTUdHm8xohPxdis0__fLl2dj0Eb9VtCVVs6LmXKqqki2-4Wx7phSgydObuD40qdH32D0fPCIg4RyGAtsgJl6FOmmhIIYxmAaeXus1qczBTTmxg/s1600/connect_the_dots.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="219" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirQFJqzrqN8zPSSteYa2208ln1dFNqGxTUdHm8xohPxdis0__fLl2dj0Eb9VtCVVs6LmXKqqki2-4Wx7phSgydObuD40qdH32D0fPCIg4RyGAtsgJl6FOmmhIIYxmAaeXus1qczBTTmxg/s320/connect_the_dots.jpg" width="320" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source: http://cdn.free-power-point-templates.com/articles/wp-content/uploads/2013/08/connect_the_dots.jpg</span></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com19tag:blogger.com,1999:blog-9037721924597007359.post-17631774453244385352016-06-12T22:55:00.000-07:002016-06-12T22:55:39.975-07:00Being relevant even considered as irrelevant<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-TW</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdidWkCGTCTk9qWo9tfaS1-VwadFpdkwtSAIxhdcqWcF6rADHS_bP3XAX6K3MgqWdLuDrdKnYJwNl1TRqFPlk9hH3PEKPk4w1i7DUHfKdpYMZG3Sk1tlH-C-f521Fmwu8GzeOfa76MepY/s1600/personOfInterest_cctv.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdidWkCGTCTk9qWo9tfaS1-VwadFpdkwtSAIxhdcqWcF6rADHS_bP3XAX6K3MgqWdLuDrdKnYJwNl1TRqFPlk9hH3PEKPk4w1i7DUHfKdpYMZG3Sk1tlH-C-f521Fmwu8GzeOfa76MepY/s400/personOfInterest_cctv.jpg" width="400" /></a></div>
<div class="MsoNormal" style="text-align: center;">
image source: https://mikecanex.files.wordpress.com/2011/09/pois01e0107.jpg</div>
<div class="MsoNormal">
<br />
<span style="font-family: "trebuchet ms" , "sans-serif";">The TV
series “<b>Person of Interest</b>” is one my favorite show.<span style="mso-spacerun: yes;"> </span>Even my kids have exam the next day I will
still watch this show whereas I will usually abstain from watching any TV the day before my kids have test<span style="font-family: "trebuchet ms" , "sans-serif";"> or exam</span>.<span style="mso-spacerun: yes;"> </span>In this TV show, often times it will show the
view of CCTV seeing different people walking on the street and labels such as “asset”,
threat” or “irrelevant” are assigned to these people.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";">Last
week at work, I have the unfortunate and sad experience of being marked as irrelevant
in terms of my skill and knowledge in virtualization and cloud technologies<span style="font-family: "trebuchet ms" , "sans-serif";"> as well as my presentation skill and the ability to engage with various audiences. </span>Ironically, if you read my blog you will see
that these past few years I have been trying to catch up with the
virtualization and cloud technologies so that I will be relevant in the IT
industry. <span style="mso-spacerun: yes;"> </span>I was trying not to be the dinosaur
and yet found myself being the opposite as seen by my employer. </span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";">It was
a strange feeling for me. I have been a loyal employee and I am doing what I am
told and on top of that I use my own time to catch up with the latest
development in the virtualization and cloud industry. I work for a networking
equipment company and virtualization and cloud technology is very relevant to
what we do.<span style="mso-spacerun: yes;"> </span>Our product has to fit into
virtualized data center or the networking product can operate on the cloud
infrastructure.<span style="mso-spacerun: yes;"> </span>I know Arista Network is already
using Docker container in some of their products. <span style="mso-spacerun: yes;"> </span>In my mind my skill in virtualization and
cloud technology is very relevant to my employee one of thes<span style="font-family: "trebuchet ms" , "sans-serif";">e days</span>.<span style="mso-spacerun: yes;"> </span>There is a Chinese Proverb - "Army is to be
maintained in the course of long years, but to be used in the nick of time. Keep
feeding the army and you will find a use for it”.<span style="mso-spacerun: yes;"> </span>I hope my employer realizes this truth.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";">While
this is a sad news to me, I did get tons of support from the community. <span style="mso-spacerun: yes;"> </span>I got DMs from various people telling me to
stay strong and to keep doing what I am doing as I am in the right course in my
pursue of my destiny in the cloud.<span style="mso-spacerun: yes;"> </span>This
was very encouraging to me. And incidentally, I <span style="font-family: "trebuchet ms" , "sans-serif";">found </span>a few job openings and I
sent in my resume.<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="mso-spacerun: yes;">From this incident, again I see that skill and knowledge is important and yet being involved in a community is equally important. To be part of the community, everyone has to contribute into the community. My slogan is "I know some, you know some, let's share what we know". </span></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="mso-spacerun: yes;"><br /></span></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="mso-spacerun: yes;">Moving forward, even it was some what discouraging to me I will keep on doing what I am doing now which is to keep learning every day and stay relevant. Over the pass few months, I did not blog so much because I was busy doing things with the home lab. I think I will get back to blog more. In fact the title of this blog post says it all - "<span style="color: #351c75;"><b>Being relevant even considered as irrelevant</b></span>". I know one day I will be able to find my destiny in the cloud thanks to the continuous support of my family and this community.</span></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="mso-spacerun: yes;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXzM8-EYQUqA6ja5oLbigbCUqMEYuY-Zpf3uZVluIUIafYEymCAc8baqW-Dh4meMz_wJ9cUP0_Gtij-z3iJ0Y804KFuVyHaPkDyB5CZ5EN1exURiFdMiIfozjxHlo6z12-WMBGyT7jxZY/s1600/keep-calm-and-stay-relevant1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXzM8-EYQUqA6ja5oLbigbCUqMEYuY-Zpf3uZVluIUIafYEymCAc8baqW-Dh4meMz_wJ9cUP0_Gtij-z3iJ0Y804KFuVyHaPkDyB5CZ5EN1exURiFdMiIfozjxHlo6z12-WMBGyT7jxZY/s200/keep-calm-and-stay-relevant1.jpg" width="200" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;"> image source: </span><span style="font-size: xx-small;">http://silverleafministryconsulting.com/wp-content/uploads/2014/03/keep-calm-and-stay-relevant1.jpg</span></div>
<span style="font-size: xx-small;"><br /></span>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="mso-spacerun: yes;"><br /></span></span></div>
<div class="MsoNormal">
<br /></div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com84tag:blogger.com,1999:blog-9037721924597007359.post-29394928410902395152016-02-14T20:10:00.002-08:002016-02-14T20:10:39.436-08:00Practice makes perfect<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-TW</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwS6ZOskCNRSKh_9zYwl_UzF-E3GMU93obDEYaUxMl7lnMs8yL5Kg2S56PKbfx1RQpJ0bdV6Kdm3nMMAr6jk7GFBT0h77TRjrUaytIloD4OAl4nVT-s7SesIc0HIoIehPmUBLnOrqdB0Q/s1600/OpenStack_Austin.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwS6ZOskCNRSKh_9zYwl_UzF-E3GMU93obDEYaUxMl7lnMs8yL5Kg2S56PKbfx1RQpJ0bdV6Kdm3nMMAr6jk7GFBT0h77TRjrUaytIloD4OAl4nVT-s7SesIc0HIoIehPmUBLnOrqdB0Q/s400/OpenStack_Austin.jpg" width="400" /></a></div>
<br />
<span style="font-family: "trebuchet ms" , "sans-serif";">It is that time of the year again for submitting <span style="font-family: "trebuchet ms" , "sans-serif";">presentation proposals to the OpenStack <span style="font-family: "trebuchet ms" , "sans-serif";">Summit. T<span style="font-family: "trebuchet ms" , "sans-serif";">hi<span style="font-family: "trebuchet ms" , "sans-serif";">s time is in Austin. <span style="font-family: "trebuchet ms" , "sans-serif";">In finding <span style="font-family: "trebuchet ms" , "sans-serif";">my <span style="font-family: "trebuchet ms" , "sans-serif";">destin<span style="font-family: "trebuchet ms" , "sans-serif";">y to the cloud, sharing technologies to others <span style="font-family: "trebuchet ms" , "sans-serif";">is something I have been doing. <span style="font-family: "trebuchet ms" , "sans-serif";">Sharing serves 2 purposes, I can contribut<span style="font-family: "trebuchet ms" , "sans-serif";">e to the community and also in the process of sharing, I learn a lot more.</span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";">Even <span style="font-family: "trebuchet ms" , "sans-serif";">I was rejected to <span style="font-family: "trebuchet ms" , "sans-serif";">present at Op<span style="font-family: "trebuchet ms" , "sans-serif";">en<span style="font-family: "trebuchet ms" , "sans-serif";">Stack summit twi<span style="font-family: "trebuchet ms" , "sans-serif";">ce, <span style="font-family: "trebuchet ms" , "sans-serif";">with the support and encouragement of the community, I am doing this the third time. </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";">In fact, this time as I have picked up more skills and experience in OpenStack, I have more to share<span style="font-family: "trebuchet ms" , "sans-serif";">. <span style="font-family: "trebuchet ms" , "sans-serif";">The <span style="font-family: "trebuchet ms" , "sans-serif";">topics<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"> that I wanted to share at the<span style="font-family: "trebuchet ms" , "sans-serif";"> Su<span style="font-family: "trebuchet ms" , "sans-serif";">mmit<span style="font-family: "trebuchet ms" , "sans-serif";"> is not some random information <span style="font-family: "trebuchet ms" , "sans-serif";">but from my experience in the journey to the cloud that I believe are <span style="font-family: "trebuchet ms" , "sans-serif";">very useful for <span style="font-family: "trebuchet ms" , "sans-serif";">other people that wanted to walk this OpenStack journey.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";">I have submitted 3 proposals and can<span style="font-family: "trebuchet ms" , "sans-serif";"> p<span style="font-family: "trebuchet ms" , "sans-serif";">lease vote for me. </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";">My session<span style="font-family: "trebuchet ms" , "sans-serif";"> proposals </span>are:</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<b>Under the Big Tent: OpenStack Projects Explained</b><br />Speakers: Anthony Chow<br /><b><a href="https://www.openstack.org/summit/austin-2016/vote-for-speakers/Presentation/7884" target="_blank">https://www.openstack.org/<wbr></wbr>summit/austin-2016/vote-for-<wbr></wbr>speakers/Presentation/7884</a></b><br /><b> </b><br />
<b>Overcoming the barrier and start contributing to OpenStack</b><br />Speakers: Anthony Chow<br /><b><a href="https://www.openstack.org/summit/austin-2016/vote-for-speakers/Presentation/7909" target="_blank">https://www.openstack.org/<wbr></wbr>summit/austin-2016/vote-for-<wbr></wbr>speakers/Presentation/7909</a></b><br /><b> </b><br />
<b>The Power of the Community: to infinity and beyond</b><br />Speakers: Anthony Chow<br /><b><a href="https://www.openstack.org/summit/austin-2016/vote-for-speakers/Presentation/8160" target="_blank">https://www.openstack.org/<wbr></wbr>summit/austin-2016/vote-for-<wbr></wbr>speakers/Presentation/8160</a></b><br />
<br />
<br />Thanks for voting for me and I hope to meet the friendly people of OpenStack there in Austin. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9_kLgok6MB_P2EnD9QpzCh_wcQN-d47X0BOyRUS_Eqm894SpIBpegPXeX6NH2QVSXfJZvFqCe9x3_VEHjVf7sRfMkxzf3XX61GtrBJQE1kTxtbIqnRfiYLwk5u43GCtf-wHqBy5RVNsI/s1600/vote_button1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9_kLgok6MB_P2EnD9QpzCh_wcQN-d47X0BOyRUS_Eqm894SpIBpegPXeX6NH2QVSXfJZvFqCe9x3_VEHjVf7sRfMkxzf3XX61GtrBJQE1kTxtbIqnRfiYLwk5u43GCtf-wHqBy5RVNsI/s1600/vote_button1.jpg" /></a></div>
<br />
<br />
<span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"><span style="font-family: "trebuchet ms" , "sans-serif";"> </span></span></span></span></span></span></span></span></span> </span></span> </span></span></span></span></span></span></span></span></span></span>Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com5tag:blogger.com,1999:blog-9037721924597007359.post-84204851765605722642016-01-18T01:51:00.000-08:002016-01-18T10:47:24.928-08:00Exploring a new possibility for my destiny in the cloud.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOZLRRIHWaSBexXq2HVEt8rAY0J8ErjGoGSA0kvRUomHTPqtLXGNqlVd5ly-amBOmbQd03jWYdJhY28Aufnx0r5dB8Qv8KeWM1kyZmfDTbXnRZYp4RGdtmaEnTWwWwVorNzwCY0rrf3eU/s1600/imspeakingat.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOZLRRIHWaSBexXq2HVEt8rAY0J8ErjGoGSA0kvRUomHTPqtLXGNqlVd5ly-amBOmbQd03jWYdJhY28Aufnx0r5dB8Qv8KeWM1kyZmfDTbXnRZYp4RGdtmaEnTWwWwVorNzwCY0rrf3eU/s200/imspeakingat.png" width="200" /></a></div>
18 days has gone by for 2016 and I did not have a chance to sit down to write my first blog post for this year.<br />
<br />
It was a busy month for me.<br />
<br />
<h2>
Opportunity to share</h2>
I was busy preparing my presentation for the Southern California Linux Expo (<a href="https://www.socallinuxexpo.org/scale/14x">SCALEx14</a>) on "<a href="https://www.socallinuxexpo.org/scale/14x/presentations/getting-over-barrier-and-start-contributing-openstack">Getting over the barrier and start contributing to OpenStack</a>". My session is on Jan 23, 2016 1:30 pm.<br />
<br />
I am exited to be able to share my experience in how to contributing to OpenStack with the audiences. The objective of the session is half informational and have motivational.<br />
<br />
This is the description of my session:<br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-TW</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:PMingLiU;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
<br />
<div class="MsoNormal" style="margin-left: .5in;">
<span style="color: #38761d;">Is
contributing to OpenStack something you want to do but do not know how or find
it difficult to start?<br />
<br />
You have come to the right session. This 45 minutes session will have a brief
overview of the OpenStack project, the "Big tent" approach as well as
the 6 month release cycle. Introduce the audience DevStack which is perfect
tool for testing code changes locally.<br />
<br />
This session will then introduce the workflow of contributing to OpenStack and
all the necessary tools from setting up the development environment, run unit
test and to commit code for review. Will introduce the commit best practice,
Gerrit review, Jenkins automated testing at the gate and the code merging
process which is a little different than the pull request for other open source
projects. <br />
<br />
The session will go over how to create a bug report for OpenStack and also to
guide the audience to find some software bug or documentation change so the
audience can take the baby step to start contributing and get involved in this
community.</span></div>
<br />
<span style="color: #38761d;"></span><br />
<h2>
An interview with opensource.com</h2>
Being a speaker at SCALE, I was approached to answer a few questions on OpenStack and my interview was published today at opensource.com. You can find the interview <a href="https://opensource.com/business/16/1/scale14x-interview-anthony-chow">here</a>.<br />
<br />
<h2>
A new direction for me</h2>
I am still in the process of finding my destiny in the cloud and I had some wonderful and unique experiences in 2015 on my quest for my destiny with the open source and VMware community. With my background as a software developer and my passion to share what I have learned and know about the cloud technology, I am going to explore a new option for me.<br />
<br />
This year I am going to explore if being a <b><span style="color: #351c75;">developer advocate</span></b> is suitable for me. At this time I feel that being a developer advocate need to excel in these 3 areas:<br />
<ul>
<li>Software development</li>
<li>Presentation skill</li>
<li>Community involvement</li>
</ul>
I believe I have a good handle on these 3 areas but I need to "document" my work as a software developer. I possess these qualities/skills as a software developer<br />
<ul>
<li>good debugging and analytical skill to solve different problems</li>
<li>write simple code</li>
<li>Agile software development methodology</li>
<li>attention to detail </li>
</ul>
<br />
but how can I tell others about this?<br />
<br />
One good ways is through <b>GitHub</b>.<br />
<br />
After this presentation at SCALEx14 this Saturday I am going to concentrate my activities around GitHub which includes bug fixes on different open source projects such as OpenStack, Docker etc or small projects in Go or Python.<br />
<br />
I will write more on this subject and to report on how I did in my journey to the cloud. Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com10tag:blogger.com,1999:blog-9037721924597007359.post-87537825068816250092015-12-27T20:30:00.000-08:002015-12-29T17:40:29.591-08:00Go Go Go: Golang is the way for me to go<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixLnzAo4xt9pfi-nxbzb096lG_FYJYQWWaDVEElw0-x7KroMFWUyMPCgZLRlpwPYIuMpY9Q5VWZNrctSIAS4OsJwQGEDz0xfhZyib35l7mVP0wLifTKpIRbnjNWJl-s42JRmWUDGzMwTU/s1600/Docker_Golang_Iron-300x209.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixLnzAo4xt9pfi-nxbzb096lG_FYJYQWWaDVEElw0-x7KroMFWUyMPCgZLRlpwPYIuMpY9Q5VWZNrctSIAS4OsJwQGEDz0xfhZyib35l7mVP0wLifTKpIRbnjNWJl-s42JRmWUDGzMwTU/s1600/Docker_Golang_Iron-300x209.jpeg" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;">It all started with this picture.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">What do you see?</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">I see a happy environment with 2 essential elements. All the characters are happy and there is food. After all this is what I am trying to pursuit all these years. A happy working environment and be able to provide food for the family. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">With these 2 things (happy working environment and food for the family) I have decided to learn this "new" language. An of course, I started with writing a Hello World program. Even this is a simple program it provides some some insight as to how this language looks like. In this blog post I am not going to dig into the language itself. If you are interested, I will be presenting "Introduction to Go" on Dec 30 8:00 pm EST for Commitmas vBrownBag. Once I got a link to the presentation, I will update the post to reference it. Registration for the event is <a href="https://attendee.gotowebinar.com/register/4522811764229913858.">here</a>.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">So what are we to talk about here? </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">The purpose of this post is to have a glimpse of Go from a high level.</span><br />
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Go is
developed in response to specific problem that Google encountered in software development
and deployment.<span style="mso-spacerun: yes;"> </span>According to Rob Pike one
of the 3 original designers of Go along with Robert Griesemer and Ken Thompson defined
Go as a:</span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<ul>
<li><span style="font-family: Arial,Helvetica,sans-serif;">Complied</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;">Concurrent</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;">Garbage-collected</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;">Statically
typed language developed at Google around 2007 for efficiency, scalability and
productivity</span></li>
</ul>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">These
16 words summarized what Go is cleverly and precisely.<span style="mso-spacerun: yes;"> </span></span></div>
<br />
<h2 class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Efficient, Scalable and Productive </span></h2>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">The Go
language is created with the goal of being efficient, scalable and
productive.<span style="mso-spacerun: yes;"> </span>Google’s infrastructure is
huge and some of the software that runs this infrastructure is also huge.<span style="mso-spacerun: yes;"> </span>Even building the software image may take up
to 45 minutes.<span style="mso-spacerun: yes;"> </span>Imagine there is a one
line change to fix a critical bug that needs to be deployed immediately. For
the developer to make the change and build the software already takes 45
minutes and then go through testing and then another production build and then
deploy.<span style="mso-spacerun: yes;"> </span>The turnaround time is measured
in unit of hours. </span></div>
<h2 class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Compiled </span></h2>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">I don’t
know about Google’s infrastructure but one of the advantage of Go is that it
works on Windows, Mac and Linux.<span style="mso-spacerun: yes;"> </span>Once a
program is written it can be compiled and run on one of the 3 platforms
mentioned about.<span style="mso-spacerun: yes;"> </span>This bring another point
on Go.<span style="mso-spacerun: yes;"> </span>It is a compiled language.<span style="mso-spacerun: yes;"> </span>Python which make up of 99% of OpenStack is
not compiled.<span style="mso-spacerun: yes;"> </span>It needs a interrupter to
run the code.<span style="mso-spacerun: yes;"> </span>Compiled means the
software will generate an executable and then being ran. <span style="mso-spacerun: yes;"> </span>Compiled program run faster than language with
an interrupter.</span></div>
<h2 class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Garbage-collected</span></h2>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">One of the build in feature of Go is "Garbage-collection". This term is about memory management for the language. The designer of Go see that lots of coding is done in the case of C to manage the allocation and freeing of memory. If the language can ease up the mundane but necessary task of memory management, developer and spend more time effectively on the feature itself. Another build-in feature of Go in memory management is how the stack is handled. Stack size in Go is dynamic. If more memory is needed for the stack a new block of memory is allocated and be used for the stack. Developer does not need to worry about stack overflow crashing the program.</span></div>
<h2 class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Static Type</span></h2>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">A type describes how memory is used. A type can be a integer, a string etc. Type is Go is say to be type safe meaning the compiler at compilation time check the usage of memory variable and will not allow the developer to assign a string to a previously integer variable. This can be done in Python and the designer of Go decided that this is "dangerous" and make sure the types are diligently checked at compilation time.</span></div>
<h2 class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Concurrent</span></h2>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">This is a famous feature of Go taking advantage of the multi-processor of the modern hardware for instruction execution. I read somewhere on the web using a simple for loop takes 42 ms to complete a task and written in Go with concurrency take only 14 ms. This is a deep topic and I will dig into this more in the future and for now we just from a high level, know that Go has the ability to execute the instructions faster thus fulfilling the design goal of efficiency.</span></div>
<h2 class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">A very developer friendly language</span></h2>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Besides what Rob Pike's explanation of Go, I have found that Go is really a very developer friendly language. Go function is able to return multiple parameter and this makes debug much easier.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Go has lots of build-in packages for modern day applications such as JSON processing, networking or web processing. This makes developer's job much easier and no need to re-invent the wheel.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Go has a rich ecosystem on tools as well as build-in testing and bench-marking support. This helps to validate local function modification. This testing and bench-marking support is also in line with DevOps or Agile programming practice.</span></div>
<h2 class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Golang is the way for me to go</span></h2>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">This is only a glimpse of the language Go. There are much more to it but after looking at this language for almost a month, I have decided that if I were to learn any new language, Go or Golang is the one that I am going to pick up because it aligns with my programming philosophy and practice. </span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-family: "Trebuchet MS","sans-serif"; font-size: 11.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"><span style="mso-tab-count: 1;"> </span></span></span>Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com9tag:blogger.com,1999:blog-9037721924597007359.post-11518971325163880122015-11-30T15:25:00.000-08:002015-11-30T15:25:05.416-08:00Nothing published this month - Did I stop learning? <!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Last
night when I apply for the 2016 VMware vExpert program, I realized that I did
not publish for the month of November.<span style="mso-spacerun: yes;"> </span>This
is the exact opposite of November 2014 where I participated in the “30 blog in
30 days”.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ZG3kFTVcv_oCQ4Z81L4N77tZ30Fu-VRdDnbcqWfccWJFyrgM8tjWvWpZS-kqDP4GJ5MJm2il8v483HyNBGyULLW6fSUIdf3TSbEKzVveF0pF-1gPMCWSZC8sWuv7THSk9bbdEO2N1sU/s1600/blog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ZG3kFTVcv_oCQ4Z81L4N77tZ30Fu-VRdDnbcqWfccWJFyrgM8tjWvWpZS-kqDP4GJ5MJm2il8v483HyNBGyULLW6fSUIdf3TSbEKzVveF0pF-1gPMCWSZC8sWuv7THSk9bbdEO2N1sU/s1600/blog.jpg" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">If you
read the description of this blog, it said – “</span><span style="color: #674ea7;"><i>A blog to share security,
networking and cloud related technology information as @vCloudernBeer picked up
on his search for his destiny in the cloud</i></span>”.<span style="mso-spacerun: yes;">
</span><span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Well
does it mean that I did not pick up anything this month?<span style="mso-spacerun: yes;"> </span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnJE3-iYInoXVT3zMWohvR7FnjgTPhX71YrcDP_mufJp1hxLlpGHVHOAx0oRyAEo7IQ9Oguu7xPRGNPF7fcCA_szdoVmIhwIAzpmItiLzWoGvdqZE0aTTc-ZpeTzLf1-r_9VuKrbwzMcI/s1600/yes-no-maybe.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnJE3-iYInoXVT3zMWohvR7FnjgTPhX71YrcDP_mufJp1hxLlpGHVHOAx0oRyAEo7IQ9Oguu7xPRGNPF7fcCA_szdoVmIhwIAzpmItiLzWoGvdqZE0aTTc-ZpeTzLf1-r_9VuKrbwzMcI/s320/yes-no-maybe.jpg" width="320" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">That's correct, the answer is NO (double negative). </span></div>
<div class="MsoNormal">
<br /></div>
<h2 class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">What have I done? </span></h2>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Actually,
I am learning more and thus I do not have time to write.<span style="mso-spacerun: yes;"> </span>Blogging is important and it helps me to truly
understand a given subject.<span style="mso-spacerun: yes;"> </span>And it is
fun to write and to share ideas, knowledge or experiences to the
community.<span style="mso-spacerun: yes;"> </span>It is for sure a win situation
for me and I hope it is also a win-win situation for me and my audiences. </span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Another reason that I did not publish any post this month is that being
a software developer for networking equipment, I am trying to find a job that
is cloud related. <span style="mso-spacerun: yes;"> </span>There are so many
things/skill to pick up and I figure that I have “talked” enough and it is time
for me to “do something”.<span style="mso-spacerun: yes;"> </span>I need to work
on some project and I need to be proficient in using GitHub for open source
project collaboration.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">I told
my wife, to contribute to open source in my situation is just like trying to
learn how to play a musical instrument from YouTube.<span style="mso-spacerun: yes;"> </span>Everyone has the impression that it is open
source and you just dig in and look at source code and then contribute.<span style="mso-spacerun: yes;"> </span>What I have found is that understanding the
code and even to make changes is not so difficult since I am a software
developer.<span style="mso-spacerun: yes;"> </span>What I found difficult is to
create a testing environment to test my changes.<span style="mso-spacerun: yes;"> </span>Unit testing is very important for software
developers.<span style="mso-spacerun: yes;"> </span>I am a true support of “<b>Test
Driven Development</b>” methodology.<span style="mso-spacerun: yes;"> </span>In
practice I may not be able to follow this TDD methodology but I try to test my
code as through as possible.<span style="mso-spacerun: yes;"> </span>It is very important
for me to create a test environment.<span style="mso-spacerun: yes;"> I need to pick up more operator skill to augment my software development skill.</span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Instead
of writing, I tried to follow the step-by-step guide that is available on the
web and try to create for myself test environment for different projects.<span style="mso-spacerun: yes;"> I ran into equipment problems where I found that my home lab is not quite ready to create a stable open source development and testing environment. </span><span style="mso-spacerun: yes;"></span> This weekend, I will be converting my Dell T-110
that has 16 GB of RAM running Windows 10 from a hard disk to SSD.<span style="mso-spacerun: yes;"> </span>After that conversion I am going to duel boot
this machine with Windows and Ubuntu 14.04. <span style="mso-spacerun: yes;"> </span>Well, 16.04 is coming and I better get my
environment up and running soon.</span></div>
<div class="MsoNormal">
<br /></div>
<h2 class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Commitmas </span></h2>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">In the
month of December, I will not be publishing blog post much because I will be
participating in a community driven event - #commitmas in which I will learn
along with the community on how to be more proficient in using GitHub.<span style="mso-spacerun: yes;"> </span>If you are interested also, take a look <a href="https://github.com/commitmas/30-days-of-commitmas-2015">here </a>and consider joining this community event either to learn, to teach or both at the same time. </span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">vBrownBag (as always) is nice enough to host a series of
special podcasts on different aspects or pro-tips of using GitHub.<span style="mso-spacerun: yes;">
</span>I will be giving a presentation Dec 30 </span>- <a href="https://github.com/vCloudernBeer/30-days-of-commitmas-2015/blob/master/challenges/30">Bringing it all Together - Intro to Go</a>. And do join me and see how I did in presentation a boring subject. You can register for the podcast <a href="https://t.co/wHVLZgzvp9">here</a>.</div>
<div class="MsoNormal">
<br /></div>
<br />
<br />
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";"> </span></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-CoMCsNk3lFZpFKPuTqRmrcrJeZcABaX3TiBtq64r8hobV4shhBinFHabbLiNfJiZ473v6skc6tJZ1e3Ou5-2Dn_8A4dpPZ3YT6zN-OB5MTP-kjry7xAz2dYROQnbtrUk_6jRna6gyB8/s1600/holiday-octocat.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-CoMCsNk3lFZpFKPuTqRmrcrJeZcABaX3TiBtq64r8hobV4shhBinFHabbLiNfJiZ473v6skc6tJZ1e3Ou5-2Dn_8A4dpPZ3YT6zN-OB5MTP-kjry7xAz2dYROQnbtrUk_6jRna6gyB8/s320/holiday-octocat.png" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";"><br /></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com3tag:blogger.com,1999:blog-9037721924597007359.post-44666340818315528572015-10-25T18:00:00.000-07:002015-10-25T18:00:45.147-07:00Things good to know before the OpenStack Tokyo Summit.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEf-CbSVwnHJOgyRe9x_XqYhwlh3BM8dpc9tiIQAeH7l_joaTvkZW6pejcrVvP2OMuXFekNMsfmJ3FPRNDUMsRxNUiQTP_f9g4x5WryonyTXiPDtz5kTRgYZ1QzFQjB5oxhVCTclwqCY/s1600/OpenStack_Liberty.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYEf-CbSVwnHJOgyRe9x_XqYhwlh3BM8dpc9tiIQAeH7l_joaTvkZW6pejcrVvP2OMuXFekNMsfmJ3FPRNDUMsRxNUiQTP_f9g4x5WryonyTXiPDtz5kTRgYZ1QzFQjB5oxhVCTclwqCY/s320/OpenStack_Liberty.jpg" width="320" /></a></div>
OpenStack has a 6 months release cycle and each release is given a name in which the name is associated to the location where OpenStack Summit was held and follow the sequence of the English alphabet. The 12th OpenStack release has the name Liberty and is officially available on Oct 15, 2015.<br />
<br />
<a href="https://www.openstack.org/summit/tokyo-2015/">OpenStack Summit Tokyo</a> will be held on Oct 27 - Oct 30 in Tokyo Japan. On this weekend, a large portion of the OpenStack community is heading to Tokyo with excitement. Even I am not able to attend this summit in Japan, I am excited to see what new technology innovation will be announced as well as the future direction of OpenStack. (<span style="color: purple;"><b>Note</b></span>: OpenStack summit actually has 2 parts. One part is the conference and the other part is the design summit where the open source community gather together to discuss and to shape the direction and/or feature of the next OpenStack release).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1PYQTgW-gz8VewtDrYM5DTX-3LJXB8wndiLPxOCTsOHaHdD4p68HRjpuki4bE_Uzlb31LOmYLcgrHht2XxYzCaYyLk39hM16jqJnfYxxDuTMudKhcnc1iPD1AzLRFeQLuBl14xb1ZaTI/s1600/OpenStackSummit_schedule.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1PYQTgW-gz8VewtDrYM5DTX-3LJXB8wndiLPxOCTsOHaHdD4p68HRjpuki4bE_Uzlb31LOmYLcgrHht2XxYzCaYyLk39hM16jqJnfYxxDuTMudKhcnc1iPD1AzLRFeQLuBl14xb1ZaTI/s400/OpenStackSummit_schedule.png" width="400" /></a></div>
<h2>
What's new in the Liberty release?</h2>
Liberty is the first release with the "<a href="http://cloudn1n3.blogspot.com/2015/05/openstack-project-classification-new.html">Big Tent</a>" approach.<br />
<br />
Over the weekend, I have a chance to take a look at what's new in the Liberty release. The most comprehensive and detail description of what's new in the Liberty is of course the <a href="https://wiki.openstack.org/wiki/ReleaseNotes/Liberty">release note</a> from OpenStack. If this is too detailed then Nick Chase (@NickChase) has an good article on the <a href="https://www.mirantis.com/blog/53-things-new-openstack-liberty/">53 things that are new in Liberty</a>. Also OpenStack has a very informative <a href="https://www.openstack.org/software/liberty/">web page</a> that describes the Liberty release. There are 5 categories listed on this page as new features in Liberty:<br />
<ol>
<li><b>Enhanced Manageability</b></li>
<li><b>Simplified Scalability</b></li>
<li><b>Extensibility to Support New Technologies</b></li>
<li><b>Container Management</b></li>
<li><b>Orchestration</b></li>
</ol>
The categories are all self explanatory. It is, however, interesting to see that container management is by a category by itself and is not under extensibility to support new technologies. <br />
<br />
In this post let me highlight a few things that interest me the most.<br />
<br />
<h2>
Most Useful</h2>
For me the new interface to display network topology - <span style="color: #0b5394;">Curvature Network Topology interface</span> in Horizon is the most useful to visual how the network looks like. A sample display of this new interface is:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLqAqVVHJyhd05uKsH8ERFNt33BbmfG7kJ9BuO8SsCgk8hJqnILoZQEIgnW9oXxq47Kz9qOpwO4pZrXJf8y8UIRJZGUwGKZbu1tmUZ-3k8rKzX6co0iafZy4AcIpLdPjK3HVynqdsYOAQ/s1600/Liberty_networktopology.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLqAqVVHJyhd05uKsH8ERFNt33BbmfG7kJ9BuO8SsCgk8hJqnILoZQEIgnW9oXxq47Kz9qOpwO4pZrXJf8y8UIRJZGUwGKZbu1tmUZ-3k8rKzX6co0iafZy4AcIpLdPjK3HVynqdsYOAQ/s400/Liberty_networktopology.png" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source:<i> https://www.openstack.org/software/liberty/</i></span></div>
<br />
<h2>
Hot Trend</h2>
There are 2 topics that are widely discussed in the IT industry and these 2 hot technologies are opening up new use cases and to help consumer either to save money or to deploy the services faster and easier. These 2 hot trends are:<br />
<ol>
<li>Docker container</li>
<li>NFV</li>
</ol>
OpenStack provide a natural infrastructures for these 2 technologies as well as a platform to bring out the essence or core features.<br />
<h3>
Docker Container</h3>
Docker containers need an orchestration engine to make it powerful and there are <a href="https://docs.docker.com/swarm/">Docker Swarm</a>, <a href="http://kubernetes.io/">Kubernetes</a>, CoreOS <a href="https://coreos.com/using-coreos/clustering/">fleet </a>that builds on etcd and systemd as well as <a href="http://mesos.apache.org/">Mesos</a>.<br />
<br />
In the OpenStack Vancouver summit there is a one day special track on container in which there is <a href="https://wiki.openstack.org/wiki/Magnum">Project Magnum</a> which was initially to work with Kubernetes in OpenStack and now the <span style="color: purple;">Container Orchestration Engine</span> (COE) in Magnum is expanded to Docker Swarm and Mesos. <br />
<br />
In July Google joined the OpenStack Foundation should be able to bring in their expertise on container and Kubernetes to the Magnum project. I have a <a href="http://cloudn1n3.blogspot.com/2015/07/marriage-made-in-heaven-google-project.html">blog post</a> on this subject. Also, the introduction of <a href="http://cloudn1n3.blogspot.com/2015/08/a-new-chapter-in-docker-networking.html">libnetwork</a> brings new networking options to Docker container.<br />
<br />
There are 2 new projects related to Docker Containers in the Liberty release:<br />
<ul>
<li><a href="https://wiki.openstack.org/wiki/Kolla">Project Kolla</a> - provide production level container deployment tools</li>
<li><a href="http://superuser.openstack.org/articles/project-kuryr-brings-container-networking-to-openstack-neutron">Project Kuryr</a> - leverage OpenStack Neutron for container.</li>
</ul>
<br />
<h3>
NFV </h3>
The service provider industry is embracing NFV because it provides agility and huge cost saving advantages. AT&T is said to have <a href="http://www.thenewip.net/author.asp?section_id=289">saved big on capex</a> with NFV. There is the <a href="https://www.opnfv.org/">OPNFV</a> project that is driving the advancement of open source NFV functionality and stability.<br />
<br />
Both VMware announced <a href="https://www.vmware.com/industry/telco/overview">vCloud NFV</a> in VMworld Europe 2015. Cisco also has it <a href="http://www.cisco.com/c/en/us/solutions/service-provider/network-functions-virtualization-nfv/index.html">NFV offering</a>.<br />
<br />
Similar to Docker Container, NFV needs an infrastructure and OpenStack is a able to provide this need.<br />
<br />
Interestingly, the effort of NFV in OpenStack is under the Nova project instead of Neutron as one might think.<br />
<br />
<h2>
Security</h2>
Role Based Access Control (RBAC) is added to both Heat and Neutron to provide better security on resource management and usage.<br />
<br />
Security is essential to all projects and if OpenStack wanted to break into the enterprise market, security is an important element that needs to be addressed. OpenStack already has a security group to handle security related issue in OpenStack. Any bug fix that checked in has a <span style="color: #38761d;"><b>SecImpact </b></span>keyword to flag the OpenStack security group to look at potential security risk that is introduced in the code checkin. There is also <a href="https://wiki.openstack.org/wiki/Security/Projects/Bandit">Project Bandit</a> that can check for security issues in Python code in which OpenStack is written in.<br />
<br />
<h2>
Looking Ahead</h2>
I am excited to listen to the keynote and the YouTube recording of the various presentations from the OpenStack Tokyo summit. <br />
<br />
It will be interesting to see the future direction of OpenStack as decided by the community<span style="font-size: xx-small;"> </span>at the OpenStack Design Summit. <br />
<br />
Another thing that I am looking forward to is to visit Japan and to try out the local ramen and the beer. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj86iUc-NvtZaAt9oTZWX4PDjp710YMU8b8G-az7W49h47A1R4_Ju8Q7UrUV6VNhLvAj_QQG8SFk3UudgpmB3BlD2kEB1vDJ5w4YiAzlBNdTdQ8Ji8hmPi3IzrspikZQFUUBOWaXxKGCb4/s1600/OpenStack_JapanBeer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj86iUc-NvtZaAt9oTZWX4PDjp710YMU8b8G-az7W49h47A1R4_Ju8Q7UrUV6VNhLvAj_QQG8SFk3UudgpmB3BlD2kEB1vDJ5w4YiAzlBNdTdQ8Ji8hmPi3IzrspikZQFUUBOWaXxKGCb4/s320/OpenStack_JapanBeer.jpg" width="240" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source: Gary Kevorkian of Cisco when he is at the OpenStack Tokyo Summit.</span></div>
<h1 class="ProfileHeaderCard-name">
<br /></h1>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com6tag:blogger.com,1999:blog-9037721924597007359.post-87859529685916403512015-10-14T23:35:00.000-07:002015-10-14T23:35:28.654-07:00How are OVS, OVN, OVSDB and OpenFlow related?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJb6RS76_NnQQrjkbrlyXFcZix0n8Ivhls3gRFuT41ucR-TQzgPo32oxdAOqiTF8pi20WffnCloco2_iLvOcweE-JN5fWUPINW5sKlRES3kx5A5r4nHOVYbqvkZDmasvhsVBEwXUvllNk/s1600/alphabet-letter-o-boy-900769.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJb6RS76_NnQQrjkbrlyXFcZix0n8Ivhls3gRFuT41ucR-TQzgPo32oxdAOqiTF8pi20WffnCloco2_iLvOcweE-JN5fWUPINW5sKlRES3kx5A5r4nHOVYbqvkZDmasvhsVBEwXUvllNk/s200/alphabet-letter-o-boy-900769.jpg" width="197" /></a></div>
We have seen these OVS, OVN, OVSDB and OpenFlow in various technology articles. Do you know how they are related? Or are they related at all?<br />
<br />
Well, they all start with the letter "O", this will be great for <span class="st">a Sesame Street episode for us to learn words with the letter "O". </span><br />
<br />
<span class="st">They all start with the letter O because they are all have "open" in their name. </span><br />
<span class="st"><br /></span>
<span class="st">With "open" in their name, does that make them related?</span><br />
<span class="st"><br /></span>
<span class="st">OVS, OVN, OVSDB and OpenFlow are related but not because they have "open" in their name.</span><br />
<span class="st"><br /></span>
<span class="st">Before we look at how they are related let us take an overview of what they are and some of the key concept that we need to know. We can only take an overview of OVS, OVN, OVSDB and OpenFlow in this post as they by itself can be one or more blog post to cover.</span><br />
<span class="st"><br /></span>
<br />
<h2>
<span class="st">OVS</span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHM5oSgsen7riPVE3QxAuxa7na9YO95JIflYwYZRN51PjjPbVxvLfiJNRPrg18jgDcaAc3nq9nnt-r4bIgVjRtrUqSSVd4zSp1Adc1h5rduENQ80A7x1Ry_PaRV-VUBD6DiADm6q6ofFk/s1600/openvswitch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="129" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHM5oSgsen7riPVE3QxAuxa7na9YO95JIflYwYZRN51PjjPbVxvLfiJNRPrg18jgDcaAc3nq9nnt-r4bIgVjRtrUqSSVd4zSp1Adc1h5rduENQ80A7x1Ry_PaRV-VUBD6DiADm6q6ofFk/s200/openvswitch.png" width="200" /></a></div>
<br />
<span class="st">OVS is the short form of Open vSwitch</span>. It is an open source software based virtual network switching module that can be deployed on hypervisor such as KVM or white box switching hardware.
<span class="st">Detail description of OVS can be found on it <a href="http://openvswitch.org/">homepage</a> and <a href="https://github.com/openvswitch/ovs">GitHub page</a>. </span><br />
<span class="st"><br /></span>
<span class="st">A list of OVS feature can be found <a href="http://openvswitch.org/features/">here</a>. The latest version is release 1.5</span><br />
<span class="st"><br /></span>
<span class="st">OVS is heavily used in OpenStack as KVM is the most deployed hypervsior for OpenStack while OVS is the default virtual switching module for KVM.</span><br />
<span class="st"><br /></span>
<span class="st">This diagram from OVS home page describe what OVS is:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB22opCBoJZHchya9EwkaDymtRnCGXZvrCoUJjL87AbWWJVwTyb0-UHJSq38RXk8_Lk7tAA2AaGGbUki-WzeVmyxVlgvt3pC6-uv9x5QEFakLBeHnwgQ2SjTnm1688Bg1tX4hXZ6wphKI/s1600/OVS_featured-image.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB22opCBoJZHchya9EwkaDymtRnCGXZvrCoUJjL87AbWWJVwTyb0-UHJSq38RXk8_Lk7tAA2AaGGbUki-WzeVmyxVlgvt3pC6-uv9x5QEFakLBeHnwgQ2SjTnm1688Bg1tX4hXZ6wphKI/s400/OVS_featured-image.jpg" width="400" /></a></div>
<div style="text-align: center;">
<span class="st"><span style="font-size: xx-small;">image source:<i> http://openvswitch.org/</i></span></span></div>
<span class="st"><br /></span>
<span class="st">As you can see both OpenFlow and OVSDB is related to OVS. Will discus this in more detail later in this post.</span><br />
<span class="st"></span>
<h2>
</h2>
<h2>
<span class="st"> </span></h2>
<h2>
<span class="st">OVN</span></h2>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOO0BKumaLLO901A2DdFVppNGWrsJEPjmlahu8vcuzahhciXFuEJ8eBNEh1YXW51uVHUXx37KgEVc5NKghcIqmo9aQV8v1Sw19Lse_GimHaOtMJoMxld4_pL32bHSUSfr-Fk2RckWPfek/s1600/ovn_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOO0BKumaLLO901A2DdFVppNGWrsJEPjmlahu8vcuzahhciXFuEJ8eBNEh1YXW51uVHUXx37KgEVc5NKghcIqmo9aQV8v1Sw19Lse_GimHaOtMJoMxld4_pL32bHSUSfr-Fk2RckWPfek/s200/ovn_logo.png" width="193" /></a></div>
<br />
OVN stands for Open Virtual Network and is pronounced as "oven". This is why the logo looks like the front of an oven. It is a sub-project within OVS.<br />
<br />
Back in March 2015, I have already written an article on OVN. Please refer to this <a href="http://cloudn1n3.blogspot.com/2015/03/network-virtualization-for-ovs-open.html">post</a> for OVN details.<br />
<br />
<h2>
OVSDB</h2>
OVSDB is a protocol. It stands for Open vSwtch Database Management protocol. It is used to manage an Open vSwitch. This is the management plan for Open vSwitch. It is defined in <a href="https://tools.ietf.org/html/rfc7047">RFC 7047</a>.<br /><br />The heart of OVSDB is the database or schema that defines the configuration of the OVS as well as the QoS policies. Management module uses the JSON-RPC as the transport to communicate with the ovsdb-server module of the OVS. (note: JSON = JavaScript Object Notation and JSON-RPC is a Remote Procedural Call encode in JSON format).<br /><br /><h2>
<span class="st">OpenFlow</span></h2>
<span class="st">OpenFlow is a protocol. It is one form of control plane for Open vSwitch and is defined in <a href="https://tools.ietf.org/html/rfc7149">RFC 7149</a>.</span><br />
<br />
<span class="st">The main idea is to setup flow table that defines the action of a particular flow. The basic action types are <b>forward</b> and <b>drop</b> with other optional/recommended actions such as flood, enqueue or modify field. </span><br />
<br />
<span class="st">This diagram explains the Flow Table:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzFT-kcPDB_FDFMuuDe2UlDVo2mJzY8dSUjuo3in6aqO86dDeU1uJaYgkbz5zS7U77dZxqfUrjUO5Ba9LZ0EM-4bL-PXlv3kaQoDa9ZmhxB6Pv4GibmNRxelOmgfXD5ctFtMTKpv9gv68/s1600/introduction-to-openflow-flow_table.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzFT-kcPDB_FDFMuuDe2UlDVo2mJzY8dSUjuo3in6aqO86dDeU1uJaYgkbz5zS7U77dZxqfUrjUO5Ba9LZ0EM-4bL-PXlv3kaQoDa9ZmhxB6Pv4GibmNRxelOmgfXD5ctFtMTKpv9gv68/s400/introduction-to-openflow-flow_table.jpg" width="400" /></a></div>
<span class="st"> </span><br />
<span class="st"></span>
<h2>
<span class="st">Putting OVS, OVN, OVSDB and OpenFlow together</span></h2>
<span class="st">This diagram summarize the relationship between OVS, OVSDB and OpenFlow</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ1UYG7APCVnNIMw8u1fPzOKyMYvCBW4XWrrZ9onWo3LFpcwlTZHzvxBPHM4lwrcd8wmZDqWsXxT8Osa8Os1czcOuYwTd7L-WeIR_vPk_h2kUnGoyPFA2vnGfzaMjshEV_RMaSRI61SLw/s1600/ovsdb-vswitchd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="311" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ1UYG7APCVnNIMw8u1fPzOKyMYvCBW4XWrrZ9onWo3LFpcwlTZHzvxBPHM4lwrcd8wmZDqWsXxT8Osa8Os1czcOuYwTd7L-WeIR_vPk_h2kUnGoyPFA2vnGfzaMjshEV_RMaSRI61SLw/s400/ovsdb-vswitchd.png" width="400" /></a></div>
<span class="st"><br /></span>
<span class="st">At this time OVN is part of OVS and uses the same interface ovsdb-server and ovs-vswitchd:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0M4K_UR6O5xB2rDwCc6_USNyX1h3t6RGp9up8jFQ_blztpge95WAUEzVM7xFXrLZP7ul0sTJbH2bbkNOUJ597bl6xfdNjwUoghb0rqlc4fmde5XXnnMd8sAgQaA2apwvflpq1-hpWIj8/s1600/ovn_architecture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0M4K_UR6O5xB2rDwCc6_USNyX1h3t6RGp9up8jFQ_blztpge95WAUEzVM7xFXrLZP7ul0sTJbH2bbkNOUJ597bl6xfdNjwUoghb0rqlc4fmde5XXnnMd8sAgQaA2apwvflpq1-hpWIj8/s400/ovn_architecture.png" width="400" /></a></div>
<br />
<h2>
Summary</h2>
Both OVS and OVN are open source switching modules with OVSDB as the management plane and OpenFlow is used to program the flow from the controller to the OVS.<br />
<div style="text-align: left;">
<pre> </pre>
</div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com6tag:blogger.com,1999:blog-9037721924597007359.post-14452496245763493502015-09-22T02:26:00.002-07:002015-09-22T02:26:34.124-07:00A Paradigm Shift coming to the networking arena<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdTFrTWNhxr8y1-cBbx9dB8M9u5MlDtdETbXcOLAs9aKb58ux3OuC3dmIF9e2vQ2_34na58-BEUnXCQqtgSUehAKNHlK-0lttNOj9vpzkiHxyKni1_quCTqFcq2PRw1QLH6_DLlj9BU6c/s1600/keep-calm-theres-a-paradigm-shift.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdTFrTWNhxr8y1-cBbx9dB8M9u5MlDtdETbXcOLAs9aKb58ux3OuC3dmIF9e2vQ2_34na58-BEUnXCQqtgSUehAKNHlK-0lttNOj9vpzkiHxyKni1_quCTqFcq2PRw1QLH6_DLlj9BU6c/s200/keep-calm-theres-a-paradigm-shift.png" width="175" /></a></div>
In Wikipedia "<a href="https://en.wikipedia.org/wiki/Paradigm_shift">Paradigm Shift</a>" is defined as "<span style="color: #3d85c6;"><i>a change in the basic assumptions, or paradigms, within the ruling theory of science</i></span>". It is defined by <a class="mw-redirect" href="https://en.wikipedia.org/wiki/Thomas_Samuel_Kuhn" title="Thomas Samuel Kuhn">Thomas Kuhn</a>, in his influential book <i><a href="https://en.wikipedia.org/wiki/The_Structure_of_Scientific_Revolutions" title="The Structure of Scientific Revolutions">The Structure of Scientific Revolutions</a></i> <br />
<br />
It has been adopted in the business world to describe a "<span class="st"><span style="color: #3d85c6;"><i>Fundamental change in an individual's or a society's view of how things work in the world</i></span>". One classic example of a Paradigm Shift in the business world is how the Japanese Automaker Toyota changed it car manufacturing process making it able to adjust to external demands or changes and thus making Toyota a major thread to the Big 3 U.S. Automakers.</span><br />
<span class="st"><br /></span>
<span class="st"></span><br />
<span class="st">DevOps is a Paradigm Shift in the IT industry and is becoming a popular way of agile software deployment methodology.</span><br />
<span class="st"><br /></span>
<span class="st">Then what is a Paradigm Shift in the networking arena?</span><br />
<span class="st"><br /></span>
<span class="st">I think most of us will think that Software Defined Networking (SDN) is a Paradigm Shift for the networking arena. </span><br />
<span class="st"><br /></span>
<span class="st">Well if you think this way you are only half correct. I am sure you will agree with me after reading this post.</span><br />
<br />
<h2>
<span class="st">What is SDN?</span></h2>
<span class="st">Different people have different definition on what Software Defined Networking is. I have a blog <a href="http://cloudn1n3.blogspot.com/2014/08/is-vmwares-nsx-sdn-nfv-or-nv.html">post </a>that defines what SDN is. This TechTarget <a href="http://searchsdn.techtarget.com/definition/software-defined-networking-SDN">article </a>describe SDN as "</span><i><span style="color: #3d85c6;">an umbrella term encompassing several kinds of network technology aimed
at making the network as agile and flexible as the virtualized server
and storage infrastructure of the modern data center</span></i>."<br />
<br />
Overlay technologies such as VXLAN, STT or NVGRE is sometimes considered as a form of SDN. In the blog post we will look at SDN as the separation of the control and data plane and there is a centralized SDN controller to program the traffic flow on the physical network device.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5bRADirOKz82dhIHKs82X77l04Q7OnfX-R-pFrFCvbGr8pT5mDA2JVABmbVX-mXlWw1IilSoJ_SMR94L8bPFs3v7MLb-cVCQNQbbEu9dUWe-K-hkxAeis_06v88ZY032gl8IU0ypnfUI/s1600/sdn-framework.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="361" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5bRADirOKz82dhIHKs82X77l04Q7OnfX-R-pFrFCvbGr8pT5mDA2JVABmbVX-mXlWw1IilSoJ_SMR94L8bPFs3v7MLb-cVCQNQbbEu9dUWe-K-hkxAeis_06v88ZY032gl8IU0ypnfUI/s400/sdn-framework.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiET8Qe-ejEcveinc10HST8UNSi5nQxHqE3u1VWkDPIqOz5QmJ1EGv8Nkx58tStF_LH1Yud5sXOUWaRZ6V4SjXIWQx1rdjFQAYoLnxzj5dVRxiNGkWb-uhrzcFN5YyQTsKQ-0uV3azFVHg/s1600/SDN_controller.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;"> image source: <i>https://www.sdxcentral.com/wp-content/uploads/2013/08/sdn-framework.jpg</i></span></div>
<br />
In this SDN model, there is the concept of:<br />
<ul>
<li><b>Northbound Interface</b> - Interface between the business application and the SDN controller</li>
<li><b>Southbound Interface</b> - Interface between the SDN controller and physical network device</li>
</ul>
Both the southbound and northbound interface has a set of APIs. <br />
<h3>
</h3>
<h3>
Southbound API </h3>
<a href="https://www.opennetworking.org/Openflow">OpenFlow </a>is the most common protocol used in the Southbound Interface to manage the flow dictating how the packers are moved from the source to the destination. (Note: <a href="http://searchsdn.techtarget.com/definition/OVSDB-Open-vSwitch-Database-Management-Protocol">OVSDB </a>is the configuration management protocol used by the SDN controller to configure the <a href="http://openvswitch.org/">Open vSwitch</a> that is running on the physical network device).<br />
<br />
<h3>
Northbound API </h3>
The beauty of SDN is that it abstracted the physical networking devices with software and thus making the network programmable in respond to external changes. The Northbound API is the channel for the network applications to interface with the SDN controller. This <a href="http://searchsdn.techtarget.com/guides/Northbound-API-guide-The-rise-of-the-network-applications">article </a>is a good primer on Northbound API. <br />
<br />
<h2>
The Paradigm Shift - IBN</h2>
Separating the control and forwarding plane in SDN is not exactly a fundamental change on how networking is done. The true change on how networking is the concept of <span style="color: purple;"><b>Intent-Based Networking</b></span> (IBN). This article (<a href="https://www.sdxcentral.com/articles/contributed/network-intent-summit-perspective-david-lenrow/2015/02/">Intent: Don't tell me What to do! (Tell Me What You Want</a>) by David Lenrow has a good description of what Intent-Based Networking is. This article described Intent-Based Networking with these characteristics:<br />
<ul>
<li>Intent is invariant</li>
<li>Intent is portable</li>
<li>Intent is compose-able</li>
<li>Intent scales out, not up</li>
<li>Intent provides context</li>
</ul>
<b>Intent-Based Networking</b> is another abstraction to the physical network where network application only specifies it intent and does not specifies how to achieve the intent. This is similar to the <a href="https://en.wikipedia.org/wiki/Declarative_programming">Declarative Language</a> where user only specifies the end result. One example of Declarative Language is <a href="https://puppetlabs.com/">Puppet </a>the Configuration Management Tool where user only list out the end state of the device that he/she wants to manage.<br />
<br />
This is a Paradigm Shift in networking as we are shifting from the how to the what when network application interface with the SDN Controller.<br />
<h3>
</h3>
<h3>
</h3>
<h3>
The Advantages of Intent-Based Networking</h3>
There are several advantages for Intent-Based Networking:<br />
<br />
<span style="color: #a64d79;"><b>Portability</b></span>: Workload in the infrastructure tends to move around and in the case of Docker Containers, the application come and go in a rapid manner and the same application may be provisioned on different physical host. By specifying only the what and not the how, it makes the application more agile or in other words more portable.<br />
<br />
<span style="color: #a64d79;"><b>Composability</b></span>: By specifying the intent, the operator or developer of the network application does not need to know the protocol, network attributes or vendor. "<i><span style="color: #3d85c6;">It is possible to provide an integrated system where multiple, discrete SDN services are offered, while resolving and avoiding potential conflicts over shared resources such as forwarding table</span></i>" as described in David Lenrow's more recent <a href="https://www.sdxcentral.com/articles/contributed/intent-based-networking-seeks-network-effect-david-lenrow/2015/09/">article </a>on this subject<br />
<br />
<span style="color: #a64d79;"><b>Security</b></span>: In the traditional SDN Northbound API, it is possible for the attacker to manipulation the flow creation or deletion. In the Intent-based Networking model, the Northbound API only specifies the what and not the how thus making is more save.<br />
<br />
Currently this Intent-Based Networking concept is still under development but is gaining support from the following well know networking bodies:<br />
<ul>
<li>The Open Network Foundation</li>
<li>Open Source SDN boulder Project</li>
<li>OpenDayLight Network Intent Composition </li>
<li>Open Networking Lab</li>
<li>OpenStack</li>
<li>OPNFV</li>
<li>European Telecommunication Standards Institute (ETSI)</li>
</ul>
<br />
<h2>
Further Reading on this subject</h2>
<br />
"<a href="https://www.opennetworking.org/?p=1633&option=com_wordpress&Itemid=155">Intent: What. Not How</a>"<br /><br />“<a href="http://blog.cimicorp.com/?p=2288">Could Intent Modeling Save the NFV Business Case?</a>“, <br /><br />“<a href="http://blog.cimicorp.com/?p=2284">Intent Models in NFV: More than “Useful”</a>, <br /><br />“<a href="http://blog.cimicorp.com/?p=2286">Diving Deeper into Intent Models for NFV</a>“ <br /><br />Reference:<br />
<i><span style="font-size: xx-small;"><span class="citation_text">"Intent: Don't Tell Me What to Do! (Tell Me What You Want)." SDxCentral. N.p., 12 Feb. 2015. Web. 22 Sept. 2015. </span></span></i><br />
<i><span style="font-size: xx-small;"><span class="citation_text">"Intent-Based Networking Seeks Network Effect." SDxCentral. N.p., 18 Sept. 2015. Web. 22 Sept. 2015. </span></span></i><br />
<i><span style="font-size: xx-small;"><span class="citation_text">"What Is Software-defined Networking (SDN)? - Definition from WhatIs.com." SearchSDN. N.p., n.d. Web. 22 Sept. 2015. </span></span></i><br />
<i><span style="font-size: xx-small;"><span class="citation_text">Wikipedia. Wikimedia Foundation, n.d. Web. 22 Sept. 2015. </span></span></i><br />
<i><span style="font-size: xx-small;"><span class="citation_text"><span class="citation_text">"What Is a Paradigm Shift? Definition and Meaning." BusinessDictionary.com. N.p., n.d. Web. 22 Sept. 2015. </span> </span></span></i>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com4tag:blogger.com,1999:blog-9037721924597007359.post-87475643367943600102015-09-15T23:05:00.003-07:002015-09-15T23:10:09.653-07:00Docker Global Hack Day #3<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbmNroZF245HAXVMp3ifqfNQUx8pLsOn8WoQrCgszzPh7xXB0-ziVAiUghPb76UT_qisUKy7-R_8nzcDT9v8HHcqw38Cx0Yzlk4wu2Hs3lLfE33p-mO-3TaE4jOpgsUMQapFfN4dps9cM/s1600/globalhackday3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbmNroZF245HAXVMp3ifqfNQUx8pLsOn8WoQrCgszzPh7xXB0-ziVAiUghPb76UT_qisUKy7-R_8nzcDT9v8HHcqw38Cx0Yzlk4wu2Hs3lLfE33p-mO-3TaE4jOpgsUMQapFfN4dps9cM/s200/globalhackday3.png" width="200" /></a></div>
<h2>
The Event</h2>
September 16, 2015 is the <a href="https://blog.docker.com/2015/09/speakers-announced-for-docker-global-hack-day-3-kick-off-event/">Docker Global Hack Day</a>. It starts at 4:00 pm Pacific Time and ends on September 21 (the following Monday). Local Docker meetup group will host the event and it will start with one hour of live stream with different speakers. I believe food and drinks are provided also. The program at the local meetup will end on 9:00 pm but the project continues until Monday September 21.<br />
<br />
The local meetup for Los Angeles is held at Ticketmaster <br />
<br />
This is a global event where people all around the world will submit ideas on projects that is Docker related in these 3 areas:<br />
<ol class="rteindent1">
<li>Docker Plugins</li>
<li>Docker Plumbing – runC, Notary, etc.</li>
<li>Docker Freestyle – must use features from the latest Docker releases including Engine and other Docker OSS projects</li>
</ol>
List of submitted projects can be found <a href="https://www.docker.com/community/hackathon">here</a>.<br />
<br />
<h2>
My submitted project</h2>
My goal after VMworld 2015 is to learn the language <a href="https://golang.org/">Go </a>and this Docker hack day is just perfect for me as Docker as well as Kubernetes are mostly written in Go. Earlier I had an article on "<a href="http://cloudn1n3.blogspot.com/2015/08/a-new-chapter-in-docker-networking.html">A New Chapter in Docker Networking</a>" and the project that I am going to submit to the Docker Global Hack Day is libnetwork related.<br />
<br />
<h3>
<span style="color: purple;">Hack Title</span></h3>
<span style="color: #3d85c6;">Utility to display traffic counter per container</span><br />
<br />
<h3>
<span style="color: purple;">Brief abstract of the project</span></h3>
This project is to provide a utility to display the transmit and receive counter for each container by tapping into libnetwork. This will be a good debug tool to provide visibility on the traffic pattern of each container and to see if there is anything abnormal.<br />
<br />
<h2>
My expectation of this project</h2>
This project should able to provide me a jump start on Go and Docker. Since this is a very simple project I do not expect to win nor expect anyone to join me but this can push me to focus and deliver the project before Monday September 21.<br />
<br />
A part from having a jump start on Go and Docker, I hope I can meet different people of the Docker community.<br />
<br />Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com0tag:blogger.com,1999:blog-9037721924597007359.post-82681661132722154502015-09-10T05:59:00.001-07:002015-09-10T21:21:34.824-07:00My first VMworld - It was simply awesome<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS4tiyVokXrwYcxN8Us9iEqfp_Qe4ORlvHjBTV51qLpR3Ba_cKJRk39VKyXU-upxlJyib0K6B8ido9lZbE1fdaCPqK7tMM_LzDloSG4Ur9LKTqBDDrjlu9ON2MrPRggccLFBUdh_tefsU/s1600/VMworld.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS4tiyVokXrwYcxN8Us9iEqfp_Qe4ORlvHjBTV51qLpR3Ba_cKJRk39VKyXU-upxlJyib0K6B8ido9lZbE1fdaCPqK7tMM_LzDloSG4Ur9LKTqBDDrjlu9ON2MrPRggccLFBUdh_tefsU/s320/VMworld.jpg" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Last
week I was able to attend this renowned number 1 IT conference that everyone
talked about - <span style="color: purple;"><b>VMworld</b></span>.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">I arrived on Sunday afternoon and left Thursday evening.</span></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";"><span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">It was a wonderful
experience and when I left the conference I wrote this on Twitter:</span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "Trebuchet MS","sans-serif";"> </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicB7KnjSzs1Hj5P1Ux-b3F0Pj0VSpw2IvOYVW-sgqaoFEY9n27RH8Cmtqjp-kTM_FBNXxni_tlmvtyeC6mqqK2WsaMM08DWTXKbr2dLmwWdYnYrFoMkGCLovVjVEJAa-m5zSlqtccSP5o/s1600/VMworld_parting_tweet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="92" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicB7KnjSzs1Hj5P1Ux-b3F0Pj0VSpw2IvOYVW-sgqaoFEY9n27RH8Cmtqjp-kTM_FBNXxni_tlmvtyeC6mqqK2WsaMM08DWTXKbr2dLmwWdYnYrFoMkGCLovVjVEJAa-m5zSlqtccSP5o/s400/VMworld_parting_tweet.png" width="400" /></a></div>
<br />
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">In
short, this summarizes my first VMworld.<span style="mso-spacerun: yes;">
</span>I had good experience, memory and friendship.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Before
I went I have no idea what I will encounter at the conference.<span style="mso-spacerun: yes;"> I worried being alone in a BIG crowd but the Twitter community immediately ensured that I would not be. </span>I had written a <a href="http://cloudn1n3.blogspot.ca/2015/08/my-personal-theme-for-vmworld-2015.html">blog post</a> setting my theme
to VMworld 2015 – <span style="color: #45818e;"><b>Experience</b></span>.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">I was
to experience VMware in 3 ways:</span></div>
<ol>
<li><span style="font-family: "Trebuchet MS","sans-serif";">Technologies</span></li>
<li><span style="font-family: "Trebuchet MS","sans-serif";">People</span></li>
<li><span style="font-family: "Trebuchet MS","sans-serif";">Community</span></li>
</ol>
<span style="font-family: "Trebuchet MS",sans-serif;">As I reflect on the conference this is what I experienced at VMworld.</span><span style="font-family: "Trebuchet MS","sans-serif";"><br /></span><br />
<ol>
</ol>
<br />
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";"></span></div>
<h2 class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Technologies
of VMware</span></h2>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">There
are tons of blog posts on what was announced at VMworld 2015. I like this <a href="http://venturebeat.com/2015/08/31/everything-announced-at-vmworld-2015/">post</a> the most
which stated the following points:</span></div>
<div class="MsoNormal">
<ol>
<li><span style="font-family: Georgia,"Times New Roman",serif;"><i>VMware public cloud gets vCloud Air SQL, Site Recovery Mgr Air and object storage</i></span></li>
<li><span style="font-family: Georgia,"Times New Roman",serif;"><i>Working with Nvidia's Grid 2.0 on virtual desktop</i></span></li>
<li><span style="font-family: Georgia,"Times New Roman",serif;"><i>VMware Integrated OpenStack rev 2.0 (based on Kilo release)</i></span></li>
<li><span style="font-family: Georgia,"Times New Roman",serif;"><i>VMware vSphere Integrated Container and Photon Platform</i></span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-family: Georgia,"Times New Roman",serif;"><i>vSphere storage driver for ClusterHQ Flocker</i></span></span></li>
</ol>
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">It is
clear that VMware is getting into the container space under the umbrella
of <a href="http://www.vmware.com/cloudnative/cloudnative"><span style="color: #0b5394;"><b>Cloud-Native Apps</b></span></a> which also includes technologies such as Docker containers as
well as DevOps.<span style="mso-spacerun: yes;"> </span>At VMworld 2015 there is
a 3 day DevOps mini conference – <b>DevOps @ VMworld</b> held at the Hang Space with
keynotes and hands on training.<span style="mso-spacerun: yes;"> </span>There is
also the </span><span style="font-family: "Trebuchet MS","sans-serif";"><a href="https://blogs.vmware.com/vmworld/2015/09/developer-day-and-hackathon-at-vmworld-2015-day-3-recap.html">Developer Day and Hackathon</a> on Wednesday.<span style="mso-spacerun: yes;"> </span>Participants of the hackathon were given a
free one day pass to VMworld (if they have not registered to attend VMworld) and a $600 credit for vCloud Air.</span></div>
<div class="MsoNormal">
</div>
<h2 class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">People
of VMware</span></h2>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">For me
this is the best part of VMworld.<span style="mso-spacerun: yes;"> </span>At the
conference people of VMware get together to talk and to exchange ideas or concepts.<span style="mso-spacerun: yes;"> </span>At the conference, friendships are built and
this is why we have such a strong VMware community.<span style="mso-spacerun: yes;"> </span>Even being a first time attendee of the conference
I could<b> </b>already feel the bonding effect among the attendees.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">The
<a href="http://blog.vmunderground.com/">VMunderground </a>events on Sunday that began at 1:00 pm was just amazing. <span style="mso-spacerun: yes;"></span>People in this event mingled well and everyone was extremely friendly.<span style="mso-spacerun: yes;"> </span>I, am a nobody in the
VMware community was able to meet some VMware “hot shots” and was greeted with friendly
smiles and warm conversations.<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Every
day, the Partner Exchange was very crowded and was difficult to move around.<span style="mso-spacerun: yes;"> </span>Still people were very cordial and would give
others the right of way if they were on a collision course in a tight space.<span style="mso-spacerun: yes;"> </span>After all there were 23,000 people at this
conference.</span></div>
<div class="MsoNormal">
<br />
<span style="font-family: "Trebuchet MS",sans-serif;">I also attended a few parties hosted by different vendors and I was able to interact with different people. I was able to encourage one person to start blogging.</span><br />
<span style="font-family: "Trebuchet MS",sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS",sans-serif;">Some of the people I met, I recognized them not by their face but by their Twitter handle. And in one instance, I have a change to tell the story of my Twitter handle - <b>vCloudenBeer</b> (ping me on Twitter if you want to know the story).</span></div>
<h2 class="MsoNormal">
<span style="font-family: "Trebuchet MS",sans-serif;">
</span><span style="font-family: "Trebuchet MS","sans-serif";">Community
of VMware</span></h2>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">There
are 2 specific communities that I am involved in. The first one is VMUG and the
second one is vBrownBag.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";"><span style="font-family: "Trebuchet MS","sans-serif";"><span style="mso-spacerun: yes;">VMUG is the best place to learn, network and to share. </span></span>This year
VMUG was having a lounge at Moscone West 2<sup>nd</sup> floor instead of just a
booth at the Partner Exchange.<span style="mso-spacerun: yes;"> </span>Attendees were able to play games, relaxed and to talk to different people at the VMUG
Lounge.<span style="mso-spacerun: yes;"> </span>The staffs from VMUG headquarter were all very friendly, capable and organized.<span style="mso-spacerun: yes;"> </span>I took a picture
at the VMUG Lounge where they provide a photo booth for members to capture memories.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZjf7hI3ZQpkORlaJYJdokoWfEqZB2iktSw1kxZrlmX9xlABYjxPOCFirD_lnpCAL-Ujeq4sGZ7tN_BTxzOKrr11Xo77E99Z3M7MZmgu1UNnuuCJW83C0yTFfsXdoCD3LKOvVX1ahkKoQ/s1600/VMUG_SF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZjf7hI3ZQpkORlaJYJdokoWfEqZB2iktSw1kxZrlmX9xlABYjxPOCFirD_lnpCAL-Ujeq4sGZ7tN_BTxzOKrr11Xo77E99Z3M7MZmgu1UNnuuCJW83C0yTFfsXdoCD3LKOvVX1ahkKoQ/s400/VMUG_SF.jpg" width="400" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";"></span></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">The
vBrownBag crews were busy from Monday to Thursday.<span style="mso-spacerun: yes;"> </span>Lots of people signed up for a 10 minutes
slot to present different topics.<span style="mso-spacerun: yes;"> </span>Some were rookies like me and some were VMware veterans.<span style="mso-spacerun: yes;"> Complete schedule of all the presentations can be found <a href="http://professionalvmware.com/2015/08/vbrownbag-techtalks-schedule-vmworld-usa-2015/">here</a>. </span></span><br />
<br />
<span style="font-family: "Trebuchet MS","sans-serif";">My presentation was on Wednesday and you can
view it on <a href="https://www.youtube.com/watch?v=dKRJ6TyFtrs">YouTube</a> with the slide deck posted <a href="http://www.slideshare.net/AnthonyChow5/micro-segmentation-a-perfect-fit-for-microservices-52424011">here</a>.<span style="mso-spacerun: yes;"> </span>Comments on the presentation
are welcome as I wanted to improve my presentation skill. <span style="mso-spacerun: yes;"> </span>My presentation topic was on "<a href="http://VMUG is the best place to learn, network and to share. ">Microsegmentation - a perfect fit for Microservices security</a>" which some how aligned with one of the highlighted topics of WMworld 2015 by VMware.<span style="mso-spacerun: yes;"> </span>Before the presentation
I have written blog posts on this subject.<span style="mso-spacerun: yes;">
</span>One of these blog posts <a href="http://cloudn1n3.blogspot.ca/2015/08/a-new-chapter-in-docker-networking.html">(A new chapter in Docker Networking)</a> was featured at the DockerWeekly.<span style="mso-spacerun: yes;"> </span>This was encouraging and elevated my confidence during the presentation because being featured at DockerWeekly
validated my presentation content.<span style="mso-spacerun: yes;">
</span>After all this was VMworld and not just any event. </span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Thanks to James Brown (</span><a class="ProfileHeaderCard-screennameLink u-linkComplex js-nav" href="https://twitter.com/jbcompvm"><span class="u-linkComplex-target">@jbcompvm)</span></a><span style="font-family: "Trebuchet MS","sans-serif";">, I was able to take part on another vBrownBag slot
talking about Virtual Design Master as a participant sharing my experience and benefits from the contest. It was in a form of penal
discussion.<span style="mso-spacerun: yes;"> </span>English being my second
language, this is a bit challenging to me as the session is not scripted nor based on PowerPoint that we can expand on or reference to.<span style="mso-spacerun: yes;"> It was free form question and answer. </span>If interested, you can watch
this <a href="https://www.youtube.com/watch?v=viqgl4UFiZE">here</a>.<span style="mso-spacerun: yes;"> </span> </span><br />
<br />
<span style="font-family: "Trebuchet MS","sans-serif";">With these efforts I am now a
proud owner of this polo shirt</span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMuVdUqaGkOOc2DYjebKZAM2MLajpeDwmh-2wUSd1-fVRpBZ8DHCwBtYuQVlku6YCUNrePiY20PeOoFpbciuL_Gi8bMenqWuScvjMTBqbcqxvP-BzgMCREkNIJKUzNpYWdNezmHHkSGUk/s1600/vBrownBag_poloshirt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMuVdUqaGkOOc2DYjebKZAM2MLajpeDwmh-2wUSd1-fVRpBZ8DHCwBtYuQVlku6YCUNrePiY20PeOoFpbciuL_Gi8bMenqWuScvjMTBqbcqxvP-BzgMCREkNIJKUzNpYWdNezmHHkSGUk/s320/vBrownBag_poloshirt.jpg" width="240" /></a></div>
<br />
<h2 class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">It was simply awesome</span></h2>
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">Yes, it was simply awesome. I did not attend a single session nor tried any Hands-on lab at WMworld but I had a great time interact with different people and felt the bonding effect of the conference. Of course I bought home a whole bunch of new t-shirts and other swags.</span><br />
<br />
<span style="font-family: "Trebuchet MS","sans-serif";">Next
year VMworld will be held in Las Vegas and I am looking forward to experiencing
the technologies, people and communities of VMware again. </span></div>
<div class="MsoNormal">
<br /></div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com5tag:blogger.com,1999:blog-9037721924597007359.post-49246581467856525992015-08-24T06:00:00.000-07:002015-08-24T14:17:23.580-07:00Microsegmentation – a perfect fit for Microservices securityOn my last post, we have explored a <a href="http://cloudn1n3.blogspot.com/2015/08/a-new-chapter-in-docker-networking.html">new chapter in Docker networking</a>. With the new and yet still under development libnetwork, Docker container is now able to take advantage of 3rd party networking and security solutions. One of the security solution is Microsegmentation.<br />
<br />
Microsegmentation is not a new concept but the implementation of Microsegmentation is not feasible until network virtualization had become mature. Both VMware and Cisco offers Microsegmentation solutions. <br />
<br />
<h2>
<span style="color: #0b5394;">What is Microsegmentation?</span></h2>
Segmentation is a security principle used to group entities within a network into one unit and to apply rules/polices to control the traffic in and out of the segment. Usually, this is done by a firewall. <span style="color: #134f5c;">Microsegmentation </span>is to be able to provide a way to define rules/policies in a smaller granular way and sometimes as small as a Docker container.<br />
<br />
<u><b>Underlying Principles </b></u><br />
An important principle for Microsegmentation is <a href="http://cloudn1n3.blogspot.com/2015/03/who-do-you-trust-nobody.html">Zero Trust</a>. It is simply to say that within a network, nothing is trusted. In the traditional IT security model, the assumption that attack to an IT
infrastructure is from the "outside". There is the familiar tools such
as DMZ, Intrusion Detection/Protection System and the antivirus software
that companies spend a lots of money on to stop hacker from entering
into the system. Once inside the system, there is not much being done to check for the traffic inside the perimeter.<br />
<br />
Perimeter based security measures are not enough for the modern day IT infrastructure especially when the work load is in the cloud in which the perimeter is not very well defined. It is important to employ a Zero Trust model so as to provide the maximum level of security measure.<br />
<br />
<u><b>Major components for effective Microsegmentatio</b></u>n<br />
I read an article by Scott Lowe (I cannot find where it is. Will put in the URL once I find it). According to that article there are 3 main components that defines an effective Microsegmentation implementation<br />
<ol>
<li>Network independent policy definition</li>
<li>Centralized policy definition repository </li>
<li>Distributed policy enforcement</li>
</ol>
<span style="color: #674ea7;">1. Network independent policy definition</span><br />
Traditional firewall rules use the 5 tuples to define access or deny rules. It is enough when service is run in the monolithic process. To provide a more granular way for Microsegmentation, the rules and policies has to be more than just network attributes. One example of network independent definition can be the type of OS kernel or even path level of the same OS.<br />
<span style="color: #741b47;"><br /></span>
<span style="color: #674ea7;">2. Centralized policy definition repository</span><br />
Virtual Machine and/or Docker containers can move around. To be effective, Microsegmentation has to have the ability to define the security policy in a central location so that no matter where the segment is moved, the policy can be easily retrieved.<br />
<br />
<span style="color: #674ea7;">3. Distributed policy enforcement</span><br />
The enforcement point of the security policy has to be as close to the source as possible so that it will not be a bottleneck when applying the security policy. <br />
<br />
<h2>
<span style="color: #0b5394;">Microservices opens up Security risk</span></h2>
Microservices architecture is perfect for cloud native application, agile and with the ability to scale in and out depending on the need. On the other hand, Microservices architecture opens up security risk that needs to be addressed:<br />
<ul>
<li>Frequent and short life span </li>
<li>Increase of East-West traffic</li>
<li>Services are not as isolated </li>
</ul>
<u><b>Frequent and short life span</b></u><br />
How is short life span a security risk? It is a security risk when the security rules cannot keep track on when and on which host machine the services are being deployed. Over time the ACL which is a common form of security rule for segmentation can become unmanageable and thus create security risk. This problem is aggregated when the Microservices have frequent life span. A Docker container can be provisioned in a matter of millisecond. We need to have the security measure to catch up with the pace otherwise there is going to create interval of security exposures.<br />
<br />
<u><b>Increase of East-West traffic</b></u><br />
The traffic between client and server is defined as North-South traffic and traffic between servers are defined as East-West traffic. Why would increase in east-west traffic present a new security threat? Traditional security model has the assumption that attack to an IT infrastructure is from the "outside". There are not much being done to stop hackers from hoping from server to server. With the increase of East-West traffic, it amplifies this security risk that needs to be addressed.<br />
<br />
<u><b>Services are not as isolated</b></u><br />
Microservices architecture is to break a monolithic service into smaller services. In the monolithic model components of a service runs within the same process and it is much easier to provide service isolation. Also the traffic to a monolithic service is much easier to control. With Microservices, components of a service are not running as an individual process. Individual processes that work together to perform a service needs to communicate with each other. Traditional firewall rules uses the networking 5 tuples as the bases of the rules as to either allow or deny. Now with Microservices, the use of networking attributes to setup up allow or deny rules are not enough thus making it difficult for the administrator of the IT infrastructure to use traditional firewall rules to provide service segmentation.<br />
<br />
If Docker container is used to implement the Microservice architecture, we have the problem of all containers sharing the same OS kernel. In this way, individual micro services are not truly isolated from each other. Lots of development is done on Docker security but at least for now, it is a security risk that we have to address.<br />
<br />
<h2>
<span style="color: #0b5394;">Microsegmentation and Microservices fits right in</span></h2>
Microsegmentation and Microservices is a perfect match. How?<br />
<br />
What Microsegmentation can offer for security is just what Microservices architecture implemented in the form of Docker containers needs. With Network virtualization as the foundation of Microsegmentation, the security policy is able to be ready to secure the fast provisioned Microservices.<br />
<br />
The 3 major components of an effective Microsegmentation help to mitigate the security risk that Microservices opened up.<br />
<b><br /></b>
<b><u>Network independent policy definition </u></b><br />
In Microsegmentation, security rules are not limited to the traditional 5 tuples networking attributes and thus we can define a Docker container as a single segment and that the enforcement point of the policy is applied to the networking interface of the Docker container. This can effective monitor and control the East-West traffic of the various Microservices.<br />
<br />
Even if a single Docker container is compromised the hacker will not be able to break out from the Docker container because the security rule that is defined for a single Microservice will stop the unexpected traffic. Depending on the implementation of the Microsegmentation, the Docker container once being found to have violated the defined security rule, it can be killed and being spawned back.<br />
<br />
<b><u>Centralized policy definition repository and distributed policy enforcement</u></b><br />
Microservices architecture allows the application to be cloud native. Common characteristic of a cloud native application is that they can be provisioned quickly and on-demand. As these Microservices come and go they can be provisioned on different host machines. For the purpose of balancing resources, these Microservices might be moved around different host machine during its life span. Microsegmentation is able to adapt to dynamic and elastic nature of cloud native applications with distributed policy enforcement. The policy defined in a centralized location by the IT infrastructure administrator is enforced regardless of where the Microservices is provisioned.Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com0tag:blogger.com,1999:blog-9037721924597007359.post-26836128396215338622015-08-17T03:10:00.000-07:002015-08-17T03:16:23.427-07:00 A New Chapter in Docker Networking<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQjkoOeUm6iCb-ZxFUbYABCb3zPpL9l6W3ffLKpRZMwT83vNMJc7fryFnUV6O3ziAKdC5TeE4nvjfNzd7gG_ZM-y33l7RIBoPpj9NTKaZPpY7F1KnXwfJwMLs-gHauD4i-fTb1rzTS3Q/s1600/docker-turtles-communication.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQjkoOeUm6iCb-ZxFUbYABCb3zPpL9l6W3ffLKpRZMwT83vNMJc7fryFnUV6O3ziAKdC5TeE4nvjfNzd7gG_ZM-y33l7RIBoPpj9NTKaZPpY7F1KnXwfJwMLs-gHauD4i-fTb1rzTS3Q/s200/docker-turtles-communication.jpg" width="200" /></a></span></div>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Docker networking is entering a new chapter.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Networking is one of the pillar for modern day IT infrastructure and lots of work are done by various networking equipment vendor to provide a stable and fast network. Recently, there is also the movement of Software Defined Network (SDN) as well as the Network Function Virtualization (NFV). </span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">In the traditional client and server model, the traffic pattern is mostly "north-south traffic" (between the server and the clients). </span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">With Docker where most of the time it is being used to deploy Micro-Services, there is a need for the containers to talk to one another both within the same host or across multiple hosts. This changed the traffic pattern and the demand for the network is changed to add "east-west traffic" (traffic between hosts).</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOiclv32jemdm3zMrI1-3Z2yPaZ7a4y6I750ErssnU9KaLeh7pCFPC0HvpRgxUoeWRvG5jVooOLRKNlO6GBpJQJ_chH2RlbR3uh5LJY92BF0osXAT9LKYHx8VSU0vfDpB4eq27EZdjSNA/s1600/docker.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOiclv32jemdm3zMrI1-3Z2yPaZ7a4y6I750ErssnU9KaLeh7pCFPC0HvpRgxUoeWRvG5jVooOLRKNlO6GBpJQJ_chH2RlbR3uh5LJY92BF0osXAT9LKYHx8VSU0vfDpB4eq27EZdjSNA/s200/docker.jpg" width="200" /></a></div>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><a href="https://www.docker.com/company/aboutus/">Docker Inc</a> has done a good job on Docker in packaging container but the networking support is a bit primitive. I had a blog post on <a href="http://cloudn1n3.blogspot.com/2014/10/networking-options-for-docker.html">Docker Networking options</a> last year and before that I had another <a href="http://cloudn1n3.blogspot.com/2014/10/docker-technology-that-vmware-also.html">post </a>describing what Docker container is and that VMware is not against but embracing this container technologies. And of course there is <a href="http://cloudn1n3.blogspot.com/2015/07/vmware-from-vm-aware-to-application.html">Project Bonneville</a> that is in technology preview state where VMware is making Docker containers to work just like a virtual machine in the vSphere environment so as to take advantage of the "enterprise ready" features of vSphere such as Distributed Resource Scheduler, vMotion and the benefit of the lightweight, fast provisioning characteristic of Docker container.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><u><b>Native Docker Networking</b></u></span>
<br />
<ul>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">On startup Docker creates a Ethernet Bridge <b>docker0 </b>on the Linux Kernel</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><b>docker0 </b>creates a virtual subnet on the Docker host</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Docker creates a pair of virtual Ethernet interface on each container</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">One of the Ethernet interface is the eth0 in the container</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Another Ethernet interface will have a unique name in the form of veth* (e.g.vethABI3IC) and is bind to <b>docker0</b></span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">User can customize <b>docker0</b></span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Advanced Docker networking can be found <a href="https://docs.docker.com/articles/networking/">here</a></span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV6JWZGVZ1WXk1cG3qIiFA2trCt0jAYYS2jBT6VX25zs84wQcty_unXbbdYyQwsbJBvFrgXkHUSHcJHtSdvZbyeV-p-OMRR3zSNqKV-KxkllPlnoH4kTQst_VBbFyX_OxeQyNsOpA8v8I/s1600/docker_network_basics1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV6JWZGVZ1WXk1cG3qIiFA2trCt0jAYYS2jBT6VX25zs84wQcty_unXbbdYyQwsbJBvFrgXkHUSHcJHtSdvZbyeV-p-OMRR3zSNqKV-KxkllPlnoH4kTQst_VBbFyX_OxeQyNsOpA8v8I/s400/docker_network_basics1.png" width="303" /></a></span></div>
<div style="text-align: center;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: xx-small;">image source: <i>http://www.infrabricks.de/assets/images/docker_network_basics1.png</i></span></span>
</div>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">The native Docker networking was simple and is designed as a <b>single-host solution</b>. Native Docker networking does not scale well which is against Docker container use cases. </span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><u><b>Docker Networking from 3rd parties</b></u><span style="font-size: medium;"><b><span style="font-weight: normal;"><br /></span></b></span></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">As mentioned on my blog post from last year there are solutions/projects in development to solve or to improve Docker networking. These solutions are:</span><br />
<ul>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Weave</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Kubernetes</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Flannel</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Pipework</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">SocketPlane <-now part of Docker Inc.</span></li>
</ul>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">For detail description of these solutions you can take a look at <a href="http://cloudn1n3.blogspot.com/2014/10/networking-options-for-docker.html">here </a>or <a href="http://www.infoworld.com/article/2835222/application-virtualization/5-ways-docker-is-fixing-its-networking-woes.html">here</a></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">While these solutions are useful and has its use cases, they are all external to Docker.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><u><b>Docker's latest Networking Solution</b></u></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">On April 30, 2015, Docker announced an open source project - <span style="color: purple; font-size: large;"><b>libnetwork</b></span>.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="background-color: #999999;"></span><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="color: #0b5394;"><b>libnetwork</b></span></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Libnetwork is an open source project and can be found in GitHub <a href="https://github.com/docker/libnetwork">here</a>.</span><br />
<br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">This "libnetwork" is a library that can provide native support for Docker container and its function is to connect containers. This library is written in the Go language. According to GitHub, "<i><span style="background-color: #cccccc;"><b>libnetwork </b>project will follow Docker and Linux philosophy of developing
small, highly modular and composable tools that works well
independently.
Libnetwork aims to satisfy that composable need for Networking in
Containers</span>.</i>"</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Libnetwork implements the <b>Container Network Model</b> is is the work of various networking partners of Docker Inc such as Cisco, IBM, Microsoft, Joynet, Rancher, VMware and Weave.</span><br />
<br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">The most important aspect for libnetwork is that it uses a driver/plugin model. In the pass, Docker networking is handle by libcontainer and Docker Engine and now with libnetwork it can provide a single interface via the form of an API. </span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><b><span style="color: #0b5394;">Container Network Model</span> </b></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">This model has 3 main components:</span><br />
<ol>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">SandBox</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Endpoint</span></li>
<li><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Network</span></li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpemRYXfoIRPV1cwrq9ztrpnuYuHCWPG1cCtKnwL2v9bsvq7PP_WRKEhZf01W7VfyPnC5ABI_4QXGc-4AqPI11a5tK6cYpNCdYcXmYCL6GoRodkMjAnqcCFMbgmp5PuZgQqNHev-X4hR8/s1600/libnetwork_cnm-model.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpemRYXfoIRPV1cwrq9ztrpnuYuHCWPG1cCtKnwL2v9bsvq7PP_WRKEhZf01W7VfyPnC5ABI_4QXGc-4AqPI11a5tK6cYpNCdYcXmYCL6GoRodkMjAnqcCFMbgmp5PuZgQqNHev-X4hR8/s640/libnetwork_cnm-model.jpg" width="640" /></a></span></div>
<div style="text-align: center;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: xx-small;"> image source: <i>https://blog.docker.com/media/2015/04/cnm-model.jpg</i></span></span></div>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">This architecture diagram of Container Network Model is pretty self-explanatory. Again, GitHub has good information about what these 3 elements are:</span><br />
<br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><u><i><b>Sandbox</b></i></u></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>
</i></span><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>A Sandbox contains the configuration of a container's network stack.
This includes management of the container's interfaces, routing table and DNS settings.
An implementation of a Sandbox could be a Linux Network Namespace, a FreeBSD Jail or other similar concept.
A Sandbox may contain many endpoints from multiple networks.</i></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>
</i></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><u><i><b>Endpoint</b></i></u></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>
</i></span><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>An Endpoint joins a Sandbox to a Network.
An implementation of an Endpoint could be a <code>veth</code> pair, an Open vSwitch internal port or similar.
An Endpoint can belong to only one network but may only belong to one Sandbox.</i></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>
</i></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><u><i><b>Network</b></i></u></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>
</i></span><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i>A Network is a group of Endpoints that are able to communicate with each-other directly.
An implementation of a Network could be a Linux bridge, a VLAN, etc.
Networks consist of many endpoints.</i></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /><u><b>Why is libnetwork so special?</b></u></span><br />
Libnetwork is indeed very special that I called this a new chapter for Docker networking.<br />
<br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">We have seen that libnetwork provides a single interface for networking. The significant of a single interface is that libnetwork can be present a plugin for external networking solutions. This is similar to the Neutron project for OpenStack where 3rd party networking solutions can be use. </span><br />
<br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Both VMware and Cisco has already jump into this band wagon with their respective NSX and ACI networking solution to provide a robust networking solution for mulit-host container communication. </span><br />
<br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Beside a robust networking solution, being able to use 3rd party networking solutions is also able to provide Docker containers security and layer 4 - 7 network functions features such as firewall and load-balancer. </span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Security is an important aspect for all deployment in any environment. Both VMware's NSX and Cisco's ACI implements Micro-segmentation which is to provide a distributed firewall with extended rules. These extended firewall rules allows user to define security policies beyond the traditional network attributes based rules. My next post will be on Micro-segmentation.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="color: #cc0000;"><b>Note</b></span>: libnetwork is still under heavy development and is listed as experimental in Docker 1.7. Please check GitHub for the latest status as things are going in a fact pace.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Reference:</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i><span style="font-size: xx-small;">https://github.com/docker/libnetwork/blob/master/docs/design.md</span></i></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><i><span style="font-size: xx-small;"><span class="citation_text">"Docker/libnetwork." <i>GitHub</i>. N.p., n.d. Web. 17 Aug. 2015.</span> </span></i></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com6tag:blogger.com,1999:blog-9037721924597007359.post-44786843473613630632015-08-14T23:12:00.000-07:002015-08-15T07:56:49.110-07:00My Personal Theme for VMworld 2015<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGTOYOByZuD-cRw3FfO6A93ZbTufeSORXb1M-fB2pijZf_9LIw7CQyb0xTpiW-Sm46XAcxkUNVs-koc1iRprXQ4O_Of7idjzTpexfmUz6whHN1noEe-gAZkYX4pV9bOa3Ogkayh9PcAFw/s1600/VMworld_2015.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGTOYOByZuD-cRw3FfO6A93ZbTufeSORXb1M-fB2pijZf_9LIw7CQyb0xTpiW-Sm46XAcxkUNVs-koc1iRprXQ4O_Of7idjzTpexfmUz6whHN1noEe-gAZkYX4pV9bOa3Ogkayh9PcAFw/s320/VMworld_2015.jpg" width="320" /></a></div>
VMworld is said to be the number one IT conference in the world. For the pass few years I was able to attend various technology conferences such as Interop, Citrix Synergy, Puppet Conference and OpenStack Summit. But never to VMworld.<br />
<br />
<br />
Ever since I got involved with VMware related technologies I have always wanted to attend this conference. This year I was fortunate enough to secure a ticket and finally I am able to attend this conference.<br />
<br />
Starting last week I get promotional Emails from various vendors with information about their booth location and/or any sessions that they are involved in. One Email caught my attention. The title of the Email is - "<b><span style="color: #0b5394;">Anthony, your tips for VMworld 2015</span>.</b>" Well first of all the Email subject is personalized and then it addressed one of my needs and that is tips for attending this number one IT conference that everybody is speaking of and wanting to attend. Of course, it has the usual promotional information and then at the end it talks about packing light and to bring a comfortable shoe. There is one last item that prompted me to write this blog post.<br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]-->
<br />
<ul type="disc">
<li class="MsoNormal" style="background: #F7F5F5; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><b><span style="font-family: "Verdana","sans-serif"; font-size: 9.0pt; mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Times New Roman";">Get Out of Your
Comfort Zone</span></b><span style="font-family: "Verdana","sans-serif"; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">: Remember, VMworld is about
new experiences, so make sure you meet new people and learn about new
technologies from key sponsors, like Coho Data in <span style="color: blue;"><a href="http://learnmore.cohodata.com/e70uDV02000DNf0201iBF09" target="_blank">Booth #1713</a></span>. </span><span style="font-family: "Palatino Linotype","serif"; font-size: 10.5pt; mso-fareast-font-family: "Times New Roman";"></span></li>
</ul>
<br />
"<span style="color: #674ea7;"><b>Get out of our comfort zone</b></span>" has been one of my career's guiding principle -<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQg1TEKMDAagLv2yNTkZiwKJ7HwCVSaz7NPEWeXfa87r3yVE5VPyhH7s8ItDotvcbQN5Mg4hfQV5UTqRfuHm67zibLgQFTxFA7jIpzAVY6DMWi5yMsgSQ8aFskGmfrZCGy7yPIHsSjYFo/s1600/out-of-comfort-zone.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQg1TEKMDAagLv2yNTkZiwKJ7HwCVSaz7NPEWeXfa87r3yVE5VPyhH7s8ItDotvcbQN5Mg4hfQV5UTqRfuHm67zibLgQFTxFA7jIpzAVY6DMWi5yMsgSQ8aFskGmfrZCGy7yPIHsSjYFo/s400/out-of-comfort-zone.jpg" width="400" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: xx-small;">image source: <i>http://www.abundancetapestry.com/photos/out-of-comfort-zone.jpg </i></span></div>
<br />
Under this tip, the promotional Email mentioned that "<span style="color: #351c75;"><i>VMworld is about new experiences - so make sure you meet new people ...</i></span>". Wow, this also align with the suggestion that Cody Bunch (@cody_bunch) told me about what my objective should be at VMworld. Cody told me (on Twitter) to meet 3 new persons and to help 3 persons. Helping people can be as simple as point out where the nearest bathroom is at the Moscone convention center. Well I am hoping that I can do better than that.<br />
<br />
My personal theme for VMworld 2015 is - <b><span style="color: purple;">EXPERIENCE</span></b><br />
<ol>
<li>To experience VMware's technologies</li>
<li>To experience the people of VMware</li>
<li>To experience the VMware community</li>
</ol>
<br />
<u><b>To experience VMware Technologies</b></u><br />
There must be new announcement at VMworld about new product or direction of VMware and I predict that there will be announcement on VMware View. Container will be another topic that VMware is going to announce on what they will expand on <a href="http://cloudn1n3.blogspot.com/2015/07/vmware-from-vm-aware-to-application.html">Project Bonneville</a>.<br />
<br />
On existing VMware technology, I am hoping to experience NSX and VMware Integrated OpenStack (VIO) in a deeper level. <br />
<br />
<u><b>To experience the people of VMware</b></u><br />
Last year the attendance of VMworld 2014 was 22,000. Who can or will I meet during the conference. At PuppetConf 2013, I met Gabriel Chapman (@Bacon_Is_King) at a lunch presentation and he inspired me to start this journey to the cloud. At this time I do not have a plan as to how to met people and establish connection. To me just shake hand and say hi is not enough, I need to be able to establish connection and maintain contact even after VMworld 2015.<br />
<br />
On Twitter, I got to interact with others from time to time and I am hoping that I can me them in person at VMworld. I wonder if the conference will print out our Twitter handle. If they do, my handle is <span style="color: #6aa84f;"><b>vCloudernBeer</b></span>. I will be at the hang space more than going to the breakout sessions or Hands-on-Lab as those can be view or done online after the conference.<br />
<br />
<u><b>To experience the VMware community</b></u><br />
There is the VMware User Group <b>VMUG</b> and I had been saying for a long time VMUG is the best place to learn, network and to share. I will have booth duty at VMUG booth (VMUG has not given me the time slot yet) and I hope I can get more people to join this wonderful VMware community. This is also one way to experience people of VMware. Come by and say "Hi" if you are attending VMworld.<br />
<br />
Another strong VMware community is <b>vBrownBag</b>. We got to learn a lot from the rich content that vBrownBag offers not just on VMware but also on DevOps, OpenStack and other relevant IT subjects. I am fortunate enough to get a presentation slot at the vBrownBag TechTalk on "<span style="color: #0b5394;">Micro-Segmentation - a perfect fit for Micro-Service security</span>". There are 2 reasons that I sign up for this TeckTalk. The first is to improve my <a href="http://cloudn1n3.blogspot.com/2015/07/an-important-aspect-that-helps-our.html">soft skills</a> and the second reason is that I believe in sharing. My motto is "<i><span style="color: #741b47;">I know some, you know some, let share what we know</span></i>". In this way we can all grow as a community.<br />
<br />
<u><b>Waiting to see what will happen </b></u><br />
In 3 weeks, I will be able to blog about what or how I experience in these 3 areas so stay tuned. For those who are going to VMworld and have read this post, let see if we can bump into each other and establish connections. <br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKJJ41ovovrrwQY_p46BEcY6o0busA9sEQwO6R27Nt1QSLnHgUGr-WjyKA7pqyr3hCGQ1WZxFxuNk3OaItGdAbo1LCDAsrxyPT0rhuT7MCfTLCnPlYtJ0pzMOo6G7EoZhpxpMecWVjLRQ/s1600/making-friends.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKJJ41ovovrrwQY_p46BEcY6o0busA9sEQwO6R27Nt1QSLnHgUGr-WjyKA7pqyr3hCGQ1WZxFxuNk3OaItGdAbo1LCDAsrxyPT0rhuT7MCfTLCnPlYtJ0pzMOo6G7EoZhpxpMecWVjLRQ/s320/making-friends.jpg" width="316" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source: <i>https://nothingisclear.files.wordpress.com/2014/09/making-friends.jpg</i></span></div>
<br />
<br />
<br />
<br />Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com0tag:blogger.com,1999:blog-9037721924597007359.post-39587711376141321472015-07-26T22:10:00.000-07:002015-07-26T22:10:49.497-07:00OpenStack is now one more step closer to "enterprise" ready<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Trebuchet MS","sans-serif";}
</style>
<![endif]-->
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0DshyfQMEr8c25qGsyIabWgoNb6jyPmjxQ5AzS-Wtj_fw6RRQp8WmpkAiSgyE_SwHwUqRdIOQwHGS8JO9jd6IHPibl1tLnXIM2MgHGvcWTl5esJxnrqgFxvxVval4kEcUmdV6AdpMB6Y/s1600/openstack-5th-anniversary.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0DshyfQMEr8c25qGsyIabWgoNb6jyPmjxQ5AzS-Wtj_fw6RRQp8WmpkAiSgyE_SwHwUqRdIOQwHGS8JO9jd6IHPibl1tLnXIM2MgHGvcWTl5esJxnrqgFxvxVval4kEcUmdV6AdpMB6Y/s200/openstack-5th-anniversary.png" width="159" /></a></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">In the month of July, groups around the world the world are celebrating
the 5 year birthday of OpenStack. They are giving out t-shirts to commemorate
this event along with birthday cakes and champagne (each group is celebrating a
little bit differently).<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">OpenStack started in 2010 with is first release named as
Austin.<span style="mso-spacerun: yes;"> </span>Eric Wright (<a class="ProfileCardMini-screennameLink u-linkComplex js-nav u-dir" dir="ltr" href="https://twitter.com/discoposse">@<span class="u-linkComplex-target">discoposse</span></a>) had a nice <a href="http://www.discoposse.com/index.php/2015/05/06/openstack-by-the-numbers-welcome-kilo/">post </a>on
OpenStack Kilo release and have a detailed description of some interesting
statistics about OpenStack as well as some of OpenStack's latest feature.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">OpenStack came a long way in these 5 years and is starting
to gain more and more attention as a solution to business needs.<span style="mso-spacerun: yes;"> </span>Last OpenStack summit in Vancouver there were
over 6,000 attendees.<span style="mso-spacerun: yes;"> </span>New features in
respond to the market needs were being added in a high pace.<span style="mso-spacerun: yes;"> </span>While OpenStack is feature rich and is
delivering these features in a fast pace with 2 releases per year, one question
there is always one question in mind - </span></div>
<div class="MsoNormal" style="text-align: center;">
<span style="font-size: large;"> “<span style="color: #0b5394;"><b>Is OpenStack enterprise ready?</b></span>"</span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjceONa9nsfVOhGk1OYry9tfkhQEpW0-z67MdEjmpGJVe3KSc5M_jRwBxwiiFTqc_tjWkXgYEXaQDIazZzdWstrYPD5GVBhH3DBncDX4hw-zsZYA06rWViqwVbPHThAg1I7bGD3lW8vEbE/s1600/enterpriseReady.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjceONa9nsfVOhGk1OYry9tfkhQEpW0-z67MdEjmpGJVe3KSc5M_jRwBxwiiFTqc_tjWkXgYEXaQDIazZzdWstrYPD5GVBhH3DBncDX4hw-zsZYA06rWViqwVbPHThAg1I7bGD3lW8vEbE/s400/enterpriseReady.png" width="400" /></a></div>
<div class="MsoNormal">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="color: #0b5394;"><u><b>Essential "enterprise" features</b></u></span></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"></span>
<span style="font-family: Arial,Helvetica,sans-serif;">I think the top 2 essential enterprise features are: </span><br />
<ol>
<li><span style="font-family: Arial,Helvetica,sans-serif;">High Availability </span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;">Security</span></li>
</ol>
<div class="MsoNormal">
<div class="MsoNormal">
<b><span style="font-family: Arial,Helvetica,sans-serif;"><u>High Availability </u></span></b><br />
<span style="font-family: Arial,Helvetica,sans-serif;">One
important aspect for enterprise is to sustain continuous business operation.<span style="mso-spacerun: yes;"> </span>To look at a product if it is enterprise
ready we must look at what level of HA it is able to deliver.<span style="mso-spacerun: yes;"> </span>Different business have different requirement
for the level of HA a product can provide. If we look at that OpenStack web
site, it stated that OpenStack is able to offer 99.99% of uptime for the
infrastructure. But if we read on, it stated that OpenStack does not guarantee
99.99% availability for individual guest instances.<span style="mso-spacerun: yes;"> </span>Well it does not mean that OpenStack is NOT
enterprise ready.<span style="mso-spacerun: yes;"> </span>At least the OpenStack
is guaranteed to have 99.99% of uptime.<span style="mso-spacerun: yes;">
</span>If this cannot be achieved, then we can forget about the 99.99% of the
individual guest instances.</span></div>
<div class="MsoNormal">
<u><span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></u>
<span style="font-family: Arial,Helvetica,sans-serif;"><u>Vendor specific build-in HA features</u></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">There are a few ways that we can take advantage of the existing and proven high availability feature provided by vendors such as:</span><br />
<ol>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>Red Ha</b>t Enterprise Linux 7 - Pacemaker</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>Ubuntu </b>14.04 - High Availability Cluster solutions</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>SUSE </b>Linux Enterprise High Availability</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>VMware </b>vSphere infrastructure </span></li>
</ol>
<span style="font-family: Arial,Helvetica,sans-serif;"><u>Kubernetes </u></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">An</span><span style="font-family: Arial,Helvetica,sans-serif;"><span style="mso-spacerun: yes;">other development in OpenStack is project Magnum where OpenStack interacts with Kubernetes to orchestrate the deployment of groups of containers as a Pod and there is the replication controller in Kubernetes that user can defined the desired state of the Pod in such a way that if container dies, the Replication Controller is going to re-create the Pod defined by the user. </span></span></div>
</div>
<div class="MsoNormal">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlro6Iz1u8CsWnfAHWHZdIA1tZbHYUUsg3-ofWitVqsV4il-L9w5XWpJn7MXaPBbW1edb2XTw9C1yE3STqLrry03OBcn40n6U0teBlsczoSEqHPK9RLKzSmyZClGiFkStJIcym6Vu4vBs/s640/Kubernetes_ReplicationController.png" width="640" /><span style="font-size: xx-small;">image source: <i>https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAjyzgb5tK336Z93gwLMTxC2iSaolGw3SNof_YQZwRa3TrJYuk8OCVBFBuCatAqWhOWedOV7CNto-pB5XCXTe74XIlBFonwUbD-FRveDGpQZIGAwJbsheJPwWk8pb2RUNYC3aKUOV9hYAB/s1600/k8s+replication+controllers+(1).png</i></span> </div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<b><span style="font-family: Arial,Helvetica,sans-serif;"><u>Security</u></span></b></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Another important aspect for enterprise is security. OpenStack has a project called Keystone that handles the security of the infrastructure. One feature for Keystone is that it can use Active Directory as a backend server and this allows OpenStack to use the existing and widely used Active Directory. This is helping OpenStack to be enterprise ready.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">Interaction within the various element of the OpenStack infrastructure is via RESTful API. Each entity will have to request a security token for each API call so that the target entity can validate if the initiator of the API call has the proper credential and privilege to request the operation.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">OpenStack has a dedicated security team to look at the security of the OpenStack infrastructure. Each commit to the OpenStack code base has a keyword <span style="color: purple;">SecurityImpact</span> that the commiter can use to flag the security team to investigate if that particular commit has any security impact to OpenStack.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">With all these features in place, more and more companies are willing to deploy OpenStack in the production environment. This is a sample of companies that are deploying OpenStack in their production environment (just showing some examples and is not a complete list):</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMlIZLcMru75i568TOSOsiIAjGCw5MEd8E0osjptpNYjiulGMBxYjmeeK3M2idv0Rv8NnEg4qrI0QFXgbsLmdw49lOFFfhl1EmAFsv5IAPA2KttA-Rwm11tcucWOtM10IbnuxbNj_En4c/s1600/companiesUsesOpenStack.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMlIZLcMru75i568TOSOsiIAjGCw5MEd8E0osjptpNYjiulGMBxYjmeeK3M2idv0Rv8NnEg4qrI0QFXgbsLmdw49lOFFfhl1EmAFsv5IAPA2KttA-Rwm11tcucWOtM10IbnuxbNj_En4c/s400/companiesUsesOpenStack.png" width="367" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: xx-small;">image source: <i>http://cloudtweaks.com/wp-content/uploads/2014/11/companies-snapshot.png </i></span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial,Helvetica,sans-serif;">Within the last few days there are 2 new development that helped move OpenStack closer to be "enterprise" ready.</span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><b style="mso-bidi-font-weight: normal;"><u>Google becoming a
sponsor to OpenStack Foundation</u></b></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">On July 16, Google announced that it is becoming a sponsor
to the OpenStack Foundation along with “big” companies such as IBM, Red Hat,
Ubuntu or VMware support this open source cloud infrastructure.<span style="mso-spacerun: yes;"> </span>I had a <a href="http://cloudn1n3.blogspot.com/2015/07/marriage-made-in-heaven-google-project.html">blog post</a> on my reaction to Google’s
announcement. </span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">The significant of Google sponsoring OpenStack Foundation is
twofold.<span style="mso-spacerun: yes;"> </span>The first one is that Google is
in a way endorsing this technology.<span style="mso-spacerun: yes;"> </span>The second
one is what its knowledge, expertise and experience on deploying container at
scale to make OpenStack able to deploy container as well as virtual machine in
it infrastructure.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><b style="mso-bidi-font-weight: normal;"><u>OpenStack
Innovation Center</u></b></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">On July 23, there is another OpenStack announcement that is
worth looking into and I believe is as important as the Google
announcement.<span style="mso-spacerun: yes;"> This important announcement is that Rackspace and Intel is collaborating to form an <span style="color: #0b5394;">OpenStack Innovation Center</span><b>.</b> According to the press release the purpose of this OpenStack Innovation Center is to</span> help accelerate the development of enterprise capabilities and thus driving the adoption of OpenStack in the enterprise production environment.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">The agreement between Rackspace and Intel includes:</span><br />
<ul>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>OpenStack Innovation Center</b> – The center will
create the world’s largest OpenStack development team. It will be
comprised of Rackspace and Intel engineers and will be located at
Rackspace’s corporate headquarters in San Antonio.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>OpenStack Developer Training </b>– Through this effort,
Rackspace and Intel will offer new modules of courseware designed to
onboard and increase the number of open source developers actively
contributing to the success of the community.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>Joint OpenStack Engineering</b> – Rackspace and Intel
will resource OpenStack development, working in collaboration with the
OpenStack Enterprise Work Group and community, targeting bug elimination
and the development of new enterprise features. The companies will
recruit new engineers to participate in OpenStack development.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><b>Largest OpenStack Developer Cloud</b>– Rackspace and
Intel will build and make available to the community two 1,000 node
clusters to support advanced, large-scale testing of OpenStack and new
features developed through the joint engineering work. The companies
anticipate having the clusters available for community use within the
next six months.</span></li>
</ul>
<span style="font-family: Arial,Helvetica,sans-serif;"></span>
<span style="font-family: Arial,Helvetica,sans-serif;">One good news for me as a software developer on this collaboration between Rackspace and Intel is that there will be a two 1,000-node OpenStack hybrid cloud clusters that will be made available to the OpenStack community to look a issues regarding scaling and performance.</span><br />
<br />
<u><b>What is next?</b></u><br />
Wonder what is in the horizon for more enterprise features in OpenStack. I had a conversation with a person that is in the OpenStack community and he was saying that there will be a lot more exciting announcements in the upcoming OpenStack Tokyo summit and in the OpenStack Austin summit next year. <br />
<br />
<b>Reference</b>:<br />
<i><span style="font-size: xx-small;"><span class="citation_text">"Accelerating the Enterprise Features of OpenStack: Rackspace and Intel Form the OpenStack Innovation Center." Rackspace Hosting. N.p., n.d. Web. 25 July 2015. </span></span></i></div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com10tag:blogger.com,1999:blog-9037721924597007359.post-68157669251338302372015-07-24T16:41:00.000-07:002015-07-24T22:40:16.527-07:00An important aspect that helps our career - soft skills<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<span style="font-family: "Trebuchet MS","sans-serif";">We all
want to advance in our career or at least stay relevant so that we keep our
current job. Right after I graduated from college I wanted an office with this
view:</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh1qNj7Ts70w34K0Xm-NiLNBEnahuuJ_Swwh3dTgpBl3fnX47kRkCLh_vONx5eC_H0pM53a-Yel6-AhxQgFd4Ra-2GGkYxkNl-ItMHMxEsd8QhC9lRYZ0hZg51gxgGZtax05S5ixiUD1k/s1600/Ritz-Carlton-Hong-Kong-View.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh1qNj7Ts70w34K0Xm-NiLNBEnahuuJ_Swwh3dTgpBl3fnX47kRkCLh_vONx5eC_H0pM53a-Yel6-AhxQgFd4Ra-2GGkYxkNl-ItMHMxEsd8QhC9lRYZ0hZg51gxgGZtax05S5ixiUD1k/s640/Ritz-Carlton-Hong-Kong-View.jpg" width="640" /></a></div>
<br />
But now I want an office with a view like this - <span style="color: #45818e;">I wanted to work from home</span>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQUpRgqsd2ZFb3oe9oRQ0FTtOiFIC7I6Jb_Gc3s53KOMJzLxeMF7NTlK4sZY-1_8tV9YRX7mGZKvVamI8Fj4GsvPaQFwBTsZdUKPjt8sXGNu_8wks9TiwtEmYngdzeQPT2-YkCZzgJ2YQ/s1600/bedroom.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQUpRgqsd2ZFb3oe9oRQ0FTtOiFIC7I6Jb_Gc3s53KOMJzLxeMF7NTlK4sZY-1_8tV9YRX7mGZKvVamI8Fj4GsvPaQFwBTsZdUKPjt8sXGNu_8wks9TiwtEmYngdzeQPT2-YkCZzgJ2YQ/s640/bedroom.jpeg" width="640" /></a></div>
Depending on what our career goal is, we do different things to sharpen out technical skill so that we can be marketable and build for us a career.<br />
<br />
What are you doing to build your career? <br />
<br />
<u><b>What is a job?</b></u><br />
My idea of a job is that we are to solve problems. This view may be overly simplistic but is very accurate. Everyday whether you are working or not you are solving problems. The more difficult problem you can solve the better you got pay (well most of the time). A doctor is to solve the problem of the patient by providing medical advice or to prescribe medication. I cook for my kid and that is to solve their problem of being hungry.<br />
<br />
In the technical world, we do different things to solve business problems so that your company can earn money. I am a software developer and I write software to provide feature for networking equipment so that my company can sell the equipment to other business entities to solve their networking problem in the course of making money.<br />
<br />
While the ability to solve problem is important, it also has to be relevant. My boss is very nice and we have a good working relationship for many years. However, when I told my boss that I made VMware vExpert 2015, the response is "<i>That is nice. Congrats</i>". Why do I get this cold response from my boss? The reason is simple, by being a VMware vExpert is certainly a career achievement for me but the bottom line is that it will not solve my boss' problem at that time which is to lower the software bug report counts. My skill that I have acquired or achieved for VMware or OpenStack does not help my boss solve his problem.<br />
<br />
Skill for a job means the ability to solve problems (especially your boss' problems).<br />
<br />
<u><b>What are soft skills?</b></u><br />
<a href="http://searchcio.com/">SearchCIO.com</a> has a good <a href="http://searchcio.techtarget.com/definition/soft-skills">article </a>explaining what soft skills are in the context of the IT industry. Soft skill are the skill on how to communicate with others effectively. This is also labelled as people skill or interpersonal skill.<br />
<br />
Soft skills are something that most of us do not consciously wanting to improves as with our hard skills. For the technical skill we will consciously take classes or to achieve industry recognized certifications such as CCIE, VCDX.<br />
<br />
With soft skills, our ability to solve problems for our boss increases. What happen when developer A wanted to implement a traditional link list to solve this problem while developer B on the same team wanted to use the Red-Black tree to solve the same problem. Do we have the ability to resolve this conflict before the heated conversation goes to the boss' office?<br />
<br />
Soft skills help us interact with our co-workers? Beside the technical skill, employers also look at a person's ability to interact with the existing team on a job opening that they are hiring.<br />
<br />
Soft skills are an important aspect for our career! <br />
<br />
<u><b>What am I doing with polishing my soft skill?</b></u><br />
I do not have a customer facing job but in the pass few years I got different opportunities to polish and to sharpen my soft skills. <br />
<br />
<u>Writing skill</u><br />
By writing I do not mean only to be grammatically correct but to develop a unique writing style that can help capture readers. Can I make appropriate illustrations to help reader understand the content? Will the readers anticipate my next blog post to come?<br />
<br />
Being an active blogger is a start. With this blog I am learning how to communicate with the reader to explain different concepts or new trends in the IT industry. I want to have the ability to write clearly and in a simple way to explain various security, network or cloud technologies. To me writing skill is a soft skill to me because I am a software developer. Now if I were a tech writer or a journalism then writing skill is a hard skill.<br />
<br />
<u>Smiling face</u><br />
The second soft skill that I am developing is a genuine smiling face when interacting with others.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zWRT0-6TA_glPSrpRI5Gpbi_LeoR4lQ1nHtHDRkwJ80V9MenAN2XF1zzX3Uk8I4G3mxrl019svSQkX0UFOgoTyDqnJfO8ggfZJKIndOXMtbpKzAXRU_rJN6Fm4d5-kE0jkFrv0lSMVM/s1600/happyFace.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zWRT0-6TA_glPSrpRI5Gpbi_LeoR4lQ1nHtHDRkwJ80V9MenAN2XF1zzX3Uk8I4G3mxrl019svSQkX0UFOgoTyDqnJfO8ggfZJKIndOXMtbpKzAXRU_rJN6Fm4d5-kE0jkFrv0lSMVM/s200/happyFace.jpg" width="200" /></a></div>
<br />
This may sound easy but for me I need lots of practice.<br />
<br />
I practice this at local user group meetups and conferences. One thing nice for me is that I like beer (craft beer) and in the technical world drinking is part of the culture and I am able to strike conversation with stranger on the topic of beer. When meeting with others that I do not know very well, beside able to strike a conversation with some common topic to talk about, a smiling face can often make a big difference. You can see people will smile back and they will feel a lot more comfortable talking to me.<br />
<br />
Have you ever felt lost in a big conference where lots of people are around you and yet you felt you are alone? A smiling face (genuine) is a good ice breaking tool.<br />
<br />
<u>Presentation skill</u><br />
The third soft skill that I am sharpening is to give presentations. It started <a href="http://cloudn1n3.blogspot.ca/2014/08/stepping-out-our-comfort-zone.html">here</a>. I still do not like public speaking but I enjoy sharing what I know with others. Presentation is NOT just tell others something. We need to engage with the audience and to catch their attentions so that the presentation material can be effectively transferred to them. Presentation is a 2 way street and the presenter needs to be sensitive to the audiences body language and to adjust the presentation accordingly. If the presentation is 1:30 in the afternoon, we need to understand that most audiences will be very sleepy after lunch. Able to tell some jokes will be useful to gather back the audience's attention. An effective presenter needs to listen (to the audience) also.<br />
<br />
Different people told me that even I do not have a customer facing job, presentation skill is still important for me to develop. There are times that we need to present to the CEO our company.<br />
<br />
After my first presentation at the Los Angeles VMUG, I sign up for other speaking opportunities. I sign up for Red Hat Summit, SCALEx13 (Southern California Linux Expo), Puppet Day, OpenStack summit and vBrownBag TechTalks.<br />
<br />
In specific for the OpenStack Vancouver summit, I sign up because I wanted a free conference pass so I can attend the summit. As I have mentioned in this <a href="http://cloudn1n3.blogspot.ca/2015/02/my-journey-to-cloud-slight-chance-for.html">post</a>, my current company that I am working for does not endorse nor sponsor my quest for a day job that is cloud computing related. I have to use my personal time and pay for all expenses myself. What I have found is that writing talk proposals for conferences is a skill that I need to work on. It is time for the OpenStack Tokyo summit and this time I submitted 2 talk proposals. I am a nobody in the OpenStack community and the chance for me to be selected to speak at the OpenStack summit is very very low. However, practice makes perfect and I am going to try and use this as my learning experiences. Just like asking for a girl for a date - if you do not ask she will not go out with you but if you ask, there is a chance.<br />
<br />
<span style="font-size: large;"><b><span style="color: #351c75;"><u>A little self promotion</u></span></b></span>:<br />
Please consider voting for my 2 presentation proposals for the OpenStack Tokyo summit as this will push my presentation skill to a higher level and I believe these 2 talks are useful for the OpenStack community:<br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
<br />
<ul type="disc">
<li class="MsoNormal" style="line-height: 140%; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="color: #0b5394;"><b>Beginner's
Essentials to OpenStack</b></span><br />
<a href="http://email.openstack.org/wf/click?upn=KDXUwHsqj2QOekTYbWDSGOQec3b75Fovt3HVvm3PiyFsTeh9f03Hig50WTaMW6Vh9UXoSwNRuH08K4E0EcoOIkw4vHH2-2B8q1HiFESJ3lLmkpyf0zZeIXn6to82H9SUSU_U7z7oSqRMSwdl2rYt9JJ454a-2FKFF7C2a9t1CBn6kllcESRYoX-2BizFNXnLZuo5-2B0plAgOHaeohYyk7kesjoYq5aI0W7KpJ5incB9OqpOBNugCTItfckb3tjCqnAKEfht7c3Jmjo9G9VFMpsNPbKeyr39Kcs-2F74ucPzRZcWq7CC9yCpWP8hFpbH-2Ba5GqS7K2rOLv7wXwp-2BY6JWh3vq7-2F00Y2Y1FkCjviYRhJqCqDzptL1eVrClZz32qJomPfqGRBgkvCKXpogwavRz6yPEaVaPWmABILiDg4dOqwm-2FipNip-2BLZQfKXAVomdSbgN62PjCfnajGhmy5iKvVUyMjtg2nPjxSMkq42uN4NrLkECotTwR1bgaFLDFLDBP6zN9GpTX4JBjsRB8vwM43DGstiF-2FsQK-2FSM9Y5mczx3juM8nwYHqHg-3D">https://www.openstack.org/summit/tokyo-2015/vote-for-speakers/Presentation/5545</a></li>
<li class="MsoNormal" style="line-height: 140%; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="color: #0b5394;"><b>Overcome the
barrier – start contributing to OpenStack</b></span><br />
<a href="http://email.openstack.org/wf/click?upn=KDXUwHsqj2QOekTYbWDSGOQec3b75Fovt3HVvm3PiyFsTeh9f03Hig50WTaMW6Vh9UXoSwNRuH08K4E0EcoOIkw4vHH2-2B8q1HiFESJ3lLmkoA2r8IdEWor5XbuESufM8_U7z7oSqRMSwdl2rYt9JJ454a-2FKFF7C2a9t1CBn6kllcESRYoX-2BizFNXnLZuo5-2B0plAgOHaeohYyk7kesjoYq5Tth8gtwCaHQurfuOvn0JX4e4bq8ooQAeag9pisk0NaUS7Wcv2-2BSQrPRd4tHnsefLKsLPA-2FcW7IGV8tXIc5R6JVrQvLsoUBME8GWPRi9337aPlGUVb-2BvwFn1DQto0rKy3b9jdvsclZzTPRggi1UHROA2ADaoRhhQ89PffLc2qU2Z-2F0x3vMC4SjWTUJ0wMVDqzIJDYDk18CzR-2FBqe6GDPfd-2FpiRjcRxUac6HJi55UncPyicP4Y2gQyxbmPZ6KhGDtGDQVrVhgWw6UEYLzVxybIGzBoGbNCnotcU21cX2-2BE7Wwz9wZ6b2aH5oQRQ7DZH-2FEMc0DMTvVKDYU5rb4ZVSxo9k-3D">https://www.openstack.org/summit/tokyo-2015/vote-for-speakers/Presentation/5553</a></li>
</ul>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgElisIZwQBRpvPgdNf0fNZJ3Ikv8SIOMWRTuJGZhSDAOlrgjey4uySy7ssGkUmWWdxKbn8SRz94LxOT7HfE7K5akaku4D7Aj3O4jx7pdNty_GMCsiaXhOiwIapYJBhZvR-qpgXcdu3hhE/s1600/thanksForVoting.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgElisIZwQBRpvPgdNf0fNZJ3Ikv8SIOMWRTuJGZhSDAOlrgjey4uySy7ssGkUmWWdxKbn8SRz94LxOT7HfE7K5akaku4D7Aj3O4jx7pdNty_GMCsiaXhOiwIapYJBhZvR-qpgXcdu3hhE/s400/thanksForVoting.png" width="400" /></a></div>
<br />
<br />
<br />
<br />Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com14tag:blogger.com,1999:blog-9037721924597007359.post-32765802411291573492015-07-18T00:13:00.000-07:002015-07-23T15:21:41.762-07:00Marriage made in heaven - Google + Project Magnum <div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLldMashO_wMOasX8p0YNrxzxUDLXQCsLqmox4k1csHC6OFqUzTWhvFH4zYo18CE-zamBVWP7xF0PLiW98f2a9ZaVd1t9ubEpEAXrLVL6DNFqVAKeFjIb1N7IH4WL6nZXSbkZoP8bUs6Q/s1600/google%252Bkubernetes%252Bopenstack.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLldMashO_wMOasX8p0YNrxzxUDLXQCsLqmox4k1csHC6OFqUzTWhvFH4zYo18CE-zamBVWP7xF0PLiW98f2a9ZaVd1t9ubEpEAXrLVL6DNFqVAKeFjIb1N7IH4WL6nZXSbkZoP8bUs6Q/s200/google%252Bkubernetes%252Bopenstack.jpg" width="200" /></a></div>
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">On July 16, Google announced that it is becoming a sponsor to the OpenStack Foundation. This announcement immediately generated a lots of excitement and this news is all over the social media. Immediately lots of blogs and technical news outlets published articles on this announcement.</span></span><br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">My immediate reaction was this:</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBz0NQQQZFsGXJh1gy4vCtXp-CiAsx-K0xvAJIFm81GYLU78Bient_szlkvf5VJKhS26s1RZHlwh6Zc1xovsOZ2ZQ5IJyXm9cu3yiKBPzgNes4Kul7EeED2UqXCG6AHCHvu2YidRoX8d8/s1600/myReactionToGoogle.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBz0NQQQZFsGXJh1gy4vCtXp-CiAsx-K0xvAJIFm81GYLU78Bient_szlkvf5VJKhS26s1RZHlwh6Zc1xovsOZ2ZQ5IJyXm9cu3yiKBPzgNes4Kul7EeED2UqXCG6AHCHvu2YidRoX8d8/s400/myReactionToGoogle.png" width="400" /></a></div>
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">as I express myself on Twitter. </span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">In this <a href="http://googlecloudplatform.blogspot.ca/2015/07/Containers-Private-Cloud-Google-Sponsors-OpenStack-Foundation.html">blog </a>post, Product Manager of Google, <span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Craig McLuckie stated that by becoming a sponsor to the OpenStack Foundation, Google is expected to bring valuable knowledge, expertise and deployment experience of container-oriented computing to OpenStack. The blog also stated that Google is seeing 2 emerging trends in the enterprise computing sector:</span></span></span><br />
<ol><span style="font-size: small;">
</span>
<li><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Moving toward the adoption of hybrid cloud (public and private)</span></span></span></li>
<span style="font-size: small;">
</span>
<li><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Moving toward the adoption of container-based computing</span></span></span></li>
</ol>
<span style="font-family: Arial,Helvetica,sans-serif;">Quote directly from the blog post:</span><br />
<br />
<span style="color: #45818e;"><i>"We (Google) will be working over the coming months with the (OpenStack) community to integrate <b>Kubernetes</b>, as well as <b>complementary container technologies</b>, to create a stronger hybrid cloud."</i></span><br />
<br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The excitement about Google sponsoring OpenStack Foundation is not just just another "big" company joining IBM to endorse the future of OpenStack but what Google can bring and to enhance what OpenStack can provide for its consumers. Google has been running containers for over 10 years. </span></span></span></span><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Google's various applications such as Gmail, web search or map services are running as containers. It is said on the internet that Google launch 2 billions containers in one week.</span></span></span></span><br />
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><u><b>Why Linux Container?</b></u></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"></span>Linux Container is not a new technology and its origin can trace back to FreeBSD Jails in year 2000. <a href="https://www.docker.com/company/aboutus/">Docker Inc,</a> is the company behind the open source Docker platform. The Docker platform is an orchestration or packaging tool that allows application and their dependencies to run on container technology. Docker makes it easy for developer and sys admin to deploy applications with container technology. <br />
<br />
The advantage of Linux container is light weight and fast provision as compare to a virtual machine. It is also portable<br />
<br />
Linux containers is just perfect for DevOps as well as Micro-services architecture. <span style="font-family: Arial,Helvetica,sans-serif;"><br /></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Linux Container is part of the equation along with DevOps and Micro-services to answer the modern day business requirement – <span style="color: #0b5394;"><b>agility.</b></span> In other words the ability to react to the change of the business environment fast or faster than the competitor.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">Both DevOps and Micro-services are big topics that will take up an entire blog post to talk about.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">In a nutshell, DevOps is not a technology but a culture and a form of application deployment methodology. It relies on the continuous feedback model from operation to development so that applications can be deployed in a faster manner.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgESvJ9ncE7TFXTEGxC0hhD7D63p_OjloFLguLLhE_7IoTXzYKPcMCBBpvDo1iTuK-9tE01TQLRJondHJqMQptO8Lhut2oLC2iHzu5LyhJDVrDaWLy1Wnxek3gfueCVQlv8QcYnC1_gEzc/s1600/DevOps-infinity-loop2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgESvJ9ncE7TFXTEGxC0hhD7D63p_OjloFLguLLhE_7IoTXzYKPcMCBBpvDo1iTuK-9tE01TQLRJondHJqMQptO8Lhut2oLC2iHzu5LyhJDVrDaWLy1Wnxek3gfueCVQlv8QcYnC1_gEzc/s320/DevOps-infinity-loop2.png" width="320" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source: <i>http://www.appdynamics.com/blog/wp-content/uploads/2013/06/DevOps-infinity-loop2.png</i></span></div>
<br /></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Micro-services is the new and popular way of deploying applications. Application used to be one monolithic process and is not as agile. Micro-services breaks the application into smaller processes running together.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpzvStRsE5H6TUQYKOEg1xJLVlf5qiHup28L9thj-8RBVRhWYNX23SS4wrexGLNrMlvDQnz4tSAKrQGLyqWVaCoPz0-VRoOX3H1Qzrz3Lk1kJ3NcZLlherOG6XdZkTr07FR2uyozvs5uw/s1600/MicroservicesFowler.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpzvStRsE5H6TUQYKOEg1xJLVlf5qiHup28L9thj-8RBVRhWYNX23SS4wrexGLNrMlvDQnz4tSAKrQGLyqWVaCoPz0-VRoOX3H1Qzrz3Lk1kJ3NcZLlherOG6XdZkTr07FR2uyozvs5uw/s400/MicroservicesFowler.png" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;"> image source: <i>http://www.thoughtworks.com/sites/default/files/assets/MicroservicesFowler.png</i></span></div>
<br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">DevOps, Linux container and micro-services architecture fits right into each other because they share one common characteristic and that is to break one complex problem into smaller problems which can be resolved easier and faster.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Linux containers are gaining traction in the enterprise IT environment. In my other <a href="http://cloudn1n3.blogspot.ca/2015/07/vmware-from-vm-aware-to-application.html">blog </a>post, I talked about VMware embracing Docker with Project Bonneville making Docker to run just like a virtual machine in vSphere so that Docker container can take advantage of the matured high availability, security and networking infrastructure that VMware had developed. </span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Microsoft is also embracing Docker in its public cloud Azure.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">We can see that container is an emerging technology integrating with various enterprise ready technologies independently providing features for consumer of the IT infrastructure or cloud.</span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><u><b>What is Kubernetes?</b></u></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLychGVlLB3VratejxwESUAcBtGOyvEGZ_-NIH13Fq6HB8DeFlPZbi3w94B8ei3d5Gzni2YHg1UuTEbFSiRIqjfkF-wFLijmNPwKDZR4MAZ5y_4HlMn1kCwZqg9cSg0HsspSR7owmgR3I/s1600/Kubernetes_logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLychGVlLB3VratejxwESUAcBtGOyvEGZ_-NIH13Fq6HB8DeFlPZbi3w94B8ei3d5Gzni2YHg1UuTEbFSiRIqjfkF-wFLijmNPwKDZR4MAZ5y_4HlMn1kCwZqg9cSg0HsspSR7owmgR3I/s200/Kubernetes_logo.png" width="200" /></a></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="http://kubernetes.io/">Kubernetes </a>is developed by Google to manage containers in a clustered environment. Google makes Kubernetes open source and can be found on GitHub <a href="https://github.com/googlecloudplatform/kubernetes">here</a>. </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">The beauty of open source project is that there is always description of the project. The description of Kubernetes on GitHub is:</span><br />
<br />
<span style="color: #134f5c;"><i>"Kubernetes is an open source system for managing containerized applications across multiple hosts,
providing basic mechanisms for deployment, maintenance, and scaling of applications."</i></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">An interesting point to note is that Kubernetes is still considered as pre-production beta status and heavy development is still being done. (Well GitHub said it is in pre-production beta but on July 21 at <a href="http://www.oscon.com/open-source-2015">oscon</a>, Kubernetes 1.0 is released. Release 1.0 and above is usually production ready).</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">Kubernetes works off the following concepts:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSRwIr9ww6CJx6RRmgjD1JD30iG9KEb1WxeLLc0lV489YE9QhZlDvFR4xpkWjDif9Ql4UtdUGZXhMI4rLKT-l0IfY7XKsBwmuyriycDvGN0_COoEuEYG0bT-NQhBwlcEU9kD8SEWobZ-U/s1600/devnexus-2015-kubernetes-container-engine-17-638.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSRwIr9ww6CJx6RRmgjD1JD30iG9KEb1WxeLLc0lV489YE9QhZlDvFR4xpkWjDif9Ql4UtdUGZXhMI4rLKT-l0IfY7XKsBwmuyriycDvGN0_COoEuEYG0bT-NQhBwlcEU9kD8SEWobZ-U/s640/devnexus-2015-kubernetes-container-engine-17-638.jpg" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source: 13110153-conversion-gate01/95/devnexus-2015-kubernetes-container-engine-17-638.jpg?cb=1426244619</span></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Red Hat also used Kubernetes on their PaaS offering - OpenShift.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">I will write up a more detailed blog post on Kubernetes later. If you cannot wait, take a look at <a href="https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes">here</a>.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><u><b>Project Magnum</b></u></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Before the July 16 Google announcement, OpenStack already has an ongoing project called Magnum - <b>Containers as a Service</b>. </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Project Magnum allows containers be deployed in an OpenStack infrastructure as easy as a virtual machine but in the fashion that container should be deployed. This opens up a lot more business use case on DevOps and Micro-services for OpenStack.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">In Nova, Docker is considered as one of the supported hypervisor type. The main difference for Magnum over Nova is that Magnum uses container orchestration tool to deploy containers at scale and in a rapid manner. Deployment characteristic of a container is different than a virtual machine such that container come and go more frequently and containers usually are deployed in group as a cluster and sometimes across multiple hosts. These containers in the cluster needs interact with each other when they operate together to offer the service of one application to the user as in the Micro-service architecture.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">There is not much description about the <a href="https://github.com/openstack/magnum">Magnum</a> on GitHub. Better description can be found on OpenStack wiki page for <a href="https://wiki.openstack.org/wiki/Magnum">Magnum</a> The OpenStack Magnum wiki page even has a 5 minute video on how Magnum works. This project on OpenStack wiki is described as:</span><br />
<br />
<span style="color: #134f5c;"><i>"OpenStack API service making container orchestration engines such as Docker Swarm and Kubernetes available as first class resources in OpenStack"</i></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">The main idea is to take advantage of the existing Docker orchestration engine and make it work on an OpenStack infrastructure. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">I will write another blog post to describe Magnum in more detail. For now we will look at Magnum at a very high level. As a preview, the architecture of Magnum looks like this:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh56cFW58rmOx8I0fLW7u-osyBfnjg_ATvUboT2BNPl1Yk5SFJ9PHQZ3XVS-uLGHge6VAAjb7Cj5-uvuYd4fcEez65X4zuMuDLG3X7aq36iT4lE0rRKsJZDuiA-k0YyqfEwrWxuec_CzI/s1600/Magnum_architecture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh56cFW58rmOx8I0fLW7u-osyBfnjg_ATvUboT2BNPl1Yk5SFJ9PHQZ3XVS-uLGHge6VAAjb7Cj5-uvuYd4fcEez65X4zuMuDLG3X7aq36iT4lE0rRKsJZDuiA-k0YyqfEwrWxuec_CzI/s640/Magnum_architecture.png" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: xx-small;">image source: <i>https://wiki.openstack.org/wiki/File:Magnum_architecture.png</i> </span></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">With this diagram, we can see the general idea on how Magnum works. Magnum also takes advantage of the OpenStack Heat project. </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">This slide from the OpenStack Vancouver summit presentation<span style="font-size: small;"> summarize what is on the OpenStack</span> Magnum wiki page:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfoROGnsQaJwstEJZwiudBI6uiCo-Y4XXZeAm6WgeIDSEWbwNN-xo3tPoOnH1rklIf06NTLV9WakNS5kpCQUes1YUg4MzKIXpde5dRMNt-8WmjO5uCn9CvFriRmW7V-RU5dq3nBXJlW-I/s1600/openstack-in-an-ever-expanding-world-of-possibilities-vancouver-2015-summit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfoROGnsQaJwstEJZwiudBI6uiCo-Y4XXZeAm6WgeIDSEWbwNN-xo3tPoOnH1rklIf06NTLV9WakNS5kpCQUes1YUg4MzKIXpde5dRMNt-8WmjO5uCn9CvFriRmW7V-RU5dq3nBXJlW-I/s640/openstack-in-an-ever-expanding-world-of-possibilities-vancouver-2015-summit.jpg" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source:http://image.slidesharecdn.com/tuckeropenstacksummitvancouverpossibilities-150525221145-lva1-app6891/95/openstack-in-an-ever-expanding-world-of-possibilities-vancouver-2015-summit-25-638.jpg?cb=1432592195</span></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><u><b>What is ahead of us?</b></u></span><br />
I see that Project Magnum is the reaction to the modern day business requirement and now with Google being able to inject its valuable knowledge, expertise and deployment experiences to the project, Linux container deployment at scale in OpenStack will become mature in due time. It will also integrate better with the other OpenStack projects such as Swift, Keystone or Neutron that more business use cases can be supported.<br />
<br />
Google has over 15 years of deploying application at large scale and will certainly able to bring its experience and expertise to the Magnum project.<br />
<br />
The most important question is how fast and what features Project Magnum can produce in a timely manner meaning if the market is ready to embrace what is offered. Sometimes the technology is way more advanced than what the market is ready for. I see in the 2000, there is a start-up already trying to offer SDN but at that time the market is not ready for it and that start-up closed down due to lack of funding around 2003.<br />
<br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Reference</b>:</span></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="citation_text"><i><span style="font-size: xx-small;">- "Containers + Private Cloud. Google Sponsors OpenStack Foundation." Google Cloud Platform Blog. N.p., n.d. Web. 17 July 2015. </span></i></span></span></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="citation_text"><i><span style="font-size: xx-small;"><span class="citation_text">- "GoogleCloudPlatform/kubernetes." <i>GitHub</i>. N.p., n.d. Web. 18 July 2015. </span></span></i></span></span></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="citation_text"><i><span style="font-size: xx-small;"><span class="citation_text"><span class="citation_text">- "Magnum." <i>- OpenStack</i>. N.p., n.d. Web. 18 July 2015. </span> </span> </span></i> </span> </span></span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span> </span>Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com7tag:blogger.com,1999:blog-9037721924597007359.post-38726419880235847512015-07-11T09:30:00.000-07:002015-07-12T23:36:35.519-07:00KVM – a free and yet powerful hypervisor<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Trebuchet MS","sans-serif";}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
Setting up a home lab had been a struggle for me because of
budget.<span style="mso-spacerun: yes;"> </span>A few years back after I passed
the VCP 4 and 5 (I passed both within a week because I have to take advantage
of the free VCP upgrade exam) I was so happy to have my copy of VMware Workstation.<span style="mso-spacerun: yes;"> </span>With the VMware Workstation I can run virtual
machine on my Windows 7 server (Dell T110 with 16G memory).<span style="mso-spacerun: yes;"> </span>I think a few years back VMware Workstation
is the best to offer as a hypervisor for the home lab.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
VMware is doing a great job not only on it server
virtualization product but also has pushed other hypervisor maker to produce
better product.<span style="mso-spacerun: yes;"> </span>As a software developer
I used Unix as a development platform for a long time.<span style="mso-spacerun: yes;"> </span>Lately with my involvement with OpenStack I
get to play with Ubuntu a lot more.<span style="mso-spacerun: yes;"> </span>The
biggest step that I have taken is bought for myself a laptop where I can dual
boot Windows 8.1 and Ubuntu desktop.<span style="mso-spacerun: yes;"> </span>As
I have used Ubuntu more and more I have discovered that KVM is a very powerful
hypervisor and yet it is free.</div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimRPUOPpPuAD3RHwbhagYhdqyKc2XhxXjW-gmBGVB-6hexT3TnjVxmTDDV-gV_jIxBJomUch3atFD4HwPbhjwLB5KGzerQOHlASIndyEghFSI3R7F07Hv4PAoqEmuYEfVZXonSZTV6kKE/s1600/kvm_banner-logo3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimRPUOPpPuAD3RHwbhagYhdqyKc2XhxXjW-gmBGVB-6hexT3TnjVxmTDDV-gV_jIxBJomUch3atFD4HwPbhjwLB5KGzerQOHlASIndyEghFSI3R7F07Hv4PAoqEmuYEfVZXonSZTV6kKE/s400/kvm_banner-logo3.png" width="400" /></a></div>
<div class="MsoNormal" style="text-align: center;">
<span style="font-size: xx-small;"> image source: <i>http://www.linux-kvm.org/kvmless/kvmbanner-logo3.png</i></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<u><b>How does KVM work?</b></u></div>
<div class="MsoNormal">
KVM stands for <b><span style="color: #134f5c;">Kernel-based Virtual Machine</span></b>. KVM is part of the Linux Kernel since version 2.6.20. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
KVM turns the Linux Kernel into a Type 1 hypervisor. This is an essential characteristics of KVM. Difference between Type 1 and Type 2 hypervisor can be found <a href="http://searchservervirtualization.techtarget.com/feature/Whats-the-difference-between-Type-1-and-Type-2-hypervisors">here</a></div>
<div class="MsoNormal">
<br />
In Linux term the hypervisor is known as Virtual Machine Monitor (VMM).<br />
<br />
<a href="https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine">Wikipedia</a> has a good picture on how KVM works:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3CljTB68H-F3IyfURGnSmV9bfz-M5gb9C0nXP8GNaTLYreVOzP3r0kAUX8rC9pNYVpQl_aE8Cbu-QsH_IX3-4vOFTFDPJvmnwyROjKf99KyaeXHUmTYK5mfq9xARHtXr5fgH-XbnCOjc/s1600/Kernel-based_Virtual_Machine.svg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3CljTB68H-F3IyfURGnSmV9bfz-M5gb9C0nXP8GNaTLYreVOzP3r0kAUX8rC9pNYVpQl_aE8Cbu-QsH_IX3-4vOFTFDPJvmnwyROjKf99KyaeXHUmTYK5mfq9xARHtXr5fgH-XbnCOjc/s400/Kernel-based_Virtual_Machine.svg.png" width="377" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source: <i>https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine#/media/File:Kernel-based_Virtual_Machine.svg</i></span></div>
</div>
<div class="MsoNormal">
<br />
To understand how KVM works there are 3 key concepts that we need to understand:</div>
<ol>
<li>kvm.ko - a module in the Linux kernel</li>
<li>QEMU - short for Quick Emulator </li>
<li>Guest Mode </li>
</ol>
<u>kvm.ko</u><br />
<div class="MsoNormal">
<b>kvm.ko</b> is the driver in the Linux kernel that interacts with the guest operating system of the virtual machine that is running on the user space of the host operating system. This driver consists of 3 files:<br />
<ul>
<li>kvm.ko - provides the core virtualization infrastructure</li>
<li>kvm_intel.ko - specific to the Intel processor</li>
<li>kvm_amd.ko - specific to the AMD processor</li>
</ul>
It used to be a loadable module and starting from Linux version 2.6.20, this module is part of the mainline module. <br />
<br />
On your Linux host machine, with the modprobe command we can see:<br />
<br />
<span style="font-size: x-small;"><span style="background-color: #999999;">atc@atc-OptiPlex-740:~$ <b><span style="color: #45818e;">modprobe -l | grep kvm</span></b><br />kernel/arch/x86/kvm/kvm.ko<br />kernel/arch/x86/kvm/kvm-intel.ko<br />kernel/arch/x86/kvm/kvm-amd.ko</span></span><br />
<br />
kvm.ko is responsible for switching the host processor into the "Guest" mode.<br />
<br />
<u>QEMU</u></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs50S_Al5dE0MAT0pmXSKOvGTPD8oRaN2CdZMvkSGR5WXMk4Ry8Fk3u-QClIBrIRf12iSjsVpEnWEc7LnWcgCMT1AE_NqjrFCR0MQZiGLloPJitxEyFaN5OHDyId85U95TqGj1vPLkeBo/s1600/KVM_QEMU.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs50S_Al5dE0MAT0pmXSKOvGTPD8oRaN2CdZMvkSGR5WXMk4Ry8Fk3u-QClIBrIRf12iSjsVpEnWEc7LnWcgCMT1AE_NqjrFCR0MQZiGLloPJitxEyFaN5OHDyId85U95TqGj1vPLkeBo/s400/KVM_QEMU.png" width="400" /></a></div>
<br />
<div style="text-align: center;">
<span style="font-size: xx-small;"><br />image source: <i>https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/a2674a1d-a968-4f17-998f-b8b38497c9f7/resource/BLOGS_UPLOADED_IMAGES/Screenshot-2012-07-0615%3A53%3A40.png</i></span></div>
<div class="MsoNormal">
<br />
The correct term should be <b>qemu-kvm</b>. There is the regular QEMU (Quick Emulation) that does machine emulation to run guest operating system on a Linux machine. The regular QEMU is making the host Linux machine a Type-2 hypervisor. KVM make use of the regular QEMU framework to host the guest operating system and make changes to interact with the kvm.ko module in the kernel of the host Linux machine. To install KVM on a Ubuntu system we have to install the qemu-kvm package. Since qemu-kvm and QEMU are so close together that a lots of people use QEMU as a generic name for the module that runs the guest operating system. <br />
<br />
<u>Guest Mode</u></div>
<div class="MsoNormal">
Linux has the concept of user mode and kernel mode. This <a href="http://blog.codinghorror.com/understanding-user-and-kernel-mode/">blog </a>has good information on these 2 modes. KVM introduce a third mode - <span style="color: #45818e;">Guest Mode</span>:</div>
This is where the guest operating system can have its own user and kernel mode while running at the user mode of the host Linux system under qemu-kvm.<br />
<br />
Guest mode is implemented as a hardeare file - <span style="color: #45818e;"><b>/dev/kvm</b></span> which acts as an interrupter between the actual hardware of the host system and the VMM. When KVM is install you will see:<br />
<br />
<span style="background-color: #999999;"><span style="font-size: x-small;">atc@atc-OptiPlex-740:/dev$ l -lt /dev/kvm<br />crw-rw----+ 1 root kvm 10, 232 Jul 10 10:33 /dev/kvm</span></span><br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_rM7IOR1yXFrJW9Dgu9ncEbg9954da6Vbf8AXqM9uh5ujOMNtfd3H_bkh0s9Ul7e3c6lE0hYBmVmvTzngEl2pTYJMoLFm4mquQV3NAhwWiKVv0bvsBg1kXbGgcSK9FJZk4XgouJDEQWQ/s1600/KVM_user_kernel_and_guest+mode.jpg"><img border="0" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_rM7IOR1yXFrJW9Dgu9ncEbg9954da6Vbf8AXqM9uh5ujOMNtfd3H_bkh0s9Ul7e3c6lE0hYBmVmvTzngEl2pTYJMoLFm4mquQV3NAhwWiKVv0bvsBg1kXbGgcSK9FJZk4XgouJDEQWQ/s640/KVM_user_kernel_and_guest+mode.jpg" width="640" /></a><span style="font-size: xx-small;"> </span><br />
<br />
<div style="text-align: center;">
<span style="font-size: xx-small;"> image source: <i>http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/102/10251/10251f1.jpg</i></span></div>
<div class="MsoNormal">
<br /></div>
For a more detail description of the guest-mode, The Linux Journal has a good article <a href="http://www.linuxjournal.com/magazine/linux-kvm-learning-tool">here</a>.<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<u><b>KVM features</b></u><br />
It is true that KVM is free and is efficient but what feature does it offer? Is KVM enterprise ready? <br />
<br />
This <a href="http://www.linux-kvm.org/page/KVM_Features">KVM page</a> has a list of KVM feature but with a commend saying it is not the complete list of features for KVM. Live migration is one of the list feature and I believe this is a very important, attractive, fundamental and necessary feature for KVM to be enterprise ready.<br />
<br />
When it comes to Linux and enterprise, Red Hat has its RHEV (Red Hat Enterprise Virtualization) and is being used in various data centers. Canonical Ltd is the company behind Ubuntu is catching up on its "enterprise ready" distribution.<br />
<br />
SUSE which is popular in Europe also has it version of "enterprise ready" distribution.<br />
<br />
I will in another blog post compare these 3 versions of Linux distribution that has value-add feature for KVM for commercial use.<br />
<br />
<br />
<u><b>Management for KVM</b></u></div>
<div class="MsoNormal">
This <a href="http://www.linux-kvm.org/page/Management_Tools">page</a> has a list of ways to manage KVM. This page is pretty up-to-date because I see Platform9 being listed. <a href="http://platform9.com/">Platform9</a> is a new startup that ship product to manage OpenStack.<br />
<br />
Most management tool be it web based (e.g. oVirt by Red Hat), GUI based (e.g. virt-manager) or command line (e.g. virsh) used <a href="http://libvirt.org/">libvirt</a> as the interface to manage KVM.<br />
<br />
<u>libvirt</u><br />
I found an excellent <a href="https://wiki.archlinux.org/index.php/Libvirt">article</a> that explain libvirt in detail. It explains what libvirt is and lists out some major function of libvirt. In the article it also explains how to install and configure libvirt.<br />
<br />
IBM blog has a good <a href="http://www.ibm.com/developerworks/library/l-libvirt/">article</a> on libvirt. Again a picture is worth a thousand words, this diagram explain how libvirt fit into KVM management:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ZSSzow7A-lw7ATsUV-9eM3gj5_0b_LR4wx0IXjXQ0flaxuuOn0EUelqy0J6IWbxLgzeGo6lXLdFPKrtZlyE5LD3oVPAnW8pqRbbx8Ur67RDihqU1eOs1API4zNSU4DcOuYMF8k4q0Co/s1600/libvirt.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ZSSzow7A-lw7ATsUV-9eM3gj5_0b_LR4wx0IXjXQ0flaxuuOn0EUelqy0J6IWbxLgzeGo6lXLdFPKrtZlyE5LD3oVPAnW8pqRbbx8Ur67RDihqU1eOs1API4zNSU4DcOuYMF8k4q0Co/s1600/libvirt.gif" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">image source: <i>http://www.ibm.com/developerworks/library/l-libvirt/figure3.gif</i></span></div>
<br /></div>
<div class="MsoNormal">
<u><b>How to install KVM</b></u></div>
<div class="MsoNormal">
There are lots of blog post covering how to install KVM. I have followed this <a href="http://www.howtogeek.com/117635/how-to-install-kvm-and-create-virtual-machines-on-ubuntu/">post </a>to install KVM on my Ubuntu laptop. One basic prerequisite to run KVM is that the hardware that your Linux is running supports hardware virtualization. This can easily be find out by typing this on the terminal of a Linux machine.<br />
<br /></div>
<div class="MsoNormal">
<span style="font-size: x-small;"><span style="background-color: #999999;"><span style="color: #351c75;"> <b>egrep -c ‘(svm|vmx)’ /proc/cpuinfo</b></span></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If it returns a non zero value, the hardware supports hardware virtualization and we can run KVM on this machine. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
For working with KVM guest, this <a href="http://blog.scottlowe.org/2012/08/21/working-with-kvm-guests/">post </a>by Scott Lowe is a good start.</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<br />
<u><b>Give KVM a try</b></u><br />
Personally, KVM is a very good tool for my home lab. I believe it is also a good option for commercial deployment of virtualization or cloud infrastructure. KVM is the most used hypervisor for OpenStack as of today. (<span style="color: #0b5394;"><b>Note</b></span>: it seems container is becoming more and more popular and lots of development effort is being put in by individual contributors and vendors to make container "enterprise ready" for the virtualization or cloud infrastructure so let see if container will replace KVM).</div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com3tag:blogger.com,1999:blog-9037721924597007359.post-40237966477309204002015-07-05T21:50:00.000-07:002015-07-07T13:49:48.974-07:00VMware – from VM-aware to Application-aware<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Trebuchet MS","sans-serif";}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
After catching up with what’s new in vSphere 6 this past
weekend, I started to catch up with VMware’s latest announcements.<span style="mso-spacerun: yes;"> </span>One of the latest announcements is “<span style="color: #3d85c6;"><b>Project
Bonneville</b></span>”.<span style="mso-spacerun: yes;"> </span>This is project is in the
technology preview state and I am hoping that there will be some exciting new
announcements on this in the upcoming VMworld 2015.</div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1xfT8QkxRllhrLKwk2QkyJsmuy6qoUEcjVQfKZc3c7JacPRuZ7QNk9fboR9uMQDLd3PQqcOYPqvbBpw1SW2qoWj-Rt-gRqfAmAzkDr1fh3Cu8AZbIkUXJhq6qjzQutYFnCpTJxX6ooLo/s1600/docker.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1xfT8QkxRllhrLKwk2QkyJsmuy6qoUEcjVQfKZc3c7JacPRuZ7QNk9fboR9uMQDLd3PQqcOYPqvbBpw1SW2qoWj-Rt-gRqfAmAzkDr1fh3Cu8AZbIkUXJhq6qjzQutYFnCpTJxX6ooLo/s200/docker.jpg" width="200" /></a></div>
<div class="MsoNormal">
I think you are all familiar with this logo.<span style="mso-spacerun: yes;"> </span><a href="https://www.docker.com/company/aboutus/">Docker Inc,</a> is the company behind the open
source Docker platform.<span style="mso-spacerun: yes;"> </span>The Docker
platform is an orchestration or packaging tool that allows application and their
dependencies to run on container technology.<span style="mso-spacerun: yes;">
</span>Container is not a new technology ad we can trace back the origin to FreeBSD
Jails back to year 2000. Docker makes it easy for developer and sys admin to
deploy application with container technology.<span style="mso-spacerun: yes;">
</span>This is just perfect for DevOps as well as Microservices architecture.<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Many of us buy things at <a href="http://www.amazon.com/">www.amazon.com</a>
and it is very convenient especially if we also subscribe to the Amazon Prime
services.<span style="mso-spacerun: yes;"> </span>I ordered my “Mastering VMware
vSphere 6” book from Amazon and it was on my desk in one and a half day.<span style="mso-spacerun: yes;"> </span>In the pass the web sites for online shopping
follow the LAMP stack model with Linux, Apache, MySQL and PHP.<span style="mso-spacerun: yes;"> </span>Nowadays the with Docker making the container
much more user friendly, there is a new way of deploying an online shopping website
with an Microservices model.<span style="mso-spacerun: yes;"> </span>The entire
website is supported by a bunch of Microservices that has it specific
function/purpose.<span style="mso-spacerun: yes;"> </span>Each Microservice runs
as a container and interface with each other. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Often time the general view is that when Docker/container technology is becoming
more and more mature virtual machine will be phased out.<span style="mso-spacerun: yes;"> </span>VMware, however, see this very differently.<span style="mso-spacerun: yes;"> </span>Last year at VMworld 2014, it announced
project Fargo (now shipped as <a href="http://www.systemsup.co.uk/vsphere-6-and-instant-clone-feature/">Instant clone</a> in vSphere 6 for rapidly clone and deploy of virtual machine) where it sets the direction of container at VMware:</div>
<div class="MsoNormal" style="text-align: center;">
<b><span style="color: purple;">VMware + Docker = Best of both worlds</span>.</b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I had a blog post that talks about this and if you are not familiar with Docker or container technology take a look <a href="http://cloudn1n3.blogspot.com/2014/10/docker-technology-that-vmware-also.html">here</a> as as start.</div>
<div class="MsoNormal">
<br />
<u><b>Benefits of running a VMware infrastructure</b></u><br />
I believe you can mention more benefits of running a VMware infrastructure than what I can list out in this post. It is a matured product and with constant feature enhancements. It is full of enterprise ready features.<br />
<br />
The foremost benefits of a VMware infrastructure I think will be the resource management capability such as vMotion, Distributed Resource Scheduling (DRS) and built-in fault tolerance. Monitoring and reporting capabilities will be another benefits. Last but not least is the rich networking feature that comes with vSphere as well as NSX that support both <a href="http://cloudn1n3.blogspot.com/2014/09/vmware-nsx-enables-software-defined.html">networking and security</a> for the VMware infrastructure. <br />
<br />
<u><b>Benefits of running Docker containers</b></u><br />
These days, more and more companies are running Docker containers in the production environment. As mentioned earlier, Docker containers are good for DevOps and Microservices architectures due to is lightweight footprint and minimal overhead which make deployment extremely fast. Another benefit of a Docker container is that it bundles the application and all its dependencies into a single image and can be run on any machine as well as able to share the image with others with the use of a common accessible repository - <a href="https://hub.docker.com/account/signup/">Docker Hub</a>.<br />
</div>
<div class="MsoNormal">
<u><b>Project Bonneville</b></u></div>
<div class="MsoNormal">
This project in a nutshell is to run Docker container as a
virtual machine on an ESXi host.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
A picture is worth a thousand words and let's take at look at a presentation from VMware on how Docker fits into ESXi host:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ABzzpuwbivGVMzNLc3BAKWRuaIkHM239Ix1-M8HaFX8aoA_joXII5msD5MxM-MLWwSenW5LfrJIvrNJspQWHlgcdaQ-bB-kQe58Nr_P8-X5zfPM4B0XKLxJE84_Rhuf0go94D7w63Pc/s1600/VMware-Project-Bonneville.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ABzzpuwbivGVMzNLc3BAKWRuaIkHM239Ix1-M8HaFX8aoA_joXII5msD5MxM-MLWwSenW5LfrJIvrNJspQWHlgcdaQ-bB-kQe58Nr_P8-X5zfPM4B0XKLxJE84_Rhuf0go94D7w63Pc/s640/VMware-Project-Bonneville.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="text-align: center;">
<span style="font-size: xx-small;">image source:<i> http://venturebeat.com/wp-content/uploads/2015/06/VMware-Project-Bonneville.png</i></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br />
It makes perfect sense to run a Docker container on an ESXi host because it can take advantage of the secure and build-in high availability VMware SDDC infrastructure plus the lightweight, fast startup of a container. <span style="color: purple;"><b>The strong point of VMware is where Docker container is the weakest at this time</b></span> (at least for now security and networking is where Docker containers need to strengthen the most for it to be enterprise ready)<br />
<br />
In OpenStack, the trend is also to run containers just like any other hypervisors in Nova compute. There is also a OpenStack project - <a href="https://wiki.openstack.org/wiki/Magnum">Magnum </a>that integrate container orchestration tools such as Docker or Kubernetes for OpenStack users to deploy containers in the cloud.<br />
<br />
Visit <a href="http://blogs.vmware.com/cloudnative/introducing-project-bonneville">here </a>and <a href="http://venturebeat.com/2015/06/22/vmware-previews-project-bonneville-a-docker-runtime-that-works-with-vsphere/">here </a>for a more detail on Project Bonneville, <br />
<br />
<u><b>Moving toward Application-aware</b></u><br />
With Project Bonneville, VMware is making a Docker container running as a virtual machine. In my last <a href="http://cloudn1n3.blogspot.com/2015/07/vsphere-6-vmware-is-heading-toward-vm.html">post </a>I have mentioned that VMware is moving toward VM-aware infrastructure and now application can be run as virtual machine and thus VMware is able to be define application-aware policies to facilitate efficient and secure infrastructure. <br />
<br />
<u><b>At the end of the day it is the Application that matters</b></u><br />
I have mentioned this again and again that <span style="color: #0b5394;"><b>Application </b></span>is the focus of an infrastructure because the main goal of every infrastructure is to deploy application for various business needs. Email is a good example of application. Different IT vendors will converge into an "Application Centric" infrastructure however their marketing department will come up with creative name to describe it.</div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com3tag:blogger.com,1999:blog-9037721924597007359.post-30506034320833673092015-07-03T11:38:00.001-07:002015-07-03T11:38:58.313-07:00vSphere 6 – VMware is heading toward VM-aware<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Trebuchet MS","sans-serif";}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
VMware vSphere 6 was released in early February 2015.<span style="mso-spacerun: yes;"> </span>The must read “Mastering VMware vSphere X”
book series for vSphere 6 is already available.<span style="mso-spacerun: yes;">
</span>There are tons of blog posts on what is new in vSphere 6 available on
the Internet that we can search for.<span style="mso-spacerun: yes;"> </span>I
had been busy with doing bug fixes for OpenStack right before and after the
OpenStack Summit in Vancouver.<span style="mso-spacerun: yes;"> </span>My second
OpenStack bug fix was submitted upstream and merged last week. It is difficult to have the mind switch between
technologies for me.<span style="mso-spacerun: yes;"> </span>This is also why I
had not published any new blog post lately.<span style="mso-spacerun: yes;">
</span>I will try to blog about my experience being an open source code
committer in the coming days.<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal">
<br />
<a href="http://www.vmworld.com/en/us/index.html">VMworld 2015</a> is coming and I predict that there will be lots
of new product or feature announcements in the End User Computing area.<span style="mso-spacerun: yes;"> </span>Before more new things to learn I have made
up my mind to at least catch up with what is new in vSphere 6.</div>
<div class="MsoNormal">
<br />
<u><b>What's new in vSphere 6 </b></u><br />
The official “<a href="https://www.vmware.com/files/pdf/vsphere/VMW-WP-vSPHR-Whats-New-6-0.pdf">what’s new</a>” information page from VMware
listed the following:<br />
<br />
<u><i>Compute</i></u><br />
<ul>
<li><i><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"> </span></span></span>Increase Scalability</i></li>
<li><i>Expanded Support for new chips sets, devices,
drivers and guest OS</i></li>
<li><i>Support for NVIDIA GRID vCPU</i></li>
<li><i>Instant clone</i></li>
</ul>
<u><i>Storage</i></u><br />
<ul>
<li><i>VM-aware Virtual Volumes</i></li>
<li><i>Storage Policy-Based Management</i></li>
</ul>
<u><i>Network</i></u><br />
<ul>
<li><i>Per-VM Distributed vSwitch bandwidth reservation</i></li>
<li><i>Multicast Snooping (IGMP snooping for IPv4 and
MLD Snooping for IPv6)</i></li>
<li><i>Multiple TCP/IP stack for vMotion</i></li>
</ul>
<u><i>Availability</i></u><br />
<ul>
<li><i>vMotion Enhancements</i></li>
<li><i>Replication-Assisted vMotion</i></li>
<li><i><span style="mso-bidi-font-family: "Trebuchet MS"; mso-fareast-font-family: "Trebuchet MS";"><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"> </span></span></span>Expanded support for Fault Tolerance (up to 4
vCPUs instead of just one)</i></li>
</ul>
<u><i>Management</i></u><br />
<ul>
<li><i>Content Library</i></li>
<li><i>Cross-vCenter Clone and Migration</i></li>
<li><i>Enhanced User Interface</i></li>
</ul>
</div>
<div class="MsoNormal">
Duncan Epping (@DunccanYB) had a much<i> </i>more detailed <a href="http://www.yellow-bricks.com/2015/02/03/vsphere-6-0-finally-announced/">summary post</a> on this subject.<span style="mso-spacerun: yes;"> For anyone who is involved in VMware related technologies, it is highly recommended to visit his blog "<a href="http://www.yellow-bricks.com/">Yellow-Bricks</a>" regularly as there are lots of good contents. </span>According to him
the <a href="http://www.vmware.com/products/vsphere/features/virtual-volumes">vVol</a> (Virtual Volume) is the “flagship feature” of the vSphere 6 release. I
totally agree with Mr. Epping.<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal">
<br />
<u><b>VM-aware is the trend</b></u></div>
<div class="MsoNormal">
In fact, if you look at the list of “what’s new”, lots of the
items are feature enhancements.<span style="mso-spacerun: yes;">
</span>Originally when I write this post the title was “<b>Catching up on what’s
new in vSphere 6</b>”.<span style="mso-spacerun: yes;"> </span>As I dig into “what’s
new”, I see that VMware is making its product VM-aware.<span style="mso-spacerun: yes;"> </span>I think it will eventually be heading toward application
aware.<span style="mso-spacerun: yes;"> </span>I am not an expert in Cisco
product (yet).<span style="mso-spacerun: yes;"> </span>Cisco is marketing ACI –
<a href="http://www.cisco.com/c/en/us/solutions/data-center-virtualization/application-centric-infrastructure/index.html">Application Centric Infrastructure</a> which is also heading toward the same direction.<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal">
<br />
“<span style="color: #351c75;">There
is no new thing under the sun</span>”, both VMware and Cisco and among some other
companies are seeing the need to have the data center infrastructure to be
<span style="color: #3d85c6;"><b>application aware</b></span> so that we can provide the intelligence to run the
infrastructure more effectively.<span style="mso-spacerun: yes;"> </span>Another
important benefit for the infrastructure to be application aware is – <span style="color: purple;">SECURITY</span>.<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal">
<br />
At the end of the day, the ultimate goal of having a data
center infrastructure is to run business application so that a business entity
can earn money.<span style="mso-spacerun: yes;"> </span>It is the application
that we want it to run efficiently and securely.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
To have the infrastructure VM-aware or even application
aware, it must be agile so that it can react to the dynamic changes.<span style="mso-spacerun: yes;"> </span>vMotion is one example of dynamic changes.</div>
<div class="MsoNormal">
<br />
<u><b>Policy </b></u><br />
<a href="http://cloudn1n3.blogspot.com/2015/06/navigating-vmwares-forest-of-product.html">Software Defined Data Center</a> (SDDC) is the first step of providing
support for VM-aware infrastructure.<span style="mso-spacerun: yes;">
</span>With software providing an abstraction level to all the elements of the
data center, operators/administrators can automation changes as well as to
define policies which are the rules of how things should happen according to
specified characteristics of a virtual machine.<span style="mso-spacerun: yes;">
</span>The technology is still advancing and we can look at the defined
policies as being the intelligence of the infrastructure.<span style="mso-spacerun: yes;"> </span>The entire data center infrastructure, be it
storage or networking reacts to changes according to the defined policies.<span style="mso-spacerun: yes;"> </span>One common theme about the characteristics of
a policy is that it is “declarative”. <span style="mso-spacerun: yes;"> </span>Policy
being “declarative” only specifies the end result and not how to attain the
result.</div>
<div class="MsoNormal">
<br />
<u><b>Industry Convergence</b></u></div>
<div class="MsoNormal">
In the OpenStack world, VMware is investing heavily on a
project call “<a href="http://cloudn1n3.blogspot.com/2014/11/openstack-series-part-17-congress.html">Congress</a>” while Cisco is investing on “<a href="http://cloudn1n3.blogspot.com/2014/11/openstack-series-part-20-group-based.html">Group based policy</a>”, it is
interesting to see how the IT industry converge into a common way of providing
an infrastructure for business application to run both efficiently and
securely.<br />
<br />
Reference:<br />
<i><span style="font-size: xx-small;"> <span class="citation_text">"VMware Virtualization for Desktop & Server, Application, Public & Hybrid Clouds | United States." VMware Virtualization for Desktop & Server, Application, Public & Hybrid Clouds | United States. N.p., n.d. Web. 03 July 2015. </span></span></i></div>
<div class="MsoNormal">
<br /></div>
Anthony Chowhttp://www.blogger.com/profile/06709375252747777366noreply@blogger.com1