Skip to main content

DevOps


DevOps is the blending of the terms development and operations, meant to represent a collaborative or shared approach to the tasks performed by a company's application development and IT operations teams. DevOps is an operational philosophy that promotes better communication between these teams and others. It describes the adoption of automation and programmable software development and infrastructure deployment and maintenance. 

While DevOps is not a technology, there are tools commonly used in DevOps environments. These include continuous integration and continuous delivery or continuous deployment tools, with an emphasis on task automation. Other products to support DevOps include real-time monitoring and incident response systems as well as collaboration platforms.

DevOps vs. Waterfall development

In Waterfall development, developers test new code in an isolated environment for quality assurance (QA) and if requirements are met release the code to operations for use in production, usually in a bundle with other releases so that operations can tightly control the process. The operations team deploys the program and maintains it from that point on. Waterfall approaches usually engender a long time between software releases and because developer and operations teams work separately and the development team is not always aware of operational roadblocks that might prevent code from working as anticipated.

The DevOps approach seeks to meld application development and deployment into a more streamlined process that aligns development, QA and IT operations team efforts with fewer gates and more continuous flow. This approach also shifts some of the operations team's responsibilities onto the development team to facilitate continuous development, continuous integration, continuous delivery, and continuous monitoring processes. It is a way to tear down the metaphorical silos that isolate steps in the software delivery process to release code faster and more often.

DevOps and Agile development

Agile is a software development approach focused on incremental and rapid cycles of code creation and delivery referred to as sprints. Each sprint iterates upon the last, creating a high level of flexibility, as changes and scope and direction can be evaluated between each cycle. However, it is possible for the original vision of a project to be lost through this cycle.

DevOps arose from the success in the speed of development in Agile when it became clear that there is a lack of communication between development and operations teams that put a significant hindrance on speed and flexibility of code delivery to users.

As Agile development became more efficient, it became clear having development and operations work apart from each other was inefficient. Before DevOps, development, and operations teams worked in a way where those who wrote the code had separate objectives and leadership from those who deployed and supported the code. With DevOps and Agile, communication between development and operations ensures code can be managed by both teams fluently without miscommunications or confusion. DevOps does not have an official framework, nor does it consider speed as a core focus. Agile relies on the Agile manifesto and often is formalized with a framework, such as Scrum.

DevOps benefits and drawbacks

DevOps benefits include the following:


Increased communications between development and operations leading to fewer silos; coverage for the whole software delivery pipeline; a focus on automation within the delivery pipeline;streamlined development processes by making development teams aware of possible issues that may appear in operation stages; and broad roles in DevOps environments, allowing many IT generalists to find positions in DevOps teams.

DevOps tools

Although marketers have jumped on the DevOps bandwagon, there is really no such thing as a DevOps product. There is software that helps the development and operations team work together more efficiently and respond to changing requirements more flexible. Automation is a common focus in DevOps, ranging from container orchestrators to monitoring software, and commonly found throughout continuous integration and delivery (CI/CD) pipelines. New types of software tools have sprung up to help organizations automate development, testing, and deployment to create a more streamlined development and release pipeline.

Comments

Popular posts from this blog

BLOCKCHAIN

A suite of the distributed ledger ( A distributed ledger (also called a shared ledger, or distributed ledger technology, DLT) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions. There is no central administrator or centralized data storage ) of technology that can be programmed to record and track anything of value from financial transactions, medical records or even land titles. Why blockchain is revolutionizing? The way it tracks and store data: Blockchain stores information in batches, called blocks that are linked together in a chronological faction to form a continuous line metaphorically a chain of blocks. If you make any changes to the information in a particular block you don't rewrite it instead the changes are stored in a new block showing that 'x' changed to 'y' at a particular date and time . The blockchain is based on the centuries-old method of the gene...

Linux Story

Linus Torvalds History Linux was created by Linus Torvalds in the early 1990's he was inspired from Minix (A Unix like free operating system) which was created by Andrew Stuart Tanenbaum , Torvald's professor at University of Helsinki. Linus created Linux as a hobby project but it, later on, becomes one of the best Operating System and it is still growing. Kernel Linux kernel is the core of Linux operating system ( The kernel is a computer program that is the core of a computer's operating system, with complete control over everything in the system ) and it is based on UNIX. Linus designed Linux for his personal computer later on expanded to support a huge array of a computer. Linus Torvalds was heavily influenced by the GNU project in which his first kernel was released under the GPL-General Public Licence ( GPL, the source code remain freely available to anyone who might want it ). Distributions ( based on Linux academy.com ) Linux has many distrib...