Demystifying DevOps and Microservices

Pramod Sadalage (MSIT '20) talks about two trends in the IT industry and offers seven steps to transitioning to an organization that values DevOps.

There is a quantum change happening in the IT industry, according to Pramod Sadalage (MSIT '20), director of data and DevOps at ThoughtWorks. That change is thanks to microservices and DevOps, and it is helping organizations deliver rapid value to their customers.

To help students in Northwestern Engineering's Master of Science in Information Technology (MSIT) program understand and be better prepared for this change, Sadalage organized two webinar discussions for students and alumni this fall.

The first conversation was "Gambling with Complexity" led by John Feminella, an advisor on digital platform strategy at ThoughtWorks. This discussion explored the push to improve complex software monoliths by creating microservices — systems that focus on individual functions — and the pros and cons that come with the change.  

Premanand Chandrasekaran, tech director at ThoughtWorks, led the second talk on "Demystifying DevOps," a combination of cultural philosophies, practices, and tools that increases an organization's ability to deliver applications and services at a high velocity. He explained that running a sustainable business today requires high levels of collaboration and automation in order to accelerate the process of delivering value to customers.  

Afterward, Sadalage, who is a MSIT Industry Advisory Board member, talked about why MSIT students who want to be IT leaders should understand DevOps and how he thinks organizations can transition to a DevOps organization to bring more value to its clients. 

"Since whatever is developed by developers is run in production and supported by operations teams, it's critical for both the teams to collaborate for improved outcomes." — Pramod Sadalage (MSIT '20)

What does DevOps mean in practical terms?

DevOps in practical terms means the collaboration of development teams and operations teams. Since whatever is created by developers is run in production and supported by operations teams, it's critical for both the teams to collaborate for improved outcomes.

How can businesses better leverage DevOps to become high-performing organizations?

Adopting DevOps practices enables businesses to empower development and operations teams to improve collaboration and reduce friction in value being delivered to the business. It also helps businesses react to competitive forces much faster. 

Why does running a sustainable business today require high levels of collaboration?

Collaboration within different functions such as business, product, software engineering, operations, and others helps to deliver change faster to the end-users. When the business can get their product features delivered faster, it helps them innovate and run a sustainable business.

How can businesses implement automation to help propel their company forward?

The pace of change in the business landscape is immense and that introduces lots of changes to the systems and processes. Manual orchestration of these changes is error-prone, brittle, and slow. Businesses should invest in automation to reduce human error, manage repeatable execution, and improve the productivity of the team members.

What does the transition process to better valuing DevOps look like for a business?

The transition process to adopting DevOps practices can be thought of in discrete steps:

  1. Evaluate the current state of the business
    Try to understand why the business wants to move to the new mode. What are the reasons, and how is moving to DevOps practices going to help the business?

  2. Communicate with the whole organization
    Explain the desire to move to this new model to your entire organization. Outline what the roadmap looks like, what the expectations are, and how team members are going to be affected.

  3. Start small, iterate, and expand
    Start with a small team and a small project. As you work on the project, iterate, learn from it, and continue to evolve. From there, slowly expand the transition to more people, teams, productions, and lines of business.

  4. Encourage and enable collaboration
    Recognize that breaking down existing silos is going to be hard. To make it happen, there needs to be a constant and consistent effort to increase collaboration between all the teams.

  5. Measure progress
    Be sure to measure progress throughout the process to ensure the transition is moving in the expected direction and progress is actually being made.

  6. Provide training and tools
    Ensure the staff gets coaching, as well as any training and tools necessary for the transition.

  7. Budget for change
    Make sure that enough budget is allocated for this transition. That budget should include costs for training, tools, hiring new talent, and new process creation.

McCormick News Article