Skip to main content

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...

Introduction to Cloudify - Opensource Orchestration Platform

Cloudify is an opensource software cloud and NFV Orchestration product created in early 2012. It is written in Python programming language and uses OASIS TOSCA technology. It supports clouds like Azure, OpenStack, and VMware. It uses Kubernetes to support hybrid stacks, orchestrate containers.

Cloudify uses YAML a Domain Specific Language (DSL) to write configuration files which are called as blueprints in Cloudify. These blueprints define the configurations, infrastructure, metrics, middleware, application code and logs needed by the application using YAML.

Also, Cloudify has a lot of widgets and templates to access, organize and manipulate data based on the need as they build topologies and models for the application. 
Let us go through the components present in the Cloudify platform.

Cloudify Composer: 
Cloudify Composer is a tool provided by Cloudify platform to build the application using drag and drop nodes that help in building dynamic topologies. Using the Cloudify Composer, they can describe dependencies, workflow, inputs, and outputs of the application.

Cloudify Plugins: 
Cloudify plugins are used to run scripts, collect metrics, and logs in applications. It has a lot of plugins and each has its own usage. One can write their own plugins, upload to them Cloudify platform and can import in their blueprints. Some of the plugins used for Cloudify and their purpose is as below:
  • ARIA Plugin – To use TOSCA based service templates to deploy applications and services 
  • AWS and AWSSDK Plugin – To manage resources on AWS Cloud 
  • Azure Plugin – To manage resources on Azure Cloud 
  • Diamond Plugin – To install and configure the diamond agent on hosts and collect metrics 
  • Fabric Plugin – To map SSH operations or Fabric tasks in your blueprint (Fabric – A Python library to execute commands remotely over SSH) 
  • Google Cloud Plugin – To manage resources on Google Cloud 
  • Kubernetes Plugin – To define Kubernetes resources in your blueprints 
  • OpenStack Plugin – To use OpenStack based resources for deploying your applications and services 
  • Script Plugin – To map node life cycle operations and workflows to run scripts like Python, Bash that are included in the blueprint 
  • Utilities Plugin – Contains utilities that are used in extending the use of Cloudify 
  • vSphere Plugin – To use vSphere-based infrastructure for deploying your applications and services 
  • vCloud Plugin – To use vCloud-based infrastructure for deploying your applications and services 
Ways of using Cloudify: 
Cloudify platform gives a free trial for a period of 4 hours to feel the power of the platform. In this trial, it provides private OpenStack IaaS with 8 CPUs and 16GB RAM. 
Cloudify can be deployed on your system. The installation of Cloudify can be done using Docker, Virtual Machine, etc.
Let us see how the environment of Cloudify lab will look like.

Cloudify Lab Environment: 
To get the Cloudify lab for 4 hours, go to this page and click Launch Lab. A popup comes and there enter your name and email. Then you will receive a mail to launch the lab. 

 

After clicking the link given mail you will get a screen similar to the below image. Then click Start Your Lab.

Once the lab is created fully, you will get the following things: 
  • Cloudify Manager IP and its credentials 
  • VPN Portal Configuration file 
  • OpenStack IP and its credentials 
 

Using the Cloudify Manager IP and credentials, Login into the Cloudify Manager. Then you will see the dashboard like this:

 
There are a lot of sections in this dashboard. Let us go through what is the purpose of each section in Cloudify Manager.

Cloudify Catalog: 
It is the place where the plugins of Cloudify will be present and can be installed in the lab environment.

 

Local Blueprints: 
It is the section in Cloudify lab where the blueprints to be deployed are uploaded.


Deployments: 
It is the section of the Cloudify lab where the blueprints are deployed and installed.














Statistics: 
Statistics is the place where the deployments in the Cloudify can be monitored. It has a lot of metrics that can be captured.

















Conclusion: 
Cloudify is one of the opensource orchestration platforms to deploy your application. It provides a way to configure the application, deploy them, and monitor them. It also provides an easy way of configuration using YAML language. In recent days, Cloudify is mainly used in the areas of SDN and NFV.

Comments

Popular posts from this blog

Notes on IPv4, IPv6 and MAC representations

  In companies related to networking domain, “ Explain IPv4, IPv6 and MAC ” is one of the common questions asked in technical interview. This post provides overview of these concepts. IP: IP is the protocol used in Networking layer. It is responsible for the delivering packets from source to destination based on the identifier known as IP address of the device. There are two popular ways of representing the devices in the network. They are: IPv4  (Internet  Protocol version 4) IPv6 (Internet Protocol version6) IPv4:   This version of IP uses 32-bit addresses to identify the device on the network.  Therefore,  the total number of addresses possible with IPv4 is 2 32 . These  32-bit  addresses are divided into 4 octets (batch of 8 bits) with each octet represented in decimal numbers and octets are separated by dot. In IPv4 the loopback address of a device is  127.0.0.1 . IPv4 supports unicasting, broadcasting and multicasting. To map IPv4 addre...

Virtual Interface Creation and deletion in Linux Operating System

Virtual interfaces are the interfaces that allows physical connection to have more than one interface. These help in tagging the LAN packet with ID’s that may be used to segregate the traffic or customer. This article focuses on the creation and removal of Virtual Interfaces using Open Source tool  Vlan   and command  ip  link  in Linux Operating system. All the commands are prefixed with  sudo  to run commands as a root user Vlan : Vlan  is an open source tool that helps in creating and removing the virtual interfaces over a physical interface. To use  Vlan , one needs to install  vlan  using  sudo  apt-get install  vlan   on Linux Operating System Adding Virtual Interface using  Vlan  tool: Assume you have a physical interface named enp0s4. To create a Virtual Lan or Sub interface, the command is  vconfig  add < Physical_Interface_Name > < tag_number > . ...

Types of Tunnels in Computer Networking

Tunneling is a mechanism or protocol to ensure secure transmission of data between two networks. Through tunneling, private networks can communicate or send information to  a  public network like the Internet using the process of encapsulation. Even though they are private data packets, they appear as public packets and tunneling helps these packets to be unnoticed to  a  public network. Tunneling is also  known  a s   Port Forwarding .   Types of Tunnels:   There are several types of tunnels. Some of them are explained in this article.    Microsoft VPN (PPTP)   CIPE VPN   Open VPN   SSL / TLS VPN   GRE tunnel   IPsec tunnel   Before going deep into these tunnels, let us understand the VPN and it s  purpose.   Virtual Private  Network  ( VPN):   VPN is the technology in  the  networking industry which is based on the tunneling c...