Software Defined Networking (SDN) is an architecture that uses open protocols to provide centralized, programmatic control and network device monitoring. In SDN laboratory, we have some general concepts like Controllers, Mediators, Network Elements and SDN Applications.
Concepts
Concepts
Step-by-Step Guidelines
To achieve automated testing and delivery process, requires a SDN pipeline dockerize environment setup using below mentioned tools,which gives us how NodeJS applications deploy as a docker container through Jenkins and running automated test suites for every commit of GitHub develop branch.
Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software tool written in Java programming language. It helps to automate the software activities like building, testing, deploying and used to implement CI/CD workflows, called pipelines which makes easier to developers to deliver the Software modules. It is the leading tool for CI.
Concepts
Step-by-Step Guidelines
- Jenkins Installation
- Environment SetUp
- Install required plugins
- Manage Users and Access levels
- Configure master-slave configuration
- Jenkins Jobs for SDN project
Documents
It is a free and open source distributed version control system and easy to learn. It is used more efficiently to manage Git repositories on centralized server. Git makes it easy to use by users:
- Keep track of code history
- Collaborate on code as a team
- See who made which changes
- Deploy code to staging or production
Concepts
Step-by-Step Guidelines
Documents
Docker is an open source platform that enables developers to build, deploy, run, update and manage containers of applications. It is used to call as configuration management tool that is used to automate the deployment of software in lightweight containers which can run on any OS environment. These containers help applications to work efficiently in different environments. docker Containerization is very friendly in building and deploying applications.
Concepts
Step-by-Step Guidelines
- Docker Installation
- Docker Usage in Microwave SDN Laboratory
- Example Application RegistryOffice
- How to debug container using Adhoc commands
Documents
- Docker Installation Process for RHEL
- Docker Installation Process for Ubuntu
- Basics of Docker
- Docker Adhoc Commands reference
- Docker volumes reference
Newman is a command-line collection runner for Postman. It allows us to run and test a Postman collection directly from the command-line. It is built with extensibility in mind so that can easily integrate it with continuous integration servers and build systems.
Step-by-Step Guidelines
Documents
- NodeJs Installation on Redhat
- NPM Installation
- NodeJs Installation on ubuntu
- Newman Installation
- Newman-reporter-htmlextra Installation
HighAvailability is an ability to monitor/operate the services continuously with minimal of zero failures. current architecture have multiple instances of Applications running and if one of them crashes, we still have the other instances working and available. HA will make sure that all instances are up and running, If required will resume the crashed instances also.
Step-by-Step Guidelines
Currently, the application pattern is building an application layer on SDN controller using the microservice architecture where the complex applications are spilt into small pieces and make them run independently. Concepts
Step-by-Step Guidelines
Acceptance testing is a quality assurance (QA) process and this technique performed to determine whether software system has met user/business requirement specifications. It evaluates quality of software. Acceptance Testing run in testbed environment and if everything is ok from acceptance testing then approve the build to production environment to deploy.
Step-by-Step Guidelines
Integration Testing is finalized testing of software product. Normally software products are divided into different modules and here SDN applications are also developed as individual services. This testing verifies that software modules are integrated logically and tested as a group. The purpose of this level of testing is to expose defects in the interaction level and checks the proper service/data communications happen among modules/Applications.
Step-by-Step Guidelines
<- Back to Specifying - - - Up to Main - - - Ahead to TinyApplicationController ->