Sunday, August 28, 2016

Deploy Openstack: Intense simplicity emerged from intense complexity

     
          Openstack is the second largest community and there are multiple ways openstack can be implemented.
  There is no straight answer for right strategy of openstack implementation. Openstack deployment varies based on different environments and technical requirements. It Sounds like a consultant's answer ha!! let me try to simplify the decision process.

   Openstack community is similar to Linux community. Most of the time we do not use vanilla Linux but we use various distros of linux (ubuntu, suse, redhat, fedora, backtrack etc.) right!!

 The same way there are 27+ openstack distributions(HPE, Merintis, Redhat, Ubuntu, Rackspace, Vmware etc.) and multiple deployment tools. There are multiple ways of designing the architecture based on technical needs.



The most simplest way of deciding right solution is to look at the requirement from the business perspective and then select the right technology.



Openstack Off-premise:

  • IBM Blue Box Openstack:


                   IBM provides Private cloud as a service where entire environment can be hosted at IBM datacenters. Its a good selection if organisation want to host private cloud with managed openstack environment. 

  • Openstack on IBM softlayer:


                    IBM Blue Box provides complete managed private cloud on and off-premise. but if you want to manage your own openstack environment hosted on public cloud then softlayer is the option you are looking for.

     you can build the openstack on softlayer's public cloud with selected hypervisor and custom configuration (eg. KVM with ubuntu openstack or VMware openstack with vSphere).
             

  • Ubuntu Bootstack:

                      Its a new offering from ubuntu openstack distribution which provides managed openstack service which also provides hosting of compute, storage and networking resources as well. Quite new with this service but we will get more information along the way.


On-premise openstack:

1) Openstack as a service:

  •  Platform9 Openstack:


                    Its a SaaS openstack environment with SLA based availability. The availability and management of openstack controller will be provided my Platform9. Its a feasible selection for environments who are willing to share their openstack management traffic to 3rd party provider. It also has advantage of manageability and simplicity. currently Platform9 supports KVM and VMware based hypervisors. its suitable for the environment with smaller physical footprint.
       
          There are other Vendors also started coming in the same space with different supported hypervisor and features.

    

2) Build and manage your own openstack without vendor lock in:


  • Mirantis Openstack:

              One of my favourite distribution which supports Ubuntu and centos based openstack deployment. Mirantis is also one of the distro which supports latest (Mitaka) openstack deployment with simplified deployment using Fuel. Its also considered as most stable distribution of openstack today (2015-2016). For the SDS lovers, Fuel has Ceph integration for openstack deployment for Block, object and ephemeral storage. it supports KVM/QEMU, VMware and Xenserver hypervisor.

  • Redhat Openstack:

             Redhat also provides a the openstack distro which is my second favourite in the list. Its in my list because they have other stack integration with their distro (eg. Openshift for  PaaS). Redhat provides deployment openstack using Puppet and foreman. The best way to start with Redhat openstack is to use its community edition RDO openstack using packstack.

  • Canonical Openstack:

            Canonical is also a biggest rival for openstack distro race. It also has ceph integration with its deployment like other distros. Canonical provides automated deployment using Landscape, MAAS and Juju. deployment using the tools is quite simplified but i have seen multiple disadvantages over the Fuel (which i don't want to discuss here).
                  
      Since i do not want to bore you with long post, i am not mentioning similar distributions like Rackspace, Dell, HP Helion etc. Almost all the distribution features are same but different life cycle management, deployment tools and different hypervisor integration support. 


3) Build and manage your own openstack with vendor lock in:

      

  •  VMware VIO:

                  VMware vSphere with vRealize comes with VMware integrated openstack. VMware Openstack is tightly integrated with VMware vSphere and vCenter. VMware also provides integration with NSX for SDN and vSAN for software defined storage. Bydefault it provides deployment with HA hence deployment best practice for different openstack component is already taken.

  • ZeroStack, Cisco Metapod and stratoscale:


             There are other vendors emerging with simplified version of openstack. some of these openstack comes with physical appliance for greater level simplicity.  

       There are still multiple new distros (Ultimatum cloud, Bright openstack, ZET Tech openstack, Oracle Openstack, Debian, Softstack and many many more) which still need to be tested for Day 1 and Day 2 operations, architecture, simplicity and stability. 

     I think Its a long post but i think i covered the base for openstack distro selection. 

Next step 

 So the right distribution is selected and Now we have to design the right architecture for selected distribution. I can not cover entire best practice document but i can quickly mention few tips

       1) Monitor Openstack components for internal API calls and controller resources.
       2) Use the Log Analysis for Openstack using ELK stack.
       3) High availability configuration of Controller (database, Python Apps and Rabbit-mq)
       4) Manage openstack compute agent up time.
       5) Backup and restore of controller components.
       6) Build Patch and update mechanism for new openstack version.
       7) Configure infrastructure for different tire of application.