Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

The History of DevOps & NetDevOps

Everything started with Virtualization products (such as VMware) then Data Centers came (Cisco Nexus &
UCS) that leads to Cloud Computing (Microsoft Azure , Google Cloud & Amazon AWS) then the needs of
containers pop up (Dockers) and that is why Microsoft added a complete chapter for how to use docker on
windows 2016 server

https://www.docker.com/
https://www.docker.com/cisco

Same time we used to have Network functions virtualization NFV (Virtual Router, Switch, Firewall,IPS..etc)
which leads to even having Virtual switch independent products ( VMware VSS,VDS/ Cisco Nexus 1000v /
AVS/OVS).

Then we got the new term “Network Virtualization" where a complete network is just virtualized, solutions such
as VXLAN provide us this concept where you can had a complete virtual layer 2 network overlay Physical layer
network.

Story continue, Devices now had API (such as Cisco NX-API / Cisco onePK / eAPI)

What is API?
API specifies how software components should interact.
Additionally, APIs are used when programming graphical user interface (GUI) components.

imagine you create an App with many functionalities and one of them based in Google Map then you will need
API provided by Google Map to let your App talk it.

APIs use REST , JSON , NETCONF & YANG .

Modern API communicates and exchange data via web-based technologies such as REST API .
REST API connections use HTTP & HTTPS methods and data format
HTTP & HTTPS methods and data format send as JSON (based in Java Script) or XML or YAML.

Remember fundamentals of HTML & CSS required to understand fundamentals of XML


Fundamentals of JavaScript required to understand fundamentals of JSON
And all this will be completed when you understand how HTTP and HTTPS( HTTP+SSL/TLS) work

Since we talk about API , remember to study the most two important API used in IOS-XE :
REST API and RESTCONF API.

Also we see nowadays NETCONF protocol

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
1
The History of DevOps & NetDevOps

NETCONF replace SNMP and will use YANG as data format to replace MIBs which normally used in SNMP
with silly numbers representing objects such as number represent Router hostname ( these MIB numbers
called OID Object Identifiers)

For more info about NETCONF & YANG:


tail-f.com is part of Cisco now. they create a series of free videos training to explain what is ConfD , NETCONF
and YANG
http://www.tail-f.com/confd-training-videos/

Same time OpenFlow protocol shown years ago to provide separation of control plane and data plane , and
we start using SDN controllers, and nowadays we use The Jewel in the Crown of SDN solutions which Cisco
ACI

SDN lead us to have Infrastructure as Code [IaC] , where we can automate network Tasks using
Configuration management tools such as Chef,Ansible,Puppet ,Jerkins
https://puppet.com/products/managed-technology/cisco
https://www.ansible.com/ansible-cisco
https://blogs.cisco.com/tag/jenkins
https://learningnetwork.cisco.com/blogs/vip-perspectives/2017/08/10/automating-cisco-using-ansible
Introduction to SDN
https://learningnetwork.cisco.com/docs/DOC-30978
What is Cisco ACI?
https://learningnetwork.cisco.com/docs/DOC-32331

So it looks we will keep having new versions of our software and configurations then we should use Version
control system such as Git.

Also mastering programing language such as Python is a must to complete many Automation tasks.

Now, we need to learn Linux since many tools run on it such as Ansible or even using python to create
automation script or even use full Linux distro just act as network equipment such as Cumulus Networks.
(www.cumulusnetworks.com).

Remember :
Automation refers to completing a single task, such as deploying a virtual machine, shutting down an
interface, or generating a report.

Orchestration refers to assembling/coordinating a process/workflow, which is effectively and ordered set of


tasks glued together with conditions.

For example, deploy this virtual machine, and if it fails, shut down this interface and generate a report.
Automation is to task as orchestration is to process/workflow.

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
2
The History of DevOps & NetDevOps

What this entire means?


All this means developers (programmers) and operations (Network, Database & system admins) should be in
the same department to fill the gap, and this leads to have DevOps concept.

Devops leads to understanding not only automation tools such as Chef,Ansible, Puppet but also we should
have the programmer mindset and understand software development methodologies such as agile scrum with
LEAN in mind and frameworks such as ITIL..etc.

So , DevOps emphasizes the collaboration and communication of both software developers and other
information technology (IT) professionals

Nowadays developers and operations should act in same Business Unit without any barriers

[Dev] means developers, all people involved in developing the product.


[Ops] means system engineer, system admins, operation staff, DBAs , sec professional, net engineer.

So

[Dev] means makers.


[Ops] means people that deal with the creation after it birth.

Normally we used to have:


• one team write the code developers
• one team to test it developers
• one team to deploy it operators
• one team to operate it operators

Example :
Developers created SDN solution or just simple Networking application.
Operations represented by Network administrators will implement and use this application.
Feedbacks here in both direction and without delay since both working together in the same department or
Business Unit

DevOps Core Values called CAMS

• Culture, it is sum total of behavior and mindset of Organization, supported and enhanced by values
and beliefs of that org
• Automation such as after knowing our culture we use automation tools such as Puppet , Chef But
remember People over Process over Tools
• Metrics used to measure usage, performance and capacity and so on.
• Sharing such as sharing ideas & codes with help of Kaizen approach and tools such as GIT

A simple list of DevOps Tools

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
3
The History of DevOps & NetDevOps

• chef
• Docker
• puppet
• git
• Ansible
• Nagios
• ELK – Elasticsearch, Logstash, Kibana
• Jenkins
• Splunk
• MySQL
• Apache Maven
• SNORT
• JIRA Software

There is no single DevOps tool can give you all that you need, that is why we had the concept of Devops
toolchain.

A DevOps toolchain is a set or combination of tools that aid in the delivery, development, and management
of applications throughout the software development lifecycle, as coordinated by an organization that uses
DevOps practices.

The story did finish yet, nowadays viptela.com become part of Cisco , one of the leaders in (SD-WAN)
Software Defined WAN

What SD-WAN means?


It means WAN will Never be the same anymore, imagine single SDN controller manage all VRFs in SP edge
routers.
http://viptela.com/

SD-WAN is not only based in viptela but also based in many technologies we used to work with but individually
such as DMVPN

Software-defined wide area networking (SD-WAN) is a specific application of software-defined networking (SDN)
technology applied to WAN connections, which are used to connect enterprise networks – including branch
offices and data centers – over large geographic distances.

Intelligent WAN (iWAN) is the name of Cisco’s SD-WAN product that was built from an existing Cisco product
(also called iWAN). Cisco’s iWAN provides traffic control and security features for the WAN that has been
integrated into Cisco branch-office routers. Cisco says its iWAN product provides customers with capabilities
similar to MPLS VPN, such as quality of service, WAN optimization, and VPN tunneling.

Technologies used in Cisco iWAN:

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
4
The History of DevOps & NetDevOps

• Secure DMVPN
• PfR
• WAAS
• QoS
• Direct Internet Access (DIA)
• Cisco Cloud Web Security (CWS).
• Application Policy Infrastructure Controller—Enterprise Module (APIC-EM)

Cisco IWAN uses Dynamic Multipoint VPN (DMVPN) to provide transport independence via overlay routing.

Overlay routing provides transport independence so that a customer can select any WAN technology:
MPLS VPN (L2 or L3), metro Ethernet, direct Internet, broadband,cellular 3G/4G/LTE, or high-speed radios.
Transport independence makes it easy to mix and match transport options or change SPs to meet business
requirements.

Finally, all of this leads to one thing, NetDevOps" has been born.

With NetDevOps, DevOps has come to networking.

When you use DevOps principles in your network especially your data centers then we are talking NetDevOps.

NetDevOps is applying DevOps principles and techniques to utilizing a software programmable


network to manage, deploy, and run applications.

Nothing better to learn more than going to Cisco DevNet site

https://developer.cisco.com/

https://learningnetwork.cisco.com/blogs/talking-tech-with-cisco/2018/03/20/youve-heard-of-devops-but-how-
about-netdevops

https://blogs.cisco.com/developer/netdevops-and-the-rise-of-the-programmable-network-pn

https://www.devnetcreate.io/2018

TOP DevOops Configuration Management, Automation tools & Containerization which made Infrastructure as
Code:
• Puppet Configuration Management & Automation tool
• Chef Configuration Management & Automation tool
• CFEngine Configuration Management & Automation tool
• Ansible Configuration Management & Automation tool

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
5
The History of DevOps & NetDevOps

• PowerShell Desired State Configuration (DSC)


• Docker Containerization
• Kubernetes Containerization
• Jenkins
• Vagrant

