website/content/en/case-studies/northwestern-mutual.html

97 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Northwestern Mutual Case Study
case_study_styles: true
cid: caseStudies
css: /css/style_case_studies.css
---
<div class="banner1 desktop" style="background-image: url('/images/CaseStudy_northwestern_banner1.jpg')">
<h1> CASE STUDY:<img src="/images/northwestern_logo.png" style="margin-bottom:-1%" class="header_logo"><br> <div class="subhead">Cloud Native at Northwestern Mutual
</div></h1>
</div>
<div class="details">
Company &nbsp;<b>Northwestern Mutual</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Location &nbsp;<b>Milwaukee, WI</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Industry &nbsp;<b>Insurance and Financial Services</b>
</div>
<hr>
<section class="section1">
<div class="cols">
<div class="col1">
<h2>Challenge</h2>
In the spring of 2015, Northwestern Mutual acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutuals leading products and services and meld it with LearnVests digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The companys existing infrastructure had been optimized for batch workflows hosted on on-prem networks; deployments were very traditional, and had to be initiated in the companys Milwaukee headquarters. "We had to build a platform that was elastically scalable, but also much more responsive, so we could quickly get data to the client website so that our end customers have the experience that theyve grown to expect," says Williams.
<br>
<h2>Solution</h2>
The platform team came up with a plan for using the public cloud (AWS), Docker containers, and Kubernetes for orchestration. "Kubernetes gave us that base framework so teams can be very autonomous in what theyre building and deliver very quickly and frequently," says Northwestern Mutual Cloud Native Engineer Frank Greco Jr. The team also built and open sourced <a href="https://github.com/northwesternmutual/kanali">Kanali</a>, a Kubernetes-native API management tool that uses <a href="http://opentracing.io/">OpenTracing</a>, <a href="https://www.jaegertracing.io/">Jaeger</a>, and <a href="https://grpc.io/about/">gRPC</a>.
</div>
<div class="col2">
<h2>Impact</h2>
Before, infrastructure deployments could take two weeks; now, it is done in a matter of minutes. The number of deployments has increased dramatically, from about 24 a year to more than 500 in just the first 10 months of 2017. Availability has also increased: There used to be a six-hour control window for commits every Sunday morning, as well as other periods of general maintenance during which outages could happen. "Now theres no such thing because theres no outage window," says Bryan Pfremmer, App Platform Teams Manager, Northwestern Mutual. <a href="https://github.com/northwesternmutual/kanali">Kanali</a> has had an impact on the bottom line. The vendor API management product that the company previously used required 23 servers in production, "dedicated, doing nothing but that," says Pfremmer. "Now its all integrated in the existing stack, so that many EC2 instances every month are gone. And thats just one environment. Between the three that we had plus the test, thats hard dollar savings."
<br>
</div>
</div>
</section>
<div class="banner2">
<div class="banner2text" style="width:70% !important;padding-left:15%">
"You may not be at a point where your whole stack can be cloud native. What if you can take your API management tool and make it cloud native, but still proxy to legacy systems? Using different pieces that are cloud native, open source and Kubernetes native, you can do pretty innovative stuff." </div>
</div>
<section class="section2">
<div class="fullcol">
<h2>For more than 160 years, Northwestern Mutual has maintained its industry leadership by keeping a strong focus on risk management, and for a long time, the company took a similar approach to managing its technology.</h2>
With a recent transformation to advance its digital strategy, the company has been making a lot of noise in the cloud native world. <br><br>
In the spring of 2015, this insurance and financial services company acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutuals leading products and services and meld it with LearnVests digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The companys existing infrastructure had been optimized for batch workflows hosted on an on-premise datacenter; deployments were very traditional, and had to be initiated in the companys Milwaukee headquarters. <br><br>
In order to give the companys 4.5 million clients the digital experience theyd come to expect, says Williams, "We had to build a platform that was elastically scalable, but also much more responsive, so we could quickly get data to the client website. We essentially said, All the controls are off. You build the system that you think is necessary to support a new, modern-facing one. Thats why we departed from anything legacy."
</div>
</section>
<div class="banner3" style="background-image: url('/images/CaseStudy_northwestern_banner3.jpg')">
<div class="banner3text">
"Kubernetes has definitely been the right choice for us. It gave us that base framework so teams can be autonomous in what theyre building and deliver very quickly and frequently."
</div>
</div>
<section class="section3">
<div class="fullcol">
Williams and the rest of the platform team decided that the first step would be to start moving from private data centers to AWS. With a new microservice architecture in mind—and the companys headquarters taken out of the equation—they began using Docker containers. After looking into the various container orchestration options, they went with Kubernetes, even though it was still in beta at the time. "There was some debate whether we should build something ourselves, or just leverage that product and evolve with it," says Northwestern Mutual Cloud Native Engineer Frank Greco Jr. "Kubernetes has definitely been the right choice for us. It gave us that base framework so teams can be autonomous in what theyre building and deliver very quickly and frequently."<br><br>
As early adopters, the team had to do a lot of work with Ansible scripts to stand up the cluster. "We had a lot of hard security requirements given the nature of our business," says Northwestern Mutual App Platform Teams Manager Bryan Pfremmer. "We found ourselves running a configuration that very few other people ever tried." The client experience group was the first to use the new platform; today, a few hundred of the companys 1,500 engineers are using it and more are eager to get on board.<br><br>
The results have been dramatic. Before, infrastructure deployments could take two weeks; now, it is done in a matter of minutes. Without the bottleneck that was created at the companys headquarters, "You can take an app to production in that same day if you want to," says Pfremmer. <br><br>
The process used to be so cumbersome that minor bug releases would be bundled with feature releases. With the new streamlined system enabled by Kubernetes, the number of deployments has increased from about 24 a year to more than 500 in just the first 10 months of 2017. Availability has also been improved: There used to be a six-hour control window for commits every early Sunday morning, as well as other periods of general maintenance during which outages could happen. "Now theres no such thing because theres no outage window," says Pfremmer.
</div>
</section>
<div class="banner4" style="background-image: url('/images/CaseStudy_northwestern_banner4.jpg')">
<div class="banner4text">
"Now the API management is all integrated in the existing stack, so that many EC2 instances every month are gone. And thats just one environment. Between the three that we had plus the test, thats hard dollar savings."
</div>
</div>
<section class="section5" style="padding:0px !important;">
<div class="fullcol">
Northwestern Mutual built that API management tool—called Kanali—and open sourced it in the summer of 2017. The team took on the project because the vendor product that theyd been using worked in an "anti-cloud native way that was different than everything else we were doing," says Greco. It required 23 servers in production, "dedicated, doing nothing but that," says Pfremmer. "Now the API management is all integrated in the existing stack, so that many EC2 instances every month are gone. And thats just one environment. Between the three that we had plus the test, thats hard dollar savings."<br><br>
Kanali has OpenTracing and Jaeger built in. "We wanted to do cloud native, open source tracing," says Greco. "We found that there was a CNCF project, OpenTracing, and it made sense because it was vendor agnostic and that speaks for itself. You only have to instrument it once, and then you control whatever you write on top of it. Then as I was looking at the different UIs that implemented OpenTracing, Jaeger seemed to be the one that looked the best."<br><br>
Now the engineers using the Kubernetes deployment platform have the added benefit of visibility in production—and autonomy. "Before, if you wanted to trace, you had to go to the centralized team that managed the vendor product and have them run a trace for you," says Greco. "Now, developers can just use this whenever they want, however they want. It becomes more valuable the more instrumentation downstream that happens, as we mature in it."
</div>
<div class="banner5">
<div class="banner5text">
As the team continues to improve its stack and share its Kubernetes best practices, it feels that Northwestern Mutuals reputation as a technology-first company is evolving too. "No one would think a company thats 160-plus years old is foraying this deep into the cloud and infrastructure stack."<br>
<span style="font-size:16px">— APP PLATFORM TEAMS MANAGER, BRYAN PFREMMER
</div>
</div>
<div class="fullcol">
But the team didnt stop there. "In a large enterprise, youre going to have people using Kubernetes, but then youre also going to have people using WAS and .NET," says Greco. "You may not be at a point where your whole stack can be cloud native. What if you can take your API management tool and make it cloud native, but still proxy to legacy systems? Using different pieces that are cloud native, open source and Kubernetes native, you can do pretty innovative stuff."<br><br>
As the team continues to improve its stack and share its Kubernetes best practices, it feels that Northwestern Mutuals reputation as a technology-first company is evolving too. "No one would think a company thats 160-plus years old is foraying this deep into the cloud and infrastructure stack," says Pfremmer. And theyre hoping that means theyll be able to attract new talent. "Were trying to make what were doing known so that we can find people who are like, Yeah, thats interesting. I want to come do it!"
</div>
</section>