The CI/CD and DevOps Blog

4 Trends Driving DevOps Adoption

There has been a tectonic shift in the way we build, deploy and run applications. What started with cloud infrastructure has now created a revolution in IT organizations. As organizations realized the importance of continuous feedback loops, it created a need to ship software updates as fast as possible and brought in a culture of collaboration where everyone works as a team and not as a member of a silo.

This is fundamentally due to the DevOps movement. The word itself derives from “Development” and “Operations” and is all about removing barriers between Software Developers and Operations engineers and enabling better collaboration between the two. It also focuses on automation as the primary way to make software delivery lean and measurable.

DevOps is gaining rapid adoption due to some macro trends in the software universe: 

  1. Software Defined Hybrid Cloud
  2. Web-scale Requirements
  3. Modern application architectures (micro services, functions) 
  4. Containers 

NEW: Debugging with SSH (And Why We Don't Like It)

I am very happy to announce that we've launched a frequently requested (and internally controversial) feature: the ability to SSH into build machines to better debug your CI/CD jobs. I say controversial because being a team of over 20 strong minded people, each person had a distinct opinion on the merits and demerits of debugging with SSH. 

The merit is obvious, debugging is much faster when you can see what's happening on the machine. You can print out the environment, or see what happened to a particular container, look at CPU/memory utilization, or even change the configuration of a test database to see if that helps your failing tests. 

However, our team has made a conscious decision to disallow SSH access for our developers for two main reasons:

  • It doesn't encourage a mentality of 'designing for failure', for example, adding sufficient logging or making sure you can collect the information you need without needing access to the machine. You're not going to have access to Production machines, so avoiding SSHing into Test machines will build the discipline of designing for failure, rather than just reacting to failure.
  • Making ad-hoc changes to the machine environment results in environment drift and often, these changes aren't documented or really applied in all environments. Making it work on one Test machine isn't the goal, the discipline needed to then propagate those changes to all environments and reconfigure them is sometimes missed, which means your job will just fail again when your code change reaches the next environment.

Regardless, many of our customers still wanted this feature, so we're happy to launch it today. 

Before we dive in deeper, you need to know that SSH access is only available for paid accounts. 

Moving Up The DevOps Maturity Curve

“I don't get no respect”
       - Rodney Dangerfield.
Most DevOps automation engineers probably feel the same way Rodney Dangerfield did. While they work hard to make CI/CD frictionless and ship applications faster than ever before, other principles of DevOps like culture and collaboration get much more attention than automation. Organizations expect DevOps to help accelerate software releases and ship better quality products, but they often underestimate the time and investment that is needed to implement the automation that will get them close to the nirvana of Continuous Delivery.
 
There is a reason, however, why automation has failed to capture the attention of the DevOps community: relative to the other aspects like culture and collaboration, automation tooling is a laggard and hasn't matured to a point where it can help accelerate the evolution of the process of shipping software from craft to industry. Simply put, automation tools available today are too primitive and are on the lower end of the maturity curve. 

Launching a new user experience

Today, we are very excited about launching a whole new user experience on app.shippable.com. In this blog, we will discuss some of the key tenets of our new UI and how you can improve your productivity with the new UI.

The Future Of DevOps Is Assembly Lines

Last week, we announced the General Availability of Shippable Server, the behind-the-firewall version of our hosted platform. We also articulated our vision around where DevOps is today and why Assembly Lines is the future of DevOps.  

As I think about our journey from CI to Assembly Lines, it mirrors the journey of most organizations as they mature their DevOps efforts. In a nutshell, DevOps has created an awareness of the need to automate and be more efficient in terms of software delivery. However, most of the focus around the how has been around cultural changes and tools that help automate bits and pieces of the end-to-end software delivery workflow. This has led to the formation of "islands of automation" that are optimized for specific tasks but do not enable the holy grail of Continuous Delivery or Continuous Deployment. To achieve those goals, you need an Assembly Line platform that takes all these tools and connects them into end-to-end workflows with complete visibility, traceability, and auditability.

So let's take a look at this journey, and dig in a bit deeper into why Assembly Lines are the essential factor to DevOps success.