Puppet is a language for describing the desired state of your infrastructure, and a set of tools to enforce that
state.
The language itself is less about describing tasks or procedures and more about describing the desired state of
your nodes.
If you are not familiar with Puppet, it is roughly equivalent to PowerShell Desired State Configuration (DSC), a
PowerShell technology that’s built into modern versions of Windows.
Both Puppet and DSC are configuration management tools that allow system administrators and developers to
define how servers should be configured using a declarative syntax.
(Although Microsoft has developed a DSC agent for Linux)
Also, we can use Ansible as the orchestration engine to deliver DSC configurations to servers
Ansible developed by Red Hat ,used to: Automate apps and IT infrastructure, Application Deployment,
Configuration Management & Continuous Delivery.
Docker is a container technology for Linux & Windows that allows a developer to package up an application
with all of the parts it needs. (more about it in my next article about how to use it under windows server 2016
and Linux)
Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-
standard technology and controlled by a single consistent workflow to help maximize the productivity and
flexibility of you and your team.
To achieve its magic, Vagrant stands on the shoulders of giants. Machines are provisioned on top of
VirtualBox, VMware, AWS, or any other provider. Then, industry-standard provisioning tools such as shell
scripts, Chef, or Puppet, can automatically install and configure software on the virtual machine.
Jenkins helps to automate the non-human part of the software development process, with continuous
integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs
in servlet containers such as Apache Tomcat. It supports version control tools, including AccuRev, CVS,
Subversion, Git, Mercurial, Perforce, ClearCase and RTC, and can execute Apache Ant, Apache Maven and
sbt based projects as well as arbitrary shell scripts and Windows batch commands. The creator of Jenkins is
Kohsuke Kawaguchi.[3] Released under the MIT License, Jenkins is free software.
you will find few small differences between some tools such as:
1-Some tools come with client/server versions like Chef while With Ansible Nothing to install in clients, only
SSH and also Python if need it in some cases
2-each tool configuration file use a different language such as Ansible uses YAML language, whereas Puppet
has its own declarative language.
3-Terms used with each tool could mean the same thing but with a different name such as The configuration
files, called "cookbooks" with Chef (packaged as JSON files)and "playbooks" with Ansible (packaged as YAML
files)
4-Docker & Kubernetes Written in Go programming language, Puppet & Vagrant with Ruby, Chef with Ruby &
Erlang , Ansible with Python , Jenkins with Java.
Resources for Cisco Professionals :

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
6
The History of DevOps & NetDevOps

https://www.devopsguys.com/2018/01/10/puppet-vs-ansible/
https://www.intigua.com/blog/puppet-vs.-chef-vs.-ansible-vs.-saltstack
Cisco & Chef:
https://blogs.cisco.com/tag/chef
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/programmability/guide/
b_Cisco_Nexus_9000_Series_NX-OS_Programmability_Guide_7x/b_Cisco_Nexus_9000_Series_NX-
OS_Programmability_Guide_7x_chapter_01110.html
Cisco & Puppet
https://puppet.com/products/managed-technology/cisco
https://puppet.com/presentations/managing-cisco-devices-using-puppet
Cisco & Ansible
https://www.ansible.com/integrations/networks/cisco
https://learningnetwork.cisco.com/blogs/vip-perspectives/2017/08/10/automating-cisco-using-ansible
Cisco & Docker
https://www.docker.com/cisco
https://blogs.cisco.com/tag/docker
https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/UCS_CVDs/ucs_docker.html
Cisco & PowerShell Desired State Configuration (DSC)
https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/sw/msft_tools/installation_guide/powertool/
b_Pwrtool_Install_and_Config/b_Install_and_Config_chapter_011.html
Cisco & Jenkins
https://blogs.cisco.com/tag/jenkins
https://blogs.cisco.com/datacenter/deploy-from-jenkins
Cisco & Vagrant
https://blogs.cisco.com/tag/vagrant
https://xrdocs.github.io/application-hosting/blogs/2016-07-12-building-an-ios-xrv-vagrant-virtualbox/
https://codingpackets.com/blog/cisco-csr-vagrant-box-install/
Cisco & CFEngine
https://blogs.cisco.com/tag/cfengine

Written by

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
7
The History of DevOps & NetDevOps

Yasser Auda

CCIE# 45694 CCSI# 34215 | CEH | MCSE | VCP | CCNP Security |


CND | ITIL | CISSP |.... Cisco Champion 2016, 2017.

CCIE/CCSI: Yasser Ramzy Auda Dubai 07/24/2018

© 2019 Cisco and/or its affiliates. All Rights Reserved. Generated on 2019-01-11-08:00
This document is Cisco Public Information.
8

You might also like