29
Fri, Nov
0 New Articles

DevOps: Bridging the Gap Between Development and Operations

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

 

Learn how DevOps can improve collaboration and productivity by bringing agility to both development and operations teams. Understand the challenges involved in adopting the DevOps culture and the strategies to mitigate them.

DevOps is fast emerging as a great way to build and deploy applications that can run both on-premise and cloud alike. DevOps is a philosophy that attempts to bridge the gap between application development and operations for better productivity and reduced costs, risks, and cycle times. If your organization is contemplating a move towards DevOps, many factors need to be considered before this culture is adopted.

Transitioning to the DevOps culture is not easy; it requires a change in the culture and mind-set. We will discuss more on this as we move ahead through this article. This article discusses what DevOps is and why it is becoming increasingly popular. It also highlights the reasons for real-world DevOps failures and how to avoid them.

Why DevOps? Why Does It Matter?

DevOps is a term that is used to refer to a set of proven practices that facilitate collaboration and communication of both development and operations alike. By adopting DevOps, organizations can develop and deploy enterprise applications quickly and seamlessly. DevOps combines cultural philosophies, tools, practices, etc. to increase an organization's agility in the software development process. It enables an organization to deliver applications and services at increased velocity. The building blocks of the DevOps lifecycle can be broadly categorized into the following phases.

  • Continuous Development
  • Continuous Integration
  • Continuous Testing
  • Continuous Monitoring
  • Virtualization
  • Containerization

Why does DevOps matter to the developers? Well, there are certain points to note here. At a quick glance, here's the list of the benefits DevOps provides you:

  • Improved speed
  • Improved collaboration
  • Better security
  • Faster delivery
  • Reliability

DevOps Practices

Are your DevOps ready? To answer this question, you must understand the DevOps principles and practices. You should be aware of what you need to do to improve the operational agility of your software development process. Confused? Relax and read on. Your questions will be answered soon.

DevOps practices are a set of key principles and guidelines that are adopted by an enterprise for automating the software development and infrastructure management processes. Here's a list of some important DevOps practices with a brief overview on each of them.

  • Continuous Integration
  • Continuous Delivery
  • Microservices

Continuous Integration

Continuous integration may be defined as a software development discipline in which the developers are responsible for integrating the code changes to a shared, central repository. Once such changes have been merged, automated tests and builds are then executed. The primary objective of this practice is to identify and detect bugs earlier in the software development life cycle and reduce the time required for software releases. Once the code changes have been checked in to a repository, each of these check-ins is verified using an automated build process followed by appropriate testing methodologies to detect the problems (if any) in the application. Ideally, you can have multiple integrations every day and each integration is followed by an automated build process.

Continuous integration helps detect and solve problems quickly. Note that longer time intervals between integrations make it exponentially more and more difficult to detect and fix issues. Continuous integration helps you and your organization in more ways than one. It helps you to reduce the integration problems, detect errors faster, and increase visibility and communication. You end up spending more time building new features in the application and less time fixing bugs. Hence, continuous integration is a practice that improves the software quality process as a whole.

Continuous Delivery

Continuous delivery may be defined as a software development discipline in which the changes in the code are integrated in a shared repository and such changes are then built and tested so as to make them available for release in the production environment. Essentially, this is a practice that extends continuous integration one step further by deploying the code changes to the production environment. In essence, continuous delivery is a practice that helps you to make faster releases and get feedback faster. It is a practice that enables organizations to adapt software in tune with the needs of the user and market trends. Continuous integration and continuous delivery go together; the latter is just a natural extension of the former. Continuous delivery ensures that every change can be released seamlessly. Faster feedback improves the quality of the software delivered; you get the feedback early, so you can act fast to get issues resolved.

Microservices

Microservices is the term given to a set of independently deployable services. Such services are scoped to a particular business function. They typically run in their own environments and are designed to communicate with other services through well-defined interfaces. The microservices architecture is a paradigm shift from the traditional monolithic architectural style for improved scalability, ease of deployment, and performance. Martin Fowler states: "The term ‘Microservice Architecture’ has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data."

The Challenges Ahead

DevOps attempts to bridge the barrier that exists between the development and operational teams in an enterprise, hence improving the software delivery process and enabling software applications to hit the market early. Despite the benefits that it has to offer, there are many constraints in implementing DevOps in an enterprise. Let's now discuss a few potential challenges that you and your organization might have to face when implementing DevOps. DevOps can only succeed if you provide the right technology and tools. For DevOps to be a success, it is imperative that you are able to develop, test, deploy, monitor, and manage applications seamlessly by applying the proper technology and tools.

Come out of Your Old Habits, Please!

