Wednesday, December 16, 2015

Beginners guide to cloud and openstack

Disclaimer :-- all the content is sourced from various pages on openstack .. I am just putting together that information in a crash course :)

 

What is Cloud?

Let's quickly review just what exactly we mean by cloud technologies?
 Cloud technologies are built on existing technologies such as virtualization and clustering to virtualize hardware, software, storage, and networking resources into flexible units that are quickly allocated to meet demand. So rather than the old static model of dedicated hardware servers for various tasks, and static network and storage configurations, all of those formerly specialized devices are assimilated into a common resource pool. It's a more efficient use of hardware, and very fast to scale up or down according to demand. You can even configure self-service for users so they can grab whatever they need when they need it.
Types of cloud ?
  • Private
  • Public
  • Hybrid

  •  
     
All computing resources are shareable in a cloud, and there are three basic service models:
  • SaaS, software as a service
  • PaaS, platform as a service
  • IaaS, infrastructure as a service


What is Openstack? 
Open Source Cloud Computing platform (short answer).
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
https://en.wikipedia.org/wiki/OpenStack (long answer)





What are  Openstack components? 




core projects (short answer):
  • Identity (Keystone)
  • Dashboard (Horizon)
  • Orchestration (Heat)
  • Metering (Celiometer)
  • Object stroage (Swift)
  • Image service (Glance)
  • Networking (Quantum now Neutron)
  • Compute (Nova)
https://en.wikipedia.org/wiki/OpenStack (not so long answer)
https://www.openstack.org/software/ (long answer)




How do these Openstack Components talk to each other?
  1. Messaging Queues: AMQP is the messaging technology chosen by the OpenStack cloud.The OpenStack components such as Nova , Cinder , Quantum communicates internally via AMQP(Advanced Message Queue Protocol) and through eachother using REST-call. The AMQP broker, RabbitMQ , sits between any two internal Openstack components and allows them to communicate in a loosely coupled fashion i.e its components has, or makes use of, little or no knowledge of the definitions of other separate components. More precisely, Nova components (nova-api, nova-scheduler , nova-compute) use Remote Procedure Calls (RPC) to communicate to one another.
    In OpenStack the Nova ,Cinder and Quantum implements RPC (both request+response, and one-way, respectively nicknamed rpc.call and rpc.cast) over AMQP by providing an adapter class which take cares of marshaling and unmarshaling of messages into function calls. Each Nova components (for example api ,compute, Scheduler, etc.) , Cinder components ( for example volume, Scheduler) , Quantum Components( for example quantum-server , agents ,plugins )  create two queues at the initialization time, one which accepts messages with routing keys ‘NODE-TYPE.NODE-ID’ (for example compute.hostname) and another, which accepts messages with routing keys as generic ‘NODE-TYPE’ (for example compute) .
  2.  

Tuesday, December 15, 2015

Beginner's links to find out about openstack

playing with openstack HEAT : beginners introduction

  • Install heat
  • Heat templates reside here
  1.  https://github.com/openstack/heat-templates
  2. which can be seen on the vm its in /vagrant/heat_templates
  3. there are test templates in root dir as well ex:- /root/heat_test_template.yml
  • on the controller vm this is how to use heat to spin up nodes
    1. heat stack-create -f heat_templates/test.yml test
    2. once its created you should be able to see it using CLI like this :-
      [root@controller-01 vagrant(keystone_admin)]$ heat stack-list

       +--------------------------------------+------------+---------------+----------------------+
      | id                                   | stack_name | stack_status  | creation_time        |
      +--------------------------------------+------------+---------------+----------------------+
      | xxxx-xxxxx | test       | CREATE_FAILED | 2015-11-16T20:59:49Z |
      +--------------------------------------+------------+---------------+----------------------+
    3. on horizon you can see it here 


          7.  If you click the "stack name" link you can get into more details of your stack.
          8. There are Actions like "resume stack, suspect stack , delete stack" e.t.c that you can perform
         9.  You can get different details on the stack on horizonw including the template itself and you can change the template
     
  • General Heat Resources :-