With the growing advancement in technology there is an increasing need for collaboration and Agility. Software developments require a constant collaboration between programmers and system administrators in the software development process to develop apps which are efficient, secure and have maintained all standards of quality. Earlier programmers worked in silos from system administrators and involved at a very later stage when app is already launched. The advent of programmable network and APIs lead to transformation in the way applications are deployed, developed, and hosted which could do minor adjustments in the network in terms of optimizing latency, bandwidth, and routing etc.
Today we look more into details of two modern terminologies – DevOps and NetDevOps and understand how they work, their purpose, features, and usage.
Definition – DevOps
DevOps methodology unites the activities which are related to development, quality assurance, deployment, and integration in Software development environment. It builds a collaboration between diverse and isolated teams – in traditional landscape software development and software deployment is done usually by two different teams or departments. Aim of DevOps is to improve the efficiency by fazing out the boundaries between these two phases of software development and software deployment.
- DevOps comprises of continuous integration at every stage of software development – coding, building, integration, testing, processes,
- Continuous delivery which comprise of continuous integration with focus on product delivery,
- Continuous deployment with the aim of automation of project deliverables.
In DevOps model activities are no more drawn out ‘Silos’. Quality confirmation and security groups all more firmly incorporated with development and operations through the software development life cycle. Some use cases for DevOps are – Use of DevOps in the Online Financial Trading Company, car manufacturing industry, network cycling, Airlines Industry etc
History of DevOps
The idea of Devops originated in 2008 by Partrick Debois and Andrew Clay Shafer regarding the concept of Agile infrastructure. The idea took shape and started spreading in 2009 with the advent of first DevOpsDays event which was held in Belgium. The idea generated during Patrick frustrating experience during an assignment he took up with Belgium government to help with data center migrations. His experiences over the project lead to development of an idea for ‘Agile infrastructure’ to address walls of separation and lack of cohesion between application methodology and infrastructure methods.
In year 2009 a presentation presented by two Flickr employees made the case that only rational way forward for application development is its integration with operational activities for seamless , transparent, and fully integrated Agile deployments. In 2010 a conference held in United states on DevOpsDays and in year 2013 a book called “The Phoenix project” is written by Gene Kim, Kevin Behr and George Spafford introduced concept of ‘DevOps’.
- Built in security as security is incorporated in code and allow security testing during program development lifecycle
- Faster time to market by preventing miscommunication, and flaws and microservices may be set up , updated, scaling, independent restarting , frequent updates, and quick delivery of applications.
- Faster recoveries as DevOps is well ready to diagnose and recover from code breaks
- Higher customer satisfaction and market fit product development
- Lower risks and smother deployments due to coordinated development, installation, scaling, archiving etc.
Definition – NetDevOps
Legacy networks are managed in isolation box by box and are CLI interface driven. Small change lead to major changes or undesired behaviour. The static network infrastructure impacts the application experience and can’t adapt to application requirements during peaks.
NetDevOps is a principle, philosophy, a discipline, and a set of holistic methodologies. NetDevOps brings all that is good in software DevOps and applied towards networking, end goal is where changes can be applied in a faster and smooth manner in the network. The key of NetDevOps is its agility – to be able to design, develop, integrate, test, and deploy on demand. NetDevOps leverages the practise from DevOps to ensure network changes are multiple and small but executed in an efficient, reliable way and more automated.
- High network uptime with latest updates
- Network changes are small and more frequent but automated, efficient, and more reliable
- Reduction in manual intervention with infrastructure as code (laC) – deployment using machine readable definition files instead of physical configuration files
- Incremental changes make deployment less risky
- Data collection and telemetry
- Compliance checks
Comparison Table: DevOps vs NetDevOps
Below table summarizes the key differences between the two technologies:
|Definition||DevOps methodology unites the activities which are related to development, quality assurance, deployment, and integration in Software development environment. It builds a collaboration between diverse and isolated teams||NetDevOps is a principle, philosophy, a discipline, and a set of holistic methodologies. NetDevOps brings all that is good in software DevOps and applied towards networking , end goal is where changes can be applied in a faster and smooth manner in the network|
|Features||Dev and operations teams are no longer silos
Mindset and foundation for ‘Agile’
|Network Config as a code
Bringing DevOps principles to networking
|Applications||Gradle, Git, Jenkins, Bamboo, Docker, Kubernetes.||Ansible, Puppet, Chef Infra etc.|
Download the Comparison Table: DevOps vs NetDevOps