{"id":1942,"date":"2016-09-21T22:15:57","date_gmt":"2016-09-21T21:15:57","guid":{"rendered":"http:\/\/tekhead.it\/blog\/?p=1942"},"modified":"2016-10-09T16:37:44","modified_gmt":"2016-10-09T15:37:44","slug":"guide-openstack-vmware-aws-admins-part-1-intro","status":"publish","type":"post","link":"http:\/\/tekhead.it\/blog\/2016\/09\/guide-openstack-vmware-aws-admins-part-1-intro\/","title":{"rendered":"Guide to OpenStack for VMware and AWS Admins &#8211; Part 1 &#8211; Intro"},"content":{"rendered":"<p>As a newcomer to the OpenStack world, with quite a bit of VMware and some AWS experience, I thought it would be worthwhile documenting some of the basics as I learn. Hopefully, this will provide something useful for others with a background in either technology, who choose to follow the same path in the future. In many ways, this is planned to be as much to solidify my understanding,\u00a0as anything else!<\/p>\n<p>Also, it&#8217;s probably worth noting that I may express some opinions throughout this series as to where one technology may suit specific workloads better than another. This certainly does not constitute me expressing a preference for one or another! I&#8217;m lucky enough to have a day job where I work with a huge range of great technologies; each has their own place in today&#8217;s enterprises. The technology should fit the use case &#8211; Technology Agnosticism FTW! \ud83d\ude42<\/p>\n<h6><b>The Basics<\/b><\/h6>\n<p>Firstly, a few key basics and observations!<\/p>\n<ul>\n<li>OpenStack is a collection of different tools and technologies, most of which are entirely interchangeable and \/ or optional. For example, you could choose to use any of a huge number of hypervisors, such as KVM, Xen, VMware, etc, each of which will have their own pros and cons. I will try to dig into one or two of these when I do a post on Nova, later.<\/li>\n<li>OpenStack is quite a complex beast, and most certainly not a simple monolithic stack. Within each of the separate elements of OpenStack (known as &#8220;<a href=\"http:\/\/docs.openstack.org\/admin-guide\/common\/get-started-openstack-services.html\">OpenStack services<\/a>&#8220;) there are actually multiple independent processes, all of which do different tasks within their specific service. Here is a quick conceptual diagram which describes a typical solution and all of the interconnecting services:<a href=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack_kilo_conceptual_arch.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1945\" src=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack_kilo_conceptual_arch-300x242.png\" alt=\"OpenStack Conceptual Architecture\" width=\"300\" height=\"242\" srcset=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack_kilo_conceptual_arch-300x242.png 300w, http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack_kilo_conceptual_arch-150x121.png 150w, http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack_kilo_conceptual_arch-1024x827.png 1024w, http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack_kilo_conceptual_arch.png 1094w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>Taking that a stage further, there is also a far more complex diagram which shows all of the logical processes in a typical architecture as well!<br \/>\n<a href=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack-arch-kilo-logical-v1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1946\" src=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack-arch-kilo-logical-v1-300x143.png\" alt=\"OpenStack Logical Architecture\" width=\"300\" height=\"143\" srcset=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack-arch-kilo-logical-v1-300x143.png 300w, http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack-arch-kilo-logical-v1-150x72.png 150w, http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstack-arch-kilo-logical-v1-1024x489.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>Keystone is the most critical service of all, as it is the glue which binds all other OpenStack Services together. As you add more services into your stack, they all register back to Keystone to provide service discovery, API client authentication and a number of other functions. The closest equivalent in vSphere is the <a href=\"https:\/\/kb.vmware.com\/selfservice\/microsites\/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=2113115\" target=\"_blank\">PSC<\/a>. In AWS it would be <a href=\"http:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/introduction.html\" target=\"_blank\">IAM<\/a>, but IAM is mainly about the permissions and security\u00a0elements only, compared to the broad set of functions Keystone provides.<\/li>\n<li>If you are an AWS developer and don&#8217;t want to have to re-learn or re-write all of your API calls for your software, you don&#8217;t have to! You could use <a href=\"http:\/\/www8.hp.com\/us\/en\/cloud\/helion-eucalyptus-downloads.html\">HPE Helion Eucalyptus<\/a> to effectively provide an AWS-compatible API for your OpenStack cloud &#8211; that&#8217;s pretty cool!<\/li>\n<li>OpenStack is still being developed at a huge rate of knots! The <a href=\"https:\/\/releases.openstack.org\/\">releases come out every 6 months<\/a>\u00a0and are named alphabetically. We are already at M (<a href=\"https:\/\/releases.openstack.org\/mitaka\/index.html\">Mitaka<\/a>), with N (<a href=\"https:\/\/releases.openstack.org\/newton\/index.html\">Newton<\/a>) coming out imminently! It&#8217;s definitely getting pretty mature as a platform, and I suspect that&#8217;s probably why many more enterprises are being quite vocal about looking at it for their private clouds these days.<\/li>\n<\/ul>\n<h6><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1944\" src=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/privatecloudmeme-300x241.png\" alt=\"Private Cloud\" width=\"300\" height=\"241\" srcset=\"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/privatecloudmeme-300x241.png 300w, http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/privatecloudmeme-150x120.png 150w, http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/privatecloudmeme.png 515w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/h6>\n<h6><strong>Building OpenStack<\/strong><\/h6>\n<p>The control plane and proxy services can all be run as containers. A typical highly-scalable design pattern\u00a0is therefore a set of physical hosts running containers for all management \/ API \/ control processes. You then add one or more separate compute and storage clusters based on your scalability and resilience requirements. For a test lab, you can collapse these onto as little as a single physical host if you use <a href=\"https:\/\/openhomelab.org\/index.php?title=Virtual_Machine_vInception\">nested instances<\/a>.<\/p>\n<p>In fact, it will even install in as little as 8GB of RAM, as <a href=\"https:\/\/twitter.com\/discoposse\">Eric Wright<\/a> described in his <a href=\"http:\/\/discoposse.com\/2015\/11\/21\/installing-the-openstack-cookbook-on-osx\/\">blog post here<\/a> about installing on top of OSX. This was based on the 2nd Edition of the awesome <a href=\"https:\/\/www.amazon.co.uk\/gp\/product\/B00ZCECXOA\/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=6738&amp;creativeASIN=B00ZCECXOA&amp;linkCode=as2&amp;tag=tekheadorg0c-21\">OpenStack Cloud Cookbook<\/a> from <a href=\"https:\/\/twitter.com\/itarchitectkev\">Kev Jackson<\/a> and <a href=\"https:\/\/twitter.com\/cody_bunch\">Cody Bunch<\/a>. I also did a <a href=\"http:\/\/tekhead.it\/blog\/2016\/09\/what-i-read-on-my-holidays-uber-geek-edition\/\">recent review of the book<\/a>, for those who are interested.<\/p>\n<p><a href=\"https:\/\/www.vagrantup.com\/docs\/getting-started\/\">Vagrant<\/a> is an excellent way to help get started quickly as it will pull down images and spin up machines very quickly, with minimal effort. It supports multiple environments from VirtualBox and VMware\u00a0to Docker and even AWS.<\/p>\n<p>The fact that OpenStack is designed from the ground up with automation in mind means you can do some really amazing stuff with it. For example, the other day I was at a presentation where my colleague <a href=\"https:\/\/twitter.com\/the_cloudguru\">@the_cloudguru<\/a> deployed a development stack on his laptop using just 3 lines of <a href=\"https:\/\/wiki.openstack.org\/wiki\/OpenStackAnsible\">OpenStack Ansible<\/a> code! Very impressive!<\/p>\n<h6><strong>Closing Thoughts<\/strong><\/h6>\n<p>I&#8217;m still really early in my OpenStack learning journey, but as my knowledge builds I will expand on this series. If you do see any errors in the information in this series, please don&#8217;t hesitate to <a href=\"https:\/\/twitter.com\/alexgalbraith\">let me know<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As a newcomer to the OpenStack world, with quite a bit of VMware and some AWS experience, I thought it would be worthwhile documenting some of the basics [..]<\/p>\n","protected":false},"author":1,"featured_media":1950,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"OpenStack","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"This series teaches VMware & AWS admins the basics of OpenStack, applying current knowledge and comparing key OpenStack services, e.g. Nova, Keystone etc.","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"New Blog Post: Guide to #OpenStack for #VMware and #AWS Admins - Part 1 - Intro #vExpert","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[913],"tags":[923,922,926,918,927,351,921,916,919,929,928,917,881,924,920,915,925],"class_list":["post-1942","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-openstack","tag-ansible","tag-cody-bunch","tag-eric-wright","tag-eucalyptus","tag-helion","tag-howto","tag-kev-jackson","tag-keystone","tag-kilo","tag-mitaka","tag-newton","tag-nova","tag-openstack","tag-openstack-ansible","tag-openstack-cloud-cookbook","tag-oshowto","tag-vagrant"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"http:\/\/tekhead.it\/wp-uploads\/www.tekhead.org\/2016\/09\/openstackw200-v3-1.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2l3lU-vk","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/posts\/1942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/comments?post=1942"}],"version-history":[{"count":2,"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/posts\/1942\/revisions"}],"predecessor-version":[{"id":1948,"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/posts\/1942\/revisions\/1948"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/media\/1950"}],"wp:attachment":[{"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/media?parent=1942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/categories?post=1942"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/tekhead.it\/blog\/wp-json\/wp\/v2\/tags?post=1942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}