Blog

DevOps in Practice

25 Aug, 2016
Xebia Background Header Wave
“In theory, theory and practice are the same. In practice, they are not.”

Albert Einstein

In my earlier blogs (A practical approach to DevOps adoption, Cultural transformation is crucial for DevOps success, and Automation and continuous delivery are the bedrock of DevOps), I presented an overview of DevOps, and followed up with a deep dive into the cultural aspects as well as the best practices needed to facilitate continuous delivery.

Even though DevOps as a conceptual framework is of relatively recent origin, some key elements such as agile and continuous development are very mature fields, with a substantial body of best practices. Over the past decade, I and my colleagues at coMakeIT, have combined our extensive insights and expertise in product engineering, and agile development processes into a body of knowledge and associated best practices for easy adoption by ISVs. In this blog, I will share some practitioner’s insight of DevOps,and list the tools that we have successfully used to facilitate workflow, and drive automation in different technology/development environments.

Requirements and Product Management

aha.png        jira.png         confluence.png

Irrespective of the tech stack and across multiple development environments, we have utilized a combination of the above listed tools to facilitate:

  • requirements management
  • creation of user stories
  • product road mapping
  • sprint and work planning
  • project tracking
  • content management

Development, and Continuous Integration (CI)

While the choice of tools and IDE will be influenced by the tech stack, we have used a combination of the following tools to drive core development and CI activities such as:Source code control, code review, binaries management, build management, and code integration.

Development_and_Continuous_Integration_CI

Automated testing

As I presented earlier, ability to standardize and automate various aspects of testing is extremely critical for a successful DevOps transformation. While there are numerous platforms available to facilitate automation of core testing activities ranging from unit testing, to performance and acceptance testing, we have successfully used the following tools for different tech stacks:

devops-Automated_testing

Deployment

Automation of delivery and deployment to a production environment, often the last step in the software value chain is largely driven by the customer’s business environment. We have successfully used the following platforms to automate deployment, especially for Cloud enabled SaaS solutions:

devops-Deployment

The automation tools and platforms that I presented above are by no means exhaustive, and are just an illustration of the possible combinations that can be used for different technology stacks, to achieve the most optimal automation for your business environment.

Error: Contact form not found.

Sashikanth Pochimcharla
Sashi’s motto is “operational excellence” and it is easier said than done. Sashi has a knack for understanding the customer requirements, and translating them into tangible operational goals in terms of people and processes.
Questions?

Get in touch with us to learn more about the subject and related solutions

Explore related posts