There are challenges aplenty when it comes to implementing DevOps in an enterprise. First off, you as a developer would need to break out of your old habits and your old way of looking at things. The focus should no longer be the quantity of bugs as a measure of software quality. You should understand what led to the bugs in the first place, i.e., what led to the software bug creeping in? Apparently, this implies a paradigm shift from the traditional way of looking at things to an altogether new approach.

Learning New Skills

Resistance to change will be apparent when an enterprise has planned to migrate to the DevOps vision. Learnability is of utmost importance for the success of a DevOps culture in your organization. Success depends on the ability to adapt to change. The team members should have learnability and should be able to come out of their "comfort zone" to learn new skills, tools, and technologies.

Responsibilities of the Leadership

For DevOps to succeed, a lot depends on the leadership as well. Management should preach DevOps as a vision. This paradigm shift needs support from management. Training and support are necessary to inculcate this vision within the employees in an enterprise.

Adopting Microservices

The change from a legacy architecture to the microservices architectural style might be quite challenging. Although microservices has advantages aplenty, you need to be extra careful about defining the right application boundaries, defining the architectural principles, and having a perfect configuration and deployment strategy in place.

The Right Tools and Training

It should be noted that DevOps is more about process and culture rather than the organization itself. You need the right tools to enforce the best practices. Another issue that should be mentioned here is legacy tools usage. If your team is already using tools that don't provide a fast build and release cycle, you should invest in newer tools so that agility can be brought back into your software development life cycle. However, merely introducing new tools might not help; you need to impart the necessary training to ensure that these tools are leveraged to the extent they should be. If the people in your organization are not trained to take advantage of the tools you have decided to use, merely transitioning to a DevOps culture will not be successful.

Summary

DevOps is a software development practice that involves continuous development, continuous integration, continuous testing, continuous deployment, and continuous monitoring throughout the software development life cycle. These steps are performed till the time the desired quality of software is delivered. Identifying the right tools for the entire life cycle and imparting training to help bring the team up to speed with those tools is of utmost importance when your organization is planning to go for DevOps.

There are challenges aplenty, but where there is a will, there is a way. A good strategic approach toward adopting DevOps in an enterprise is worth it. It’s better to accept the change than to stay far behind the competition. Despite the challenges, the path to adapting DevOps culture is not all gloom and doom. This article presented an overview of what DevOps is all about, its benefits and challenges, and the strategies that can be adopted to overcome such challenges. Happy reading!

Joydip Kanjilal

Joydip Kanjilal is a Principal Software Engineer in Hyderabad, India.

Read my blog

Awarded the prestigious Microsoft Most Valuable Professional (MVP) award in ASP.NET six times in a row from the year 2007 to 2012. A speaker and author of several books and articles with over 18 years of industry experience in IT and more than 14 years in Microsoft .NET and its related technologies.

Currently working as a Principal Software Engineer at DELL International Services at Hyderabad. Was selected as an MSDN Featured Developer of the Fortnight (MSDN) a number of times and also Community Credit Winner at www.community-credit.com several times.

Authored the following books:

·  Entity Framework Tutorial (Second Edition) by Packt Publishing

·  ASP.NET Web API: Build RESTful Web Applications and Services on the .NET Framework by Packt Publishing

·  Visual Studio 2010 and .NET 4 Six-in-One by Wrox Publishers

·  ASP.NET 4.0 Programming by McGraw Hill Publishing

·  Entity Framework Tutorial by Packt Publishing

·  Pro Sync Framework by APRESS

·  Sams Teach Yourself ASP.NET AJAX in 24 Hours by Sams Publishing

·  ASP.NET Data Presentation Controls Essentials by Packt Publishing

Also reviewed more than 10 books and authored more than 350 articles for some of the most reputable sites, such as www.msdn.microsoft.com, www.code-magazine.com, www.asptoday.com, www.devx.com, www.ddj.com, www.aspalliance.com, www.aspnetpro.com, www.sql-server-performance.com, www.sswug.com, and so on.

Has years of experience in designing and architecting solutions for various domains. His technical strengths include C, C++, VC++, Java, C#, Microsoft .NET, AJAX, WCF, JQuery, ASP.NET Web API, REST, SOA, Design Patterns, SQL Server, Operating Systems, and Computer Architecture. Has been exploring Cloud technologies, IoT and Machine learning these days.

Blog: http://www.infoworld.com/blog/microsoft-coder

Website: www.joydipkanjilal.com

Twitter: https://twitter.com/joydipkanjilal

Facebook: https://www.facebook.com/joydipkanjilal

LinkedIn: http://in.linkedin.com/in/joydipkanjilal

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: