Cloud Computing‎ > ‎

Tools



The common tools are the open-source tools\libraries\design principles which could be leveraged to build the cloud services. Even though the cloud reflects a bigger terminology, the basic components like provisioning, deployment, configuration management, scalability, pipelines like queueing, consumer-producer remains common. The understanding of these tools around 'purpose & feature' helps in stitching the optimal infrastructure design.

Microservices

 Apart from selecting the right infrastructure tools, the next critical section is to expose RESTful microservices with json.

The Cloud Services with RESTful APIs could be developed using Python Pyramid.

With high frequency of python library availability for lot of infrastructure tools, and python in-itself having wide range of libraries and framework, Python becomes one of obvious choice for writing any cloud services or components.

The Python Pyramid is more flexible both for small and big projects and is seen as best fit among available Python frameworks.

What is REST

http://rest.elkstein.org/2008/02/what-is-rest.html

http://www.restapitutorial.com/lessons/whatisrest.html

http://www.tutorialspoint.com/restful/restful_introduction.htm

 

What is JSON

http://www.w3schools.com/json/

http://developers.squarespace.com/what-is-json/

http://www.secretgeek.net/json_3mins

 

Learning Python

http://www.learnpython.org/

This would help in learning basic python along with hands-on.

 

Learning Python Pyramid framework

Te Python Pyramid is a framework to develop a RESTful service.

Installing Pyramid - http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html#installing-chapter

Build 1st Application - http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/firstapp.html#firstapp-chapter

Examples - http://docs.pylonsproject.org/projects/pyramid-cookbook/en/latest/index.html#pyramid-cookbook

Pyramid framework - http://docs.pylonsproject.org/projects/pyramid/en/latest/


Packaging

Basics of debian packaging for Ubuntu

Control files and their fields

Declaring relationship between packages-dependenciesdepends,postinst, postrm

Package maintainer script and installation procedure

Upstart - Modern init daemon for Ubuntu

Upstart code-book

 

Provisioning

Image Packaging Tool Packer

Container Provisioning Docker

Hybrid Provisioning Terraform


Misc Tools

 

Service Discovery Consul

Coordination Service Zookeeper

Health Check Distributive

Log analysis\ Analytics Elastic

Replicated Log Service BookKeeper

Messaging Systems

ActiveMQ

Camel

Kafka

RabbitMQ

Stream Processing Systems

Samza

Storm

Libraries

Websockets


Loadbalancers

The cloud basic requirement of hot reload is served by both of these. It means existing connections remains intact which new configuration is applied and loadbalancer config gets reloaded.

HAProxy

Nginx

The AWS has inbuilt loadbalancer ELB which is mostly leveraged for Availability Zones and Regions loadbalancing.


Configuration Management

 

These configuration management tools are extremely powerful in deploying, configuring, managing, maintaining, a server machine cluster.
Puppet, Chef, Ansible, Salt

 

Chef
- Chef also use a D.S.L but based on the Ruby syntax.
Puppet
- Puppet use a D.S.L (Domain Specific Language), a mixte between JSON and Ruby.
Salt
Ansible