1. 程式人生 > >Hygieia and the Capital One DevOps Journey

Hygieia and the Capital One DevOps Journey

Capital One Hygieia project logo

by Tapabrata Pal

AWS customers have created many interesting and useful open source projects which should reach a wider audience. I’m very happy to be able to promote them on this blog. Here we feature a guest post by Tapabrata (Topo) Pal of Capital One. – Adrian

Capital One is a top digital bank with millions of accounts, but our DNA is different from many other financial institutions. As a Capital One Senior Engineering Fellow contributing to teams across multiple LOBs, I’ve seen how our commitment to building our own software, to the public cloud, to microservices, to open source, to DevOps and Continuous Delivery, has set us apart.

Since day one, we have been on a journey to transform and distinguish ourselves as a tech company, not just as a digital bank. An important component of this journey has been our approach to DevOps and Continuous Delivery. Three factors have helped us develop our DevOps processes:

  • We started early.
    We started our journey about five years ago. At the time, we were one of the earliest big “non-unicorn” enterprises to adopt DevOps. This has put us ahead in the game, allowing us time to develop and manage our processes organically.
  • Leadership pushed the process. Many enterprises struggle with DevOps because their leadership is not fully onboard. Our case has been a bit of the opposite. Our leadership bought into the whole paradigm early in the process, fully supporting our teams from Day 1.
  • Our engineering talent. We have a lot of good engineering practices and software engineers in-house. Our tech teams are mostly insourced, which is a major advantage we have over more outsourced companies.

Continuous Delivery and No Fear Releases

Five years ago, when we started bringing in lots of DevOps practices, our goal was to not only push software, but to push quality software. We embrace Continuous Delivery as an important part of reaching that goal. A major factor that has paved our path to success is our approach to “no fear releases.” There can be a lot of fear around releasing code to production. The devs who wrote the code can feel fearful that if their code breaks, it is on them to fix it. Product managers can feel fearful about delivering code to production that overwhelms and breaks a production server. Senior leaders can feel fearful about disrupting certain mission-critical services during peak hours or days.

At Capital One, there are a lot of things we’ve done to get out of that fearful mindset. Many of these have to do with test automation, blue/green deployment, and other techniques to provide checks and balances in our delivery pipeline. We want delivery teams to deploy to production during the daytime without any fear. We want them to know that if some of these deployments fail, it is okay because we are using an inactive area of the production box and controlling the traffic. This way you can deploy to production whenever you want, and if something fails, that is okay because you can recover fast and without fear.

Hygieia and Continuous Delivery

To build a Continuous Delivery software delivery pipeline, you end up using a lot of tools which can make managing the pipeline difficult. “Where is my software in the pipeline?” “Did I build correctly?” “Did I test correctly?” “Which test passed, which test failed, what security scan was okay and which was not okay?” But as a dev, product manager, QA person, or even as a senior leader you need to know where the code is in the pipeline. To understand the health of the pipeline, you need to know what state it is in, what the problems are, and what the bottlenecks are. And while all these different pieces of information are available in great detail in each individual tool, there is no single viewpoint from which you can view them together.

That single viewpoint is what we tried to create with our open source DevOps dashboard Hygieia. Hygieia collects key metrics from all of your pipeline tools and presents the data via a single dashboard view, helping you determine how healthy – or unhealthy – your pipeline is.

Why Did We Build Hygieia?

Early in our DevOps journey, we built a strategy based on three big pillars:

  • Automate everything in our pipeline that we could.
  • Shift everything left, meaning take all the steps in the later part of our delivery lifecycle and bring them up front, addressing bottlenecks before we ran into them.
  • Implement total transparency and a fast feedback loop to provide feedback to stakeholders at every stage of the pipeline as quickly as possible.

We looked at many tools – both commercial and open source – to help develop this capability, but could not find one with all the features we needed. We started building ourselves an internal DevOps dashboard tool, and decided that, in keeping with our open source first policy, we should open source it.

Hygieia is made for large enterprises with multiple teams creating or building a product using a lot of tools on a pipeline with a lot of possible bottlenecks. This is a problem typical to large enterprises, regardless of industry. Capital One was in the right place at the right time to build Hygieia for two reasons:

  • We are the target audience. As a large enterprise employing DevOps, we feel and understand the problems in adopting and scaling DevOps. This gives us good insight into how to be successful in the journey.
  • We got in the game early and learned things that other organizations are only learning now. We included some of these learnings in the Hygieia dashboard by displaying certain opinionated metrics based on our experiences.

We are seeing an increased adoption of Hygieia across a variety of industries. As more large enterprises join our user community, the demand increases for additional “enterprisey” features. Our next big move will be to work with our user community to create an Executive Dashboard so executives from big enterprises can more easily access their data and use it to push the DevOps practices of their engineering teams.

We remain fully committed to keeping Hygieia open source. Increasing collaboration, bringing more big enterprises in, and creating a governing body for Hygieia are all goals for 2018. We want people to contribute not only code, but ideas and solutions as well to our DevOps and Executive Dashboards.

2018 and Beyond

In 2018, there are still a lot of companies sitting on the sidelines watching and trying to understand if they should jump into the DevOps movement. Additionally, companies that have already been practicing DevOps for years are trying to figure out where they can improve their process and expand it into newer areas such as microservices and serverless.

DevOps is not just about tools and technologies or a one-size-fits-all process – it’s about fast feedback, transparency, and innovation. In DevOps, success means that developers can deploy code to production without fear. Because the process never stops and there is no final product to be measured, you could almost say there is no success criteria as such. DevOps and Continuous Delivery is a continuous improvement process; we cannot say, “Hey, we’re successful, so let’s go home and have a party!” This applies equally to our code, the tools we build to manage that code, and to the concept of DevOps itself.

Topo Pal of Capital One

Topo Pal
Senior Director & Senior Engineering Fellow, Capital One

Tapabrata Pal has more than 20 years of IT experience in various technology roles (developer, operations engineer, and architect) in the retail, healthcare, and finance industries.

Over the last six years, Tapabrata has evangelized and led the company’s DevOps initiatives. He is currently Senior Director and Senior Engineering Fellow focused on DevOps, and Continuous Delivery at large scale in a regulated environment.

Tapabrata is also the community manager and core contributor to the Hygieia open source project.

Previously, Tapabrata spent some time in academics doing doctoral and postdoctoral research in the field of solid state physics.

The content and opinions in this post are those of the third-party author and AWS is not responsible for the content or accuracy of this post.

相關推薦

Hygieia and the Capital One DevOps Journey

by Tapabrata Pal AWS customers have created many interesting and useful open source projects which should reach a wider

Capital One DevOps Case Study

Capital One is well known for its early adoption of new technologies to help it transform the banking customer experience. Less obvious, but no

Aladdin and the Return Journey LightOJ - 1348

題意: 一棵樹,有n個點,每個點都有一個權值,有兩種操作, 0 a b ,問從節點a到節點b路徑上所有點權值和, 1 a b,把節點a權值改為b 點的樹鏈剖分+點更新+區間查詢 #include<bits/stdc++.h> using namespace

Uber Eats and the $6 billion bookings run rate: The AI success story no one is talking about

Food delivery has become a $100 billion-plus market. Uber Eats is the fastest growing U.S. meal delivery service, posting a $6 billion bookings run rate wi

AI in Your Wallet: Capital One Banks on Machine Learning The Official NVIDIA Blog

When you hear of AI and machine learning, it's easy to think of technology companies leading the charge. Capital One is determined to change that. "My firs

LightOJ 1341 Aladdin and the Flying Carpet(唯一分解定理)

void 都是 scanf esp for space tar sqrt lld http://lightoj.com/volume_showproblem.php?problem=1341 題意:給你矩形的面積(矩形的邊長都是正整數),讓你求最小的邊大於等於b的矩形的個

HDU 1028 Ignatius and the Princess III dp

cep 大數 style code 代碼 des for each 狀態轉移方程 遞推 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1028 一道經典題,也是算法設計與分析上的一道題,可以用遞推,動態規劃,母函數求解,我用的

Ignatius and the Princess III(杭電1028)(母函數)

mission des panel mes content nat strong pro accepted Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others) Memory L

Harry Potter and the Goblet of Fire

opaque 外殼 葡萄酒 revel luna 道德 說明 剪裁 指揮 書名:Harry Potter and the Goblet of Fire 作者:J.K. Rowling 篇幅: 752頁 藍思值:880L 用時: 17天 工具:

HDU Ignatius and the Princess III (母函數)

tex namespace class .net author def urn rst isp Problem Description "Well, it seems the first problem is too easy. I will let you know h

J - Ignatius and the Princess II

() tdi after pretty assume pen inpu def show Now our hero finds the door to the BEelzebub feng5166. He opens the door and finds feng5166

gym-101343I-Husam and the Broken Present 1

cnblogs bit using space namespace for bsp pri () 1 ///水題 2 #include <bits/stdc++.h> 3 using namespace std; 4 int main() 5 {

[ACM] hdu 1029 Ignatius and the Princess IV (動歸或hash)

inner other for each sam 代碼 test case break accep bre Ignatius and the Princess IV Time Limit : 2000/1000ms (Java/Other) Memory Li

[Git]Please make sure you have the correct access rights and the repository exists

perm not 配置 兩個 需要 acc repos http 機器 這個問題是這樣,需要在已有github賬號的A機器上,再創建一個github賬號,新賬號創建完畢,將代碼通過機器A push上之後,再另一臺機器B,clone 這個項目時報出了如下錯誤: Permiss

HOJ13907 Diana and the Golden Apples

per turn memset 背包 put cstring ret open tdi 簡單背包題,寫上是因為這個板子還不錯,本校OJ有個惡心的地方,單kas輸入的時候寫成多kas會wa~~ #include<cstdio> #include<cstri

HDOJ 1026 Ignatius and the Princess I

urn weight col str using n+1 them appear ... Ignatius and the Princess IV Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3

poj 1912 A highway and the seven dwarfs

n) visit += clock build lan opera script following A highway and the seven dwarfs Time Limit: 8000MS Memory Limit: 30000K Total S

HDU 1026 Ignatius and the Princess I(BFS+路徑輸出)

namespace any who 相同 i++ cmp fine and spa Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768

The Frist One

正在 過去 ssi cnblogs 統計 中心 作者 第一個 什麽 一、結緣計算機   說到計算機,上大學之前,我一直都是把計算機全部概括的稱為電腦。第一次真正意義上的碰計算機,是中考只後跟同學去網吧玩。以前小學上課大都是講一點東西,而且時間過了那麽久,早就不記得講的是什麽

codeforces 862B B. Mahmoud and Ehab and the bipartiteness

com set pac 並且 復雜 oid include ces http http://codeforces.com/problemset/problem/862/B 題意: 給出一個有n個點的二分圖和n-1條邊,問現在最多可以添加多少條邊使得這個圖中不存在自環,重邊,