search menu icon-carat-right cmu-wordmark

DevOps Blog

Technical Guidelines and Practical Advice for DevOps

Latest Posts

Build DevOps Tough!

Build DevOps Tough!

• DevOps Blog
Chris Taschner

"Software security" often evokes negative feelings among software developers since this term is associated with additional programming effort and uncertainty. To secure software, developers must follow a lot of guidelines that, while intended to satisfy some regulation or other, can be very restricting and hard to understand. As a result a lot of fear, uncertainty, and doubt can surround software security. This blog posting describes how the Rugged Software movement attempts to combat the toxic...

Read More
DevOps Technologies: Fabric or Ansible

DevOps Technologies: Fabric or Ansible

• DevOps Blog
Tim Palko

The workflow of deploying code is almost as old as code itself. There are many use cases associated with the deployment process, including evaluating resource requirements, designing a production system, provisioning and configuring production servers, and pushing code to name a few. In this blog post I focus on a use case for configuring a remote server with the packages and software necessary to execute your code....

Read More
Addressing the Detrimental Effects of Context Switching with DevOps

Addressing the Detrimental Effects of Context Switching with DevOps

• DevOps Blog
Todd Waits

In a computing system, a context switch occurs when an operating system stores the state of an application thread before stopping the thread and restoring the state of a different (previously stopped) thread so its execution can resume. The overhead incurred by a context switch managing the process of storing and restoring state negatively impacts operating system and application performance. This blog post describes how DevOps ameliorates the negative impacts that "context switching" between projects...

Read More
Can't Buy Me DevOps

Can't Buy Me DevOps

• DevOps Blog
Aaron Volkmann

The DevOps movement is clearly taking the IT world by storm. Technical feats, such as continuous integration (CI), comprehensive automated testing, and continuous delivery (CD) that at one time could only be mastered by hip, trendy startups incapable of failure, are now being successfully performed by traditional enterprises who have a long history of IT operations and are still relying on legacy technologies (the former type of enterprises are known in the DevOps community as...

Read More
DevOps Networking Solutions

DevOps Networking Solutions

• DevOps Blog
Aaron Volkmann

When building and delivering software, DevOps practices, such as automated testing, continuous integration, and continuous delivery, allow organizations to move more quickly by speeding the delivery of quality software features, that increase business value. Infrastructure automation tools, such as Chef, Puppet, and Ansible, allow the application of these practices to compute nodes through server provisioning using software scripts. These scripts are first-class software artifacts that benefit from source code version control, automated testing, continuous integration,...

Read More
DevOps Case Study: Amazon AWS

DevOps Case Study: Amazon AWS

• DevOps Blog
C. Aaron Cois

Regular readers of this blog will recognize a recurring theme in this series: DevOps is fundamentally about reinforcing desired quality attributes through carefully constructed organizational process, communication, and workflow. When teaching software engineering to graduate students in Carnegie Mellon University's Heinz College, I often spend time discussing well known tech companies and their techniques for managing software engineering and sustainment. These discussions serve as valuable real-world examples for software engineering approaches and associated outcomes, and...

Read More
ChatOps in the DevOps Team

ChatOps in the DevOps Team

• DevOps Blog
Todd Waits

In the post What is DevOps?, we define one of the benefits of DevOps as "collaboration between project team roles." Conversations between team members and the platform on which communication occurs can have a profound impact on that collaboration. Poor or unused communication tools lead to miscommunication, redundant efforts, or faulty implementations. On the other hand, communication tools integrated with the development and operational infrastructures can speed up the delivery of business value to the...

Read More
Continuous Integration in DevOps

Continuous Integration in DevOps

• DevOps Blog
C. Aaron Cois

When Agile software development models were first envisioned, a core tenet was to iterate more quickly on software changes and determine the correct path via exploration--essentially, striving to "fail fast" and iterate to correctness as a fundamental project goal. The reason for this process was a belief that developers lacked the necessary information to correctly define long-term project requirements at the onset of a project, due to an inadequate understanding of the customer and an...

Read More