DEVOPS
DEVOPS - Developer and Operations
Author : Hari Krishnan
What is DEVOPS ?
DevOps refers to the technique of combined processes of DEVelopment and OperationS in Information
technology to develop any system. The major objective of this technique is to reduce the lifecycle of
system development and to achieve progressive output with high software quality.
Researchers Liming Zhu, Ingo Weber, Len Bass from CSIRO and Software Engineering Institute defines
DevOps as – a set of practices intended to reduce the time between committing a change to a system
and the change being placed into normal production, while ensuring high quality.
DEVOPS TOOLCHAIN :
DevOps is intended to be a multi-functional mode of working, it includes the practice of
methodology using various sets of tools – commonly referred as toolchains. The key aspects of
development and delivery process has reflective involving toolchains of different categories like
✓ Coding – Code development and review, Software code management tools, code merging
✓ Building – Progressive integration tools, Building status
✓ Testing – Continuous testing tools, To provide quick and timely feedback on business risks
✓ Packaging – Artifact storage location for software packages, applications pre-development
staging
✓ Releasing – Change Management, Release approvals, Release automation
✓ Configuring – Infrastructure configuration and management, infrastructure as code tools( like
Terraform, Ansible, Puppet) tools
✓ Monitoring – Applications performance monitoring, End-user experience
Objectives:
Information technology performance measures is based on Throughput and Stability.
➢ Throughput – depends on Deployment Frequency, Lead time for changeover
➢ Stability – depends on Mean time to recover
Some of the similar approaches to DevOps are Agile, ArchOps, TestOps, Continuous Delivery, WinOps,
Lean thinking – Kaizen, DevSecOps, DataOps, SRE(Site Reliability Engineering), System Administration.
These techniques or approaches can be related with DevOps as they all focus or aim on rapid supply of
software services or to gain stable development process of systems
DevOps Tools:
• Slack
• Jenkins
• Docker
• Phantom
• Nagios
• Vagrant
• Ansible
• Github
• Sentry
• BitBucket
The above mentioned tools are some of the most common and popular ones in DevOps IT services.
Benefits of DevOps :
• Speed – Since multi disciplinary services are involved in this technique, it is possible to
acquire speed in development of any system or IT approaches. Micro services and
Continuous Delivery (Toolchain) support the ownership of services and enables quick
updates to them.
• Rapid Delivery – Due to frequent releases and updates, one can innovate and improve
products faster. The quicker we deliver products and release updates to fix bugs for
satisfying customer needs, we can incorporate new features and build competitive
advantage. Continuous Integration and Continuous Delivery are used to automate the
software release process from initials to final stages
• Reliability – As we are able to release updates and new products in a rapid pace, it is
possible to ensure Reliability and to satisfy end user needs as much as possible. Continuous
integration and Continuous Delivery are to be adopted for testing all changes are reliable
and safe. Monitoring and Logging helps us to be informed about real-time performances.
• Scale – Operates and manages infrastructure and development processes at scale.
Automation and consistency helps to manage and change the complex system efficiently
with reduced risks. Infrastructure as code helps in development, testing and production
environment in an efficient manner repeatedly.
• Improved Collaboration – Values like ownership and accountability can be emphasized by
building more effective teams under DevOps cultural model. Development and Operation
teams can collaborate intensely therby sharing and combining their responsibilities and
work flows. This saves much time.
• Security - We can adopt a DevOps model with security by using automated compliance
policies, fine-grained controls, and configuration management techniques. Infrastructure
as code and Policy as code can be used so that we can define and then track
compliance at scale. Move quickly while retaining control and preserving compliance can
be achieved so.
Comments
Post a Comment