[zh] Add case-studies o-p pages
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
title: NAIC Case Study
|
||||
linkTitle: NAIC
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
logo: naic_featured_logo.png
|
||||
featured: false
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/naic/banner1.jpg
|
||||
heading_title_logo: /images/naic_logo.png
|
||||
subheading: >
|
||||
A Culture and Technology Transition Enabled by Kubernetes
|
||||
case_study_details:
|
||||
- Company: NAIC
|
||||
- Location: Washington, DC
|
||||
- Industry: Regulatory
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>The <a href="http://www.naic.org/">National Association of Insurance Commissioners (NAIC)</a>, the U.S. standard-setting and regulatory support organization, was looking for a way to deliver new services faster to provide more value for members and staff. It also needed greater agility to improve productivity internally.</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>Beginning in 2016, they started using <a href="https://www.cncf.io/">Cloud Native Computing Foundation (CNCF)</a> tools such as <a href="https://prometheus.io/">Prometheus</a>. NAIC began hosting internal systems and development systems on <a href="https://kubernetes.io/">Kubernetes</a> at the beginning of 2018, as part of a broad move toward the public cloud. "Our culture and technology transition is a strategy embraced by our top leaders," says Dan Barker, Chief Enterprise Architect. "It has already proven successful by allowing us to accelerate our value pipeline by more than double while decreasing our costs by more than half. We are also seeing customer satisfaction increase as we add more and more applications to these new technologies."</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>Leveraging Kubernetes, "our development teams can create rapid prototypes far faster than they used to," Barker said. Applications running on Kubernetes are more resilient than those running in other environments. The deployment of open source solutions is helping influence company culture, as NAIC becomes a more open and transparent organization.</p>
|
||||
|
||||
<p>"We completed a small prototype in two days that would have previously taken at least a month," Barker says. Resiliency is currently measured in how much downtime systems have. "They've basically had none, and the occasional issue is remedied in minutes," he says.</p>
|
||||
|
||||
{{< case-studies/quote author="Dan Barker, Chief Enterprise Architect, NAIC" >}}
|
||||
"Our culture and technology transition is a strategy embraced by our top leaders. It has already proven successful by allowing us to accelerate our value pipeline by more than double while decreasing our costs by more than half. We are also seeing customer satisfaction increase as we add more and more applications to these new technologies."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>NAIC—which was created and overseen by the chief insurance regulators from the 50 states, the District of Columbia and five U.S. territories—provides a means through which state insurance regulators establish standards and best practices, conduct peer reviews, and coordinate their regulatory oversight. Their staff supports these efforts and represents the collective views of regulators in the United States and internationally. NAIC members, together with the organization's central resources, form the national system of state-based insurance regulation in the United States.</p>
|
||||
|
||||
<p>The organization has been using the cloud for years, and wanted to find more ways to quickly deliver new services that provide more value for members and staff. They looked to Kubernetes for a solution. Within NAIC, several groups are leveraging Kubernetes, one being the Platform Engineering Team. "The team building out these tools are not only deploying and operating Kubernetes, but they're also using them," Barker says. "In fact, we're using GitLab to deploy Kubernetes with a pipeline using <a href="https://github.com/kubernetes/kops">kops</a>. This team was created from developers, operators, and quality engineers from across the company, so their jobs have changed quite a bit."</p>
|
||||
|
||||
<p>In addition, NAIC is onboarding teams to the new platform, and those teams have seen a lot of change in how they work and what they can do. "They now have more power in creating their own infrastructure and deploying their own applications," Barker says. They also use pipelines to facilitate their currently manual processes. NAIC has consumers who are using GitLab heavily, and they're starting to use Kubernetes to deploy simple applications that help their internal processes.</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/naic/banner3.jpg"
|
||||
author="Dan Barker, Chief Enterprise Architect, NAIC"
|
||||
>}}
|
||||
"In our experience, vendor lock-in and tooling that is highly specific results in less resilient technology with fewer minds working to solve problems and grow the community."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>"We needed greater agility to enable our own productivity internally," he says. "We decided it was right for us to move everything to the public cloud [Amazon Web Services] to help with that process and be able to access many of the native tools that allows us to move faster by not needing to build everything."
|
||||
The NAIC also wanted to be cloud-agnostic, "and Kubernetes helps with this for our compute layer," Barker says. "Compute is pretty standard across the clouds, and now we can take advantage of any of them while getting all of the other features Kubernetes offers."</p>
|
||||
|
||||
<p>The NAIC currently hosts internal systems and development systems on Kubernetes, and has already seen how impactful it can be. "Our development teams can create rapid prototypes in minutes instead of weeks," Barker says. "This recently happened with an internal tool that had no measurable wait time on the infrastructure. It was solely development bound. There is now a central shared resource that lives in AWS, which means it can grow as needed."</p>
|
||||
|
||||
<p>The native integrations into Kubernetes at NAIC has made it easy to write code and have it running in minutes instead of weeks. Applications running on Kubernetes have also proven to be more resilient than those running in other environments. "We even have teams using this to create more internal tools to help with communication or automating some of their current tasks," Barker says.</p>
|
||||
|
||||
<p>"We knew that Kubernetes had become the de facto standard for container orchestration," he says. "Two major factors for selecting this were the three major cloud vendors hosting their own versions and having it hosted in a neutral party as fully open source."</p>
|
||||
|
||||
<p>As for other CNCF projects, NAIC is using Prometheus on a small scale and hopes to continue using it moving forward because of the seamless integration with Kubernetes. The Association also is considering <a href="https://grpc.io/">gRPC</a> as its internal communications standard, <a href="https://www.envoyproxy.io/">Envoy</a> in conjunction with Istio for service mesh, <a href="http://opentracing.io/">OpenTracing</a> and <a href="https://www.jaegertracing.io">Jaeger</a> for tracing aggregation, and <a href="https://www.fluentd.org/">Fluentd</a> with its Elasticsearch cluster.</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/naic/banner4.jpg"
|
||||
author="Dan Barker, Chief Enterprise Architect, NAIC"
|
||||
>}}
|
||||
"We knew that Kubernetes had become the de facto standard for container orchestration. Two major factors for selecting this were the three major cloud vendors hosting their own versions and having it hosted in a neutral party as fully open source."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The open governance and broad industry participation in CNCF provided a comfort level with the technology, Barker says. "We also see it as helping to influence our own company culture," he says. "We're moving to be a more open and transparent company, and we are encouraging our staff to get involved with the different working groups and codebases. We recently became CNCF members to help further our commitment to community contribution and transparency."</p>
|
||||
|
||||
<p>Factors such as vendor-neutrality and cross-industry investment were important in the selection. "In our experience, vendor lock-in and tooling that is highly specific results in less resilient technology with fewer minds working to solve problems and grow the community," Barker says.</p>
|
||||
|
||||
<p>NAIC is a largely Oracle shop, Barker says, and has been running mostly Java on JBoss. "However, we have years of history with other applications," he says. "Some of these have been migrated by completely rewriting the application, while others are just being modified slightly to fit into this new paradigm."</p>
|
||||
|
||||
<p>Running on AWS cloud, the Association has not specifically taken a microservices approach. "We are moving to microservices where practical, but we haven't found that it's a necessity to operate them within Kubernetes," Barker says.</p>
|
||||
|
||||
<p>All of its databases are currently running within public cloud services, but they have explored eventually running those in Kubernetes, as it makes sense. "We're doing this to get more reuse from common components and to limit our failure domains to something more manageable and observable," Barker says.</p>
|
||||
|
||||
{{< case-studies/quote author="Dan Barker, Chief Enterprise Architect, NAIC" >}}
|
||||
"We have been able to move much faster at lower cost than we were able to in the past," Barker says. "We were able to complete one of our projects in a year, when the previous version took over two years. And the new project cost $500,000 while the original required $3 million, and with fewer defects. We are also able to push out new features much faster."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>NAIC has seen a significant business impact from its efforts. "We have been able to move much faster at lower cost than we were able to in the past," Barker says. "We were able to complete one of our projects in a year, when the previous version took over two years. And the new project cost $500,000 while the original required $3 million, and with fewer defects. We are also able to push out new features much faster."</p>
|
||||
|
||||
<p>He says the organization is moving toward continuous deployment "because the business case makes sense. The research is becoming very hard to argue with. We want to reduce our batch sizes and optimize on delivering value to customers and not feature count. This is requiring a larger cultural shift than just a technology shift."</p>
|
||||
|
||||
<p>NAIC is "becoming more open and transparent, as well as more resilient to failure," Barker says. "Even our customers are wanting more and more of this and trying to figure out how they can work with us to accomplish our mutual goals faster. Members of the insurance industry have reached out so that we can better learn together and grow as an industry."</p>
|
After Width: | Height: | Size: 19 KiB |
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
title: Nav Case Study
|
||||
linkTitle: Nav
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
featured: false
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/nav/banner1.jpg
|
||||
heading_title_logo: /images/nav_logo.png
|
||||
subheading: >
|
||||
How A Startup Reduced Its Infrastructure Costs by 50% With Kubernetes
|
||||
case_study_details:
|
||||
- Company: Nav
|
||||
- Location: Salt Lake City, Utah, and San Mateo, California
|
||||
- Industry: Financial services for businesses
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>Founded in 2012, <a href="https://www.nav.com/">Nav</a> provides small business owners with access to their business credit scores from all three major commercial credit bureaus—Equifax, Experian and Dun & Bradstreet—and financing options that best fit their needs. Five years in, the startup was growing rapidly, and "our cloud environments were getting very large, and our usage of those environments was extremely low, like under 1%," says Director of Engineering Travis Jeppson. "We wanted our usage of cloud environments to be more tightly coupled with what we actually needed, so we started looking at containerization and orchestration to help us be able to run workloads that were distinct from one another but could share a similar resource pool."</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>After evaluating a number of orchestration solutions, the Nav team decided to adopt <a href="https://kubernetes.io/">Kubernetes</a> running on <a href="https://aws.amazon.com/">AWS</a>. The strength of the community around Kubernetes was a strong draw, as well as its Google provenance. Plus, "the other solutions tended to be fairly heavy-handed, really complex, really large, and really hard to manage just off the bat," says Jeppson. "Kubernetes gave us a very simple way to be able to step into an orchestration solution that fit our needs at the time, but also the extensibility of it allowed us to be able to grow with it and be able to build in more features and functionality later on."</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>The four-person team got Kubernetes up and running in six months, and the full migration of Nav's 25 microservices was completed in another six months. The results have been impressive: Resource utilization, which led the company on this path in the first place, has increased from 1% to 40%. Launching a new service used to take two developers two weeks; now it takes only one developer less than 10 minutes. Deployments have increased 5x. And the company is saving 50% in infrastructure costs.</p>
|
||||
|
||||
{{< case-studies/quote author="Travis Jeppson, Director of Engineering, Nav" >}}
|
||||
<iframe width="500" height="320" src="https://www.youtube.com/embed/0IbOk1_H-f0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
<br>
|
||||
"Kubernetes gave us a very simple way to be able to step into an orchestration solution that fit our needs at the time, but also the extensibility of it allowed us to be able to grow with it and be able to build in more features and functionality later on."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
Founded in 2012, <a href="https://www.nav.com/">Nav</a> provides small business owners with access to their business credit scores from all three major commercial credit bureaus—Equifax, Experian and Dun & Bradstreet—as well as details on their businesses' financial health and financing options that best fit their needs. Its mission boils down to this, says Director of Engineering Travis Jeppson: "to increase the success rate of small businesses."
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>A couple of years ago, Nav recognized an obstacle in its own path to success. The business was growing rapidly, and "our cloud environments were getting very large, and our usage of those environments was extremely low, like under 1%," says Jeppson. "Most of the problem was around the ability to scale. We were just throwing money at it. 'Let's just spin up more servers. Let's just do more things in order to handle an increased load.' And with us being a startup, that could lead to our demise. We don't have the money to burn on that kind of stuff."</p>
|
||||
|
||||
<p>Plus, every new service had to go through 10 different people, taking an unacceptably long two weeks to launch. "All of the patch management and the server management was done very manually, and so we all had to watch it and maintain it really well," adds Jeppson. "It was just a very troublesome system."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/nav/banner3.jpg"
|
||||
author="Travis Jeppson, Director of Engineering, Nav"
|
||||
>}}
|
||||
"The community is absolutely vital: being able to pass ideas around, talk about a lot of the similar challenges that we're all facing, and just get help. I like that we're able to tackle the same problems for different reasons but help each other along the way."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Jeppson had worked with containers at his previous job, and pitched that technology to Nav's management as a solution to these problems. He got the green light in early 2017. "We wanted our usage of cloud environments to be more tightly coupled with what we actually needed, so we started looking at containerization and orchestration to help us be able to run workloads that were distinct from one another but could share a similar resource pool," he says.</p>
|
||||
|
||||
<p>After evaluating a number of orchestration solutions, the company decided to adopt <a href="https://kubernetes.io/">Kubernetes</a> running on <a href="https://aws.amazon.com/">AWS</a>. The strength of the community around Kubernetes was a strong draw, as was its Google origins. Additionally, "the other solutions tended to be fairly heavy-handed, really complex, really large, and really hard to manage just off the bat," says Jeppson. "Kubernetes gave us a very simple way to be able to step into an orchestration solution that fit our needs at the time, but the extensibility of it would also allow us to grow with it and build in more features and functionality later on."</p>
|
||||
|
||||
<p>Jeppson's four-person Engineering Services team got Kubernetes up and running in six months (they decided to use <a href="http://kubespray.io/">Kubespray</a> to spin up clusters), and the full migration of Nav's 25 microservices and one primary monolith was completed in another six months. "We couldn't rewrite everything; we couldn't stop," he says. "We had to stay up, we had to stay available, and we had to have minimal amount of downtime. So we got really comfortable around our building pipeline, our metrics and logging, and then around Kubernetes itself: how to launch it, how to upgrade it, how to service it. And we moved little by little."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/nav/banner4.jpg"
|
||||
author="Travis Jeppson, Director of Engineering, Nav"
|
||||
>}}
|
||||
"Kubernetes has brought so much value to Nav by allowing all of these new freedoms that we had just never had before."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>A crucial part of the process involved educating Nav's 50 engineers and being transparent regarding the new workflow as well as the roadmap for the migration. Jeppson did regular presentations along the way, and a week of four-hours-a-day labs for the entire staff of engineers. He then created a repository in <a href="https://gitlab.com/">GitLab</a> to house all of the information. "We showed all the frontend and backend developers how to go in, create their own namespace using <a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/">kubectl</a>, all themselves," he says. "Now, a lot of times, they just come to us and say, 'This is ready.' We click a little button in GitLab to allow it to release into production, and they're off to the races."</p>
|
||||
|
||||
<p>Since the migration was completed in early 2018, the results have been impressive: Resource utilization, which led the company on this path in the first place, has increased from 1% to 40%. Launching a new service used to take two developers two weeks; now it takes only one developer less than 10 minutes. Deployments have increased 5x, from 10 a day to 50 a day. And the company is saving 50% in infrastructure costs on the computational side. "Next we want to go in to address the database side, and once we do that, then we're going to continue to drop that cost quite a bit more," says Jeppson.</p>
|
||||
|
||||
<p>Kubernetes has also helped Nav with its compliance needs. Before, "we had to map one application to one server, mostly due to different compliance regulations around data," Jeppson says. "With the Kubernetes API, we could add in network policies and segregate that data and restrict it if needed." The company segregates its cluster into an unrestricted zone and a restricted zone, which has its own set of nodes where data protection happens. The company also uses the <a href="https://www.twistlock.com/">Twistlock</a> tool to ensure security, "and that makes it a lot easier to sleep at night," he adds.</p>
|
||||
|
||||
{{< case-studies/quote author="Travis Jeppson, Director of Engineering, Nav" >}}
|
||||
"We're talking four to 10 times the amount of traffic that we handle now, and it's just like, 'Oh, yeah. We're good. Kubernetes handles this for us.'"
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>With Kubernetes in place, the Nav team also started improving the system's metrics and logging by adopting <a href="https://prometheus.io/">Prometheus</a>. "Prometheus created a standard around metrics that was really easy for a developer to adopt," says Jeppson. "They have the freedom to display what they want, to do what they need, and keep their codebase clean, and that to us was absolutely a must."</p>
|
||||
|
||||
<p>Next up for Nav in the coming year: looking at tracing, storage, and service mesh. They're currently evaluating <a href="https://www.envoyproxy.io/">Envoy</a>, <a href="https://opentracing.io/">OpenTracing</a>, and <a href="https://www.jaegertracing.io/">Jaeger</a> after spending much of KubeCon talking to other companies. "The community is absolutely vital: being able to pass ideas around, talk about a lot of the similar challenges that we're all facing, and just get help. I like that we're able to tackle the same problems for different reasons but help each other along the way," says Jeppson. "There's still so, so much to do around scalability, around being able to really fully adopt a cloud native solution."</p>
|
||||
|
||||
<p>Of course, it all starts with Kubernetes. With that technology, Jeppson's team has built a platform that allows Nav to scale, and that "has brought so much value to Nav by allowing all of these new freedoms that we had just never had before," he says.</p>
|
||||
|
||||
<p>Conversations about new products used to be bogged down by the fact they'd have to wait six months to get an environment set up with isolation and then figure out how to handle spikes of traffic. "But now it's just nothing to us," says Jeppson. "We're talking four to 10 times the amount of traffic that we handle now, and it's just like, 'Oh, yeah. We're good. Kubernetes handles this for us.'"</p>
|
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 215 127"><defs><style>.cls-1{fill:transparent;}.cls-2{fill:#0191e9;}.cls-3{fill:#0091e9;}</style></defs><title>kubernetes.io-logos</title><rect class="cls-1" x="-4.04384" y="-3.09231" width="223.25536" height="134.51136"/><path class="cls-2" d="M45.52289,58.40931v.67992q0,13.93346-.00007,27.86692c0,1.38065-.53827,1.91475-1.93728,1.91529q-5.28807.002-10.57613-.00008c-1.38822-.00063-1.92493-.54092-1.925-1.93233q-.00046-24.54695-.00005-49.09388c0-1.353.57919-1.92554,1.94686-1.92565,3.80461-.00032,7.60928.01,11.41379-.00895a2.04535,2.04535,0,0,1,1.71751.81129Q54.03893,46.45059,61.924,56.17238q4.04849,4.99347,8.103,9.98208c.07192.08853.12491.2127.32189.21055V65.8111q0-13.98573.00015-27.97148c0-1.36549.55959-1.92,1.93681-1.92011q5.28806-.00056,10.57612,0c1.34222.00018,1.90831.58125,1.90846,1.96856q.00156,14.66543.00056,29.33085,0,9.85536-.00062,19.71075A2.263,2.263,0,0,1,84.52869,88.14a1.37319,1.37319,0,0,1-1.04378.69444,5.03028,5.03028,0,0,1-.6784.03606c-3.76971.002-7.53949-.01164-11.30906.01172a2.24873,2.24873,0,0,1-1.91838-.92957Q62.60826,79.30668,55.596,70.69411q-4.824-5.946-9.65083-11.88973A1.04432,1.04432,0,0,0,45.52289,58.40931Z"/><path class="cls-3" d="M123.01876,56.06019c-.2594-1.23634-.48657-2.48055-.78675-3.70693a1.60083,1.60083,0,0,1,1.699-2.14585c3.24478.05866,6.49131.01913,9.73714.02113A1.51454,1.51454,0,0,1,135.39865,51.95q.00269,17.59165,0,35.18331a1.50965,1.50965,0,0,1-1.72062,1.73444q-4.89491.01271-9.78984.00037a1.51127,1.51127,0,0,1-1.62212-2.05353c.25809-1.184.504-2.37063.75558-3.55756-.358.33974-.71292.66321-1.053,1.00145a19.61428,19.61428,0,0,1-5.08847,4.04243,16.514,16.514,0,0,1-8.88021,1.51593,18.6292,18.6292,0,0,1-7.80715-2.40237A19.19129,19.19129,0,0,1,91.61794,77.127a22.109,22.109,0,0,1-1.24153-9.90284A20.27607,20.27607,0,0,1,95.94859,54.708a18.01769,18.01769,0,0,1,10.63178-5.53131,17.6862,17.6862,0,0,1,7.30216.3216,15.14214,15.14214,0,0,1,7.36191,4.72185c.56309.63191,1.13169,1.25893,1.69777,1.8882Zm-9.77385,22.141a8.79066,8.79066,0,1,0,.14059-17.58031,8.79085,8.79085,0,1,0-.14059,17.58031Z"/><path class="cls-3" d="M162.37991,77.63555c.49774-1.75171.99389-3.48281,1.48143-5.21633q2.78715-9.91015,5.57042-19.82139a3.04284,3.04284,0,0,1,3.14933-2.36811q5.00009-.00879,10.00019-.001c1.19946.00084,1.72.6945,1.36948,1.8371q-3.41624,11.13649-6.839,22.271-1.962,6.38839-3.92252,12.77725a2.069,2.069,0,0,1-2.39972,1.75589q-8.42949.00264-16.859.0004a2.08773,2.08773,0,0,1-2.45568-1.82338q-5.3462-17.42612-10.69272-34.85212c-.04576-.14911-.10449-.29524-.13769-.447a1.19831,1.19831,0,0,1,1.16194-1.50906c3.56019-.01552,7.12059-.02529,10.68066-.00068a3.01084,3.01084,0,0,1,2.7849,2.42663q1.102,3.90333,2.20008,7.80776,2.35458,8.35854,4.70637,16.71786A.84887.84887,0,0,0,162.37991,77.63555Z"/></svg>
|
After Width: | Height: | Size: 2.8 KiB |
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
title: Prowise Case Study
|
||||
linkTitle: prowise
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
featured: false
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/nerdalize/banner1.jpg
|
||||
heading_title_logo: /images/nerdalize_logo.png
|
||||
subheading: >
|
||||
Nerdalize: Providing Affordable and Sustainable Cloud Hosting with Kubernetes
|
||||
case_study_details:
|
||||
- Company: Nerdalize
|
||||
- Location: Delft, Netherlands
|
||||
- Industry: Cloud Provider
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>Nerdalize offers affordable cloud hosting for customers—and free heat and hot water for people who sign up to house the heating devices that contain the company's servers. The savings Nerdalize realizes by not running data centers are passed on to its customers. When the team began using Docker to make its software more portable, it realized it also needed a container orchestration solution. "As a cloud provider, we have internal services for hosting our backends and billing our customers, but we also need to offer our compute to our end users," says Digital Product Engineer Ad van der Veer. "Since we have these heating devices spread across the Netherlands, we need some way of tying that all together."</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>After briefly using a basic scheduling setup with another open source tool, Nerdalize switched to Kubernetes. "On top of our heating devices throughout the Netherlands, we have a virtual machine layer, and on top of that we run Kubernetes clusters for our customers," says van der Veer. "As a small company, we have to provide a rock solid story in terms of the technology. Kubernetes allows us to offer a hybrid solution: 'You can run this on our cloud, but you can run it on other clouds as well. It runs in your internal hardware if you like.' And together with the Docker image standard and our multi-cloud dashboard, that allows them peace of mind."</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>Nerdalize prides itself on being a Kubernetes-native cloud provider that charges its customers prices 40% below that of other cloud providers. "Every euro that we have to invest for licensing of software that's not open source comes from that 40%," says van der Veer. If they had used a non-open source orchestration platform instead of Kubernetes, "that would reduce this proposition that we have of 40% less cost to like 30%. Kubernetes directly allows us to have this business model and this strategic advantage." Nerdalize customers also benefit from time savings: One went from spending a day to set up VMs, network, and software, to spinning up a Kubernetes cluster in minutes. And for households using the heating devices, they save an average of 200 euro a year on their heating bill. The environmental impact? The annual reduction in CO2 emissions comes out to be 2 tons per Nerdalize household, which is equivalent to a car driving 8,000 km.</p>
|
||||
|
||||
{{< case-studies/quote author="AD VAN DER VEER, PRODUCT ENGINEER, NERDALIZE" >}}
|
||||
"We can walk into a boardroom and put a Kubernetes logo up, and people accept it as an established technology. It becomes this centerpiece where other cloud native projects can tie in, so there's a network effect that each project empowers each other. This is something that has a lot of value when we have to talk to customers and convince them that our cloud fits their needs."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
Nerdalize is a cloud hosting provider that has no data centers. Instead, the four-year-old startup places its servers in homes across the Netherlands, inside heating devices it developed to turn the heat produced by the servers into heating and hot water for the residents.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>"Households save on their gas bills, and cloud users have a much more sustainable cloud solution," says Maaike Stoops, Customer Experience Queen at Nerdalize. "And we don't have the overhead of building a data center, so our cloud is up to 40% more affordable."</p>
|
||||
|
||||
<p>That business model has been enabled by the company's adoption of containerization and Kubernetes. "When we just got started, Docker was just introduced," says Digital Product Engineer Ad van der Veer. "We began with a very basic bare metal setup, but once we developed the business, we saw that containerization technology was super useful to help our customers. As a cloud provider, we have internal services for hosting our backends and billing our customers, but we also need to offer our compute to our end users. Since we have these heating devices spread across the Netherlands, we need some way of tying that all together."</p>
|
||||
|
||||
<p>After trying to develop its own scheduling system using another open source tool, Nerdalize found Kubernetes. "Kubernetes provided us with more functionality out of the gate," says van der Veer.</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/nerdalize/banner3.jpg"
|
||||
author="AD VAN DER VEER, PRODUCT ENGINEER, NERDALIZE"
|
||||
>}}
|
||||
"We always try to get a working version online first, like minimal viable products, and then move to stabilize that," says van der Veer. "And I think that these kinds of day-two problems are now immediately solved. The rapid prototyping we saw internally is a very valuable aspect of Kubernetes."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The team first experimented with a basic use case to run customers' workloads on Kubernetes. "Getting the data working was kind of difficult, and at the time the installation wasn't that simple," says van der Veer. "Then CNCF started, we saw the community grow, these problems got solved, and from there it became a very easy decision."</p>
|
||||
|
||||
<p>The first Nerdalize product that was launched in 2017 was "100% containerized and Kubernetes native," says van der Veer. "On top of our heating devices throughout the Netherlands, we have a virtual machine layer, and on top of that we run Kubernetes clusters for our customers. As a small company, we have to provide a rock solid story in terms of the technology. Kubernetes allows us to offer a hybrid solution: 'You can run this on our cloud, but you can run it on other clouds as well. It runs in your internal hardware if you like.' And together with the Docker image standard and our multi-cloud dashboard, that gives them peace of mind."</p>
|
||||
|
||||
<p>Not to mention the 40% cost savings. "Every euro that we have to invest for licensing of software that's not open source comes from that 40%," says van der Veer. If Nerdalize had used a non-open source orchestration platform instead of Kubernetes, "that would reduce our cost savings proposition to like 30%. Kubernetes directly allows us to have this business model and this strategic advantage."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/nerdalize/banner4.jpg"
|
||||
author="MAAIKE STOOPS, CUSTOMER EXPERIENCE QUEEN, NERDALIZE"
|
||||
>}}
|
||||
"One of our customers used to spend up to a day setting up the virtual machines, network and software every time they wanted to run a project in the cloud. On our platform, with Docker and Kubernetes, customers can have their projects running in a couple of minutes."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Nerdalize now has customers, from individual engineers to data-intensive startups and established companies, all around the world. (For the time being, though, the heating devices are exclusive to the Netherlands.) One of the most common use cases is batch workloads used by data scientists and researchers, and the time savings for these end users is profound. "One of our customers used to spend up to a day setting up the virtual machines, network and software every time they wanted to run a project in the cloud," says Stoops. "On our platform, with Docker and Kubernetes, customers can have their projects running in a couple of minutes."</p>
|
||||
|
||||
<p>As for households using the heating devices, they save an average of 200 euro a year on their heating bill. The environmental impact? The annual reduction in CO2 emissions comes out to 2 tons per Nerdalize household, which is equivalent to a car driving 8,000 km.</p>
|
||||
|
||||
<p>For the Nerdalize team, feature development—such as the accessible command line interface called Nerd, which recently went live—has also been sped up by Kubernetes. "We always try to get a working version online first, like minimal viable products, and then move to stabilize that," says van der Veer. "And I think that these kinds of day-two problems are now immediately solved. The rapid prototyping we saw internally is a very valuable aspect of Kubernetes."</p>
|
||||
|
||||
<p>Another unexpected benefit has been the growing influence and reputation of Kubernetes. "We can walk into a boardroom and put a Kubernetes logo up, and people accept it as an established technology," says van der Veer. "It becomes this centerpiece where other cloud native projects can tie in, so there's a network effect that each project empowers each other. This is something that has a lot of value when we have to convince customers that our cloud fits their needs."</p>
|
||||
|
||||
{{< case-studies/quote author="MAAIKE STOOPS, CUSTOMER EXPERIENCE QUEEN, NERDALIZE" >}}
|
||||
"It shouldn't be too big of a hassle and too large of a commitment. It should be fun and easy for end users. So we really love Kubernetes in that way."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>In fact, Nerdalize is currently looking into implementing other CNCF projects, such as <a href="https://prometheus.io/">Prometheus</a> for monitoring and <a href="https://rook.io/">Rook</a>, "which should help us with some of the data problems that we want to solve for our customers," says van der Veer.</p>
|
||||
|
||||
<p>In the coming year, Nerdalize will scale up the number of households running its hardware to 50, or the equivalent of a small scale data center. Geographic redundancy and greater server ability for customers are two main goals. Spreading the word about Kubernetes is also in the game plan. "We offer a free namespace on our sandbox, multi-tenant Kubernetes cluster for anyone to try," says van der Veer. "What's more cool than trying your first Kubernetes project on houses, to warm a shower?"</p>
|
||||
|
||||
<p>Ultimately, this ties into Nerdalize's mission of supporting affordable and sustainable cloud hosting. "We want to be the disrupter of the cloud space, showing organizations that running in the cloud is easy and affordable," says Stoops. "It shouldn't be too big of a hassle and too large of a commitment. It should be fun and easy for end users. So we really love Kubernetes in that way."</p>
|
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,73 @@
|
|||
---
|
||||
title: New York Times Case Study
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/newyorktimes/banner1.jpg
|
||||
heading_title_logo: /images/newyorktimes_logo.png
|
||||
subheading: >
|
||||
The New York Times: From Print to the Web to Cloud Native
|
||||
case_study_details:
|
||||
- Company: New York Times
|
||||
- Location: New York, N.Y.
|
||||
- Industry: News Media
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>When the company decided a few years ago to move out of its data centers, its first deployments on the public cloud were smaller, less critical applications managed on virtual machines. "We started building more and more tools, and at some point we realized that we were doing a disservice by treating Amazon as another data center," says Deep Kapadia, Executive Director, Engineering at The New York Times. Kapadia was tapped to lead a Delivery Engineering Team that would "design for the abstractions that cloud providers offer us."</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>The team decided to use <a href="https://cloud.google.com/">Google Cloud Platform</a> and its Kubernetes-as-a-service offering, <a href="https://cloud.google.com/kubernetes-engine/">GKE</a>.</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>Speed of delivery increased. Some of the legacy VM-based deployments took 45 minutes; with Kubernetes, that time was "just a few seconds to a couple of minutes," says Engineering Manager Brian Balser. Adds Li: "Teams that used to deploy on weekly schedules or had to coordinate schedules with the infrastructure team now deploy their updates independently, and can do it daily when necessary." Adopting Cloud Native Computing Foundation technologies allows for a more unified approach to deployment across the engineering staff, and portability for the company.</p>
|
||||
|
||||
{{< case-studies/quote author="Deep Kapadia, Executive Director, Engineering at The New York Times" >}}
|
||||
{{< youtube DqS_IPw-c6o youtube-quote-sm >}}
|
||||
{{< youtube Tm4VfJtOHt8 youtube-quote-sm >}}
|
||||
"I think once you get over the initial hump, things get a lot easier and actually a lot faster."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Founded in 1851 and known as the newspaper of record, The New York Times is a digital pioneer: Its first website launched in 1996, before Google even existed. After the company decided a few years ago to move out of its private data centers—including one located in the pricy real estate of Manhattan. It recently took another step into the future by going cloud native.</p>
|
||||
|
||||
<p>At first, the infrastructure team "managed the virtual machines in the Amazon cloud, and they deployed more critical applications in our data centers and the less critical ones on <a href="https://aws.amazon.com/">AWS</a> as an experiment," says Deep Kapadia, Executive Director, Engineering at The New York Times. "We started building more and more tools, and at some point we realized that we were doing a disservice by treating Amazon as another data center."</p>
|
||||
|
||||
<p>To get the most out of the cloud, Kapadia was tapped to lead a new Delivery Engineering Team that would "design for the abstractions that cloud providers offer us." In mid-2016, they began looking at the <a href="https://cloud.google.com/">Google Cloud Platform</a> and its Kubernetes-as-a-service offering, <a href="https://cloud.google.com/kubernetes-engine/">GKE</a>.</p>
|
||||
|
||||
<p>At the time, says team member Tony Li, a Site Reliability Engineer, "We had some internal tooling that attempted to do what Kubernetes does for containers, but for VMs. We asked why are we building and maintaining these tools ourselves?"</p>
|
||||
|
||||
<p>In early 2017, the first production application—the nytimes.com mobile homepage—began running on Kubernetes, serving just 1% of the traffic. Today, almost 100% of the nytimes.com site's end-user facing applications run on GCP, with the majority on Kubernetes.</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/newyorktimes/banner3.jpg" >}}
|
||||
"We had some internal tooling that attempted to do what Kubernetes does for containers, but for VMs. We asked why are we building and maintaining these tools ourselves?"
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The team found that the speed of delivery was immediately impacted. "Deploying Docker images versus spinning up VMs was quite a lot faster," says Engineering Manager Brian Balser. Some of the legacy VM-based deployments took 45 minutes; with Kubernetes, that time was "just a few seconds to a couple of minutes."</p>
|
||||
|
||||
<p>The plan is to get as much as possible, not just the website, running on Kubernetes, and beyond that, moving toward serverless deployments. For instance, The New York Times crossword app was built on <a href="https://cloud.google.com/appengine/">Google App Engine</a>, which has been the main platform for the company's experimentation with serverless. "The hardest part was getting the engineers over the hurdle of how little they had to do," Chief Technology Officer Nick Rockwell recently told The CTO Advisor. "Our experience has been very, very good. We have invested a lot of work into deploying apps on container services, and I'm really excited about experimenting with deploying those on App Engine Flex and <a href="https://aws.amazon.com/fargate/">AWS Fargate</a> and seeing how that feels, because that's a great migration path."</p>
|
||||
|
||||
<p>There are some exceptions to the move to cloud native, of course. "We have the print publishing business as well," says Kapadia. "A lot of that is definitely not going down the cloud-native path because they're using vendor software and even special machinery that prints the physical paper. But even those teams are looking at things like App Engine and Kubernetes if they can."</p>
|
||||
|
||||
<p>Kapadia acknowledges that there was a steep learning curve for some engineers, but "I think once you get over the initial hump, things get a lot easier and actually a lot faster."</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/newyorktimes/banner4.jpg" >}}
|
||||
"Right now, every team is running a small Kubernetes cluster, but it would be nice if we could all live in a larger ecosystem," says Kapadia. "Then we can harness the power of things like service mesh proxies that can actually do a lot of instrumentation between microservices, or service-to-service orchestration. Those are the new things that we want to experiment with as we go forward."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>At The New York Times, they did. As teams started sharing their own best practices with each other, "We're no longer the bottleneck for figuring out certain things," Kapadia says. "Most of the infrastructure and systems were managed by a centralized function. We've sort of blown that up, partly because Google and Amazon have tools that allow us to do that. We provide teams with complete ownership of their Google Cloud Platform projects, and give them a set of sensible defaults or standards. We let them know, 'If this works for you as is, great! If not, come talk to us and we'll figure out how to make it work for you.'"</p>
|
||||
|
||||
<p>As a result, "It's really allowed teams to move at a much more rapid pace than they were able to in the past," says Kapadia. Adds Li: "The use of GKE means each team can get their own compute cluster, reducing the number of individual instances they have to care about since developers can treat the cluster as a whole. Because the ticket-based workflow was removed from requesting resources and connections, developers can just call an API to get what they want. Teams that used to deploy on weekly schedules or had to coordinate schedules with the infrastructure team now deploy their updates independently, and can do it daily when necessary."</p>
|
||||
|
||||
<p>Another benefit to adopting Kubernetes: allowing for a more unified approach to deployment across the engineering staff. "Before, many teams were building their own tools for deployment," says Balser. With Kubernetes—as well as the other CNCF projects The New York Times uses, including Fluentd to collect logs for all of its AWS servers, gRPC for its <a href="https://open.nytimes.com/publishing-with-apache-kafka-at-the-new-york-times-7f0e3b7d2077">Publishing Pipeline</a>, Prometheus, and Envoy—"we can benefit from the advances that each of these technologies make, instead of trying to catch up."</p>
|
||||
|
||||
{{< case-studies/quote >}}
|
||||
Li calls the Cloud Native Computing Foundation's projects "a northern star that we can all look at and follow."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>These open-source technologies have given the company more portability. "CNCF has enabled us to follow an industry standard," says Kapadia. "It allows us to think about whether we want to move away from our current service providers. Most of our applications are connected to Fluentd. If we wish to switch our logging provider from provider A to provider B we can do that. We're running Kubernetes in GCP today, but if we want to run it in Amazon or Azure, we could potentially look into that as well."</p>
|
||||
|
||||
<p>Li calls the Cloud Native Computing Foundation's projects "a northern star that we can all look at and follow." Led by that star, the team is looking ahead to a year of onboarding the remaining half of the 40 or so product engineering teams to extract even more value out of the technology. "Right now, every team is running a small Kubernetes cluster, but it would be nice if we could all live in a larger ecosystem," says Kapadia. "Then we can harness the power of things like service mesh proxies that can actually do a lot of instrumentation between microservices, or service-to-service orchestration. Those are the new things that we want to experiment with as we go forward."</p>
|
After Width: | Height: | Size: 22 KiB |
|
@ -0,0 +1,77 @@
|
|||
---
|
||||
title: Nokia Case Study
|
||||
linkTitle: Nokia
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
logo: nokia_featured_logo.png
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/nokia/banner1.jpg
|
||||
heading_title_logo: /images/nokia_logo.png
|
||||
subheading: >
|
||||
Nokia: Enabling 5G and DevOps at a Telecom Company with Kubernetes
|
||||
case_study_details:
|
||||
- Company: Nokia
|
||||
- Location: Espoo, Finland
|
||||
- Industry: Telecommunications
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p><a href="https://www.nokia.com/en_int">Nokia</a>'s core business is building telecom networks end-to-end; its main products are related to the infrastructure, such as antennas, switching equipment, and routing equipment. "As telecom vendors, we have to deliver our software to several telecom operators and put the software into their infrastructure, and each of the operators have a bit different infrastructure," says Gergely Csatari, Senior Open Source Engineer. "There are operators who are running on bare metal. There are operators who are running on virtual machines. There are operators who are running on <a href="https://cloud.vmware.com/">VMware Cloud</a> and <a href="https://www.openstack.org/">OpenStack</a> Cloud. We want to run the same product on all of these different infrastructures without changing the product itself."</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>The company decided that moving to cloud native technologies would allow teams to have infrastructure-agnostic behavior in their products. Teams at Nokia began experimenting with Kubernetes in pre-1.0 versions. "The simplicity of the label-based scheduling of Kubernetes was a sign that showed us this architecture will scale, will be stable, and will be good for our purposes," says Csatari. The first Kubernetes-based product, the <a href="https://networks.nokia.com/products/telecom-application-server">Nokia Telephony Application Server</a>, went live in early 2018. "Now, all the products are doing some kind of re-architecture work, and they're moving to Kubernetes."</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>Kubernetes has enabled Nokia's foray into 5G. "When you develop something that is part of the operator's infrastructure, you have to develop it for the future, and Kubernetes and containers are the forward-looking technologies," says Csatari. The teams using Kubernetes are already seeing clear benefits. "By separating the infrastructure and the application layer, we have less dependencies in the system, which means that it's easier to implement features in the application layer," says Csatari. And because teams can test the exact same binary artifact independently of the target execution environment, "we find more errors in early phases of the testing, and we do not need to run the same tests on different target environments, like VMware, OpenStack, or bare metal," he adds. As a result, "we save several hundred hours in every release."</p>
|
||||
|
||||
{{< case-studies/quote author="Gergely Csatari, Senior Open Source Engineer, Nokia" >}}
|
||||
"When people are picking up their phones and making a call on Nokia networks, they are creating containers in the background with Kubernetes."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
Nokia was the first name in mobile phones when they were becoming ubiquitous in the late 1990s and early 2000s. But by 2014, the company had sold off its mobile device division and was focusing its core business not on the handhelds used for calls, but on the networks.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>Today, Nokia is building telecom networks end-to-end—from antennas to switching and routing equipment—serving operators in more than 120 countries. "As telecom vendors, we have to deliver our software to several telecom operators and put the software into their infrastructure, and each of the operators have a bit different infrastructure," says Gergely Csatari, Senior Open Source Engineer at Nokia. "There are operators who are running on bare metal. There are operators who are running on virtual machines. There are operators who are running on VMware Cloud and OpenStack Cloud. We want to run the same product on all of these different infrastructures without changing the product itself."</p>
|
||||
|
||||
<p>Looking for a way to allow its teams to build products with infrastructure-agnostic behavior, the company decided to embrace containerization, Kubernetes, and other cloud native technologies, a move that is being made across the telecom industry. Since early 2018, "when people are picking up their phones and making a call on Nokia networks, they are creating containers in the background with Kubernetes," says Csatari. "Now, all the products are doing some kind of re-architecture work, and they're moving to Kubernetes."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/nokia/banner3.jpg"
|
||||
author="Gergely Csatari, Senior Open Source Engineer, Nokia"
|
||||
>}}
|
||||
"Having the community and CNCF around Kubernetes is not only important for having a connection to other companies who are using Kubernetes and a forum where you can ask or discuss features of Kubernetes. But as a company who would like to contribute to Kubernetes, it was very important to have a CLA (Contributors License Agreement) which is connected to the CNCF and not to a particular company. That was a critical step for us to start contributing to Kubernetes and Helm."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Nokia's cloud native journey began about two years ago, when Csatari's team was building the company's Telephony Application Server (TAS). "We wanted to have a service execution engine in the product, which was a totally separate function from all other parts," he says. "There, we had the possibility to think about new architectures and new tools that we could use. We created this particular product based on Kubernetes, and we liked the work, so we started to talk about cloud native and containers and all of these things. We did a very extensive research of different container orchestration tools. We knew that we have some, let's say, strange or different requirements because of the special environment that our software is running on."</p>
|
||||
|
||||
<p>For one thing, Nokia's software serves millions of people, and is required to have the carrier-grade "five nines" availability: to be up 99.999% of the time. "If you turn it to minutes, this means we're allowed to have only 10 minutes of downtime in a whole year," says Csatari. "Downtime here means that you are not able to serve the person to full capacity, which means that we cannot fail. This includes software upgrades, everything, because when you call 911, you're using our software, and you expect that it will work."</p>
|
||||
|
||||
<p>That meant that they needed to be able to set affinity and anti-affinity rules in their orchestration tools. "You cannot put all of the functions to the same physical host because physical hosts are failing," Csatari explains. "If you fail with one physical host, then you lose all of the core processing processes. Then there are no calls going through. So we have to divide them among the different physical hosts. At that time, only Kubernetes was able to provide these features. The simplicity of the label-based scheduling of Kubernetes was a sign that showed us this architecture will scale, will be stable, and will be good for our purposes."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/nokia/banner4.jpg"
|
||||
author="Gergely Csatari, Senior Open Source Engineer, Nokia"
|
||||
>}}
|
||||
"Kubernetes opened the window to all of these open source projects instead of implementing everything in house. Our engineers can focus more on the application level, which is actually the thing what we are selling, and not on the infrastructure level. For us, the most important thing about Kubernetes is it allows us to focus on value creation of our business."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The TAS went live in early 2018, and now Kubernetes is also enabling Nokia's foray into 5G. The company is introducing microservices architecture and Kubernetes while adding 5G features to existing products. And all new 5G product development will be on top of Kubernetes. "When you develop something that is part of the operator's infrastructure, you have to develop it for the future, and Kubernetes and containers are the forward-looking technologies," says Csatari.</p>
|
||||
|
||||
<p>There have been real time savings thanks to Kubernetes. "By separating the infrastructure and the application layer, we have less dependencies in the system, which means that it's easier to implement features in the application layer," says Csatari. Because teams can test the exact same binary artifact independently of the target execution environment, "we find more errors in early phases of the testing, and we do not need to run the same tests on different target environments, like VMware, OpenStack or bare metal," he adds. As a result, "we save several hundred hours in every release."</p>
|
||||
|
||||
<p>Moving from Nokia's legacy cluster management system, which had been built in-house more than thirty years ago, to a Kubernetes platform also meant that "we started using Linux as a base operating system, so we just opened the window to all of these open source projects instead of implementing everything in house," says Csatari. (From CNCF's ecosystem, the team is already using <a href="https://helm.sh/">Helm</a>, <a href="https://grpc.io/">gRPC</a>, <a href="https://github.com/containernetworking">CNI</a>, <a href="https://prometheus.io/">Prometheus</a>, and <a href="https://www.envoyproxy.io/">Envoy</a>, and plans to implement <a href="https://coredns.io/">CoreDNS</a>.) "Our engineers can focus more on the application level, which is actually the thing what we are selling, and not on the infrastructure level. For us, the most important thing about Kubernetes is it allows us to focus on value creation of our business."</p>
|
||||
|
||||
{{< case-studies/quote author="Gergely Csatari, Senior Open Source Engineer, Nokia" >}}
|
||||
"I had some discussions at KubeCon with people from the networking SIG and the resource management working group, to work together on our requirements, and that's very exciting for me and my colleagues,"
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The company has a long-term goal of moving the entire product portfolio into the Kubernetes platform. To that end, Nokia teams are working together with other companies to add the features needed to use Kubernetes with the real-time, nanosecond-sensitive applications close to the edge of the radio network.</p>
|
||||
|
||||
<p>And the CNCF community is proving to be a great forum for that collaboration. "I had some discussions at KubeCon with people from the networking SIG and the resource management working group, to work together on our requirements, and that's very exciting for me and my colleagues," says Csatari. "Previously, everybody had the same problem, but everybody just did it in his own, and now we are trying to solve the same problem together."</p>
|
||||
|
||||
<p>Perhaps the biggest impact that Kubernetes is having on Nokia, Csatari believes, is that people are starting to think about how a telecom company can do DevOps. "We are building a DevOps pipeline, which reaches from the actual developer to the customers, and thinking about new ways how can we digitally deliver our software to our customers and get feedback from the customers right to the engineers," he says. "This is something that will fundamentally change how telecom companies are delivering software, and how quickly can we develop new features. This is because of the usage of containers and, of course, the usage of Kubernetes."</p>
|
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 215 127"><defs><style>.cls-1{fill:transparent;}.cls-2{fill:#006cb7;}</style></defs><title>nokia</title><rect class="cls-1" x="-3.35417" y="-4.36563" width="223.25536" height="134.51136"/><polygon class="cls-2" points="23.535 77.585 14.624 77.585 14.624 48.305 30.04 48.305 47.717 70.171 47.717 48.305 56.626 48.305 56.626 77.585 41.529 77.585 23.535 55.356 23.535 77.585"/><path class="cls-2" d="M86.96953,70.53817c2.03268,0,2.74956-.11608,3.23784-.54371.45706-.39991.65794-.91707.65794-2.63643V58.4191c0-1.72-.20088-2.23418-.65794-2.63711-.48828-.42873-1.20515-.53939-3.23783-.53939H72.49669c-2.03268,0-2.74592.11066-3.233.53939-.45946.40293-.65671.91714-.65671,2.63711V67.358c0,1.71936.19725,2.23652.65671,2.63643.48711.42763,1.20035.54371,3.233.54371Zm12.2923-2.0014c0,4.06413-.74575,5.47257-1.97375,6.81726-1.89554,2.00436-4.6451,2.60576-9.9469,2.60576H72.12862c-5.30181,0-8.05253-.6014-9.94327-2.60576-1.2328-1.34469-1.97732-2.75313-1.97732-6.81726V57.2488c0-4.07017.74452-5.478,1.97732-6.82508,1.89074-2.00442,4.64146-2.60343,9.94327-2.60343H87.34118c5.3018,0,8.05135.599,9.9469,2.60343,1.228,1.34709,1.97375,2.75491,1.97375,6.82508Z"/><path class="cls-2" d="M127.93816,48.305h12.28866L123.64069,62.0021l18.7126,15.58666H129.19743L112.21318,62.31364Zm-15.725,29.28376h-9.30942V48.305h9.30942Z"/><rect class="cls-2" x="144.07442" y="48.305" width="9.31421" height="29.28376"/><path class="cls-2" d="M171.34711,66.124h11.57544L177.1324,55.52643Zm17.53874,11.46113L186.1315,72.486H168.11293l-2.72431,5.09914H155.10136L171.60454,48.305h11.57784l16.50553,29.28013Z"/></svg>
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,69 @@
|
|||
---
|
||||
title: Northwestern Mutual Case Study
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/northwestern/banner1.jpg
|
||||
heading_title_logo: /images/northwestern_logo.png
|
||||
subheading: >
|
||||
Cloud Native at Northwestern Mutual
|
||||
case_study_details:
|
||||
- Company: Northwestern Mutual
|
||||
- Location: Milwaukee, WI
|
||||
- Industry: Insurance and Financial Services
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>In the spring of 2015, Northwestern Mutual acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutual's leading products and services and meld it with LearnVest's digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The company's existing infrastructure had been optimized for batch workflows hosted on on-prem networks; deployments were very traditional, focused on following a process instead of providing deployment agility. "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 our end-customers have the experience they expect," says Williams.</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>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 they're 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 OpenTracing, Jaeger, and gRPC.</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>Before, infrastructure deployments could take weeks; now, it is done in a matter of minutes. The number of deployments has increased dramatically, from about 24 a year to over 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 we have eliminated the planned outage windows," says Bryan Pfremmer, App Platform Teams Manager, Northwestern Mutual. Kanali has had an impact on the bottom line. The vendor API management product that the company previously used required 23 servers, "dedicated, to only API management," says Pfremmer. "Now it's all integrated in the existing stack and running as another deployment on Kubernetes. And that's just one environment. Between the three that we had plus the test, that's hard dollar savings."</p>
|
||||
|
||||
{{< case-studies/quote author="Frank Greco Jr., Cloud Native Engineer at Northwestern Mutual">}}
|
||||
"In a large enterprise, you're going to have people using Kubernetes, but then you're also going to have people using WAS and .NET. 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."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
For more than 160 years, Northwestern Mutual has maintained its industry leadership in part by keeping a strong focus on risk management.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>For many years, the company took a similar approach to managing its technology and has recently undergone a digital transformation to advance the company's digital strategy - including making a lot of noise in the cloud-native world.</p>
|
||||
|
||||
<p>In the spring of 2015, this insurance and financial services company acquired a fintech startup, LearnVest, and decided to take "Northwestern Mutual's leading products and services and meld it with LearnVest's digital experience and innovative financial planning platform," says Brad Williams, Director of Engineering for Client Experience, Northwestern Mutual. The company's existing infrastructure had been optimized for batch workflows hosted on an on-premise datacenter; deployments were very traditional and had to many manual steps that were error prone.</p>
|
||||
|
||||
<p>In order to give the company's 4.5 million clients the digital experience they'd 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, 'You build the system that you think is necessary to support a new, modern-facing one.' That's why we departed from anything legacy."</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/northwestern/banner3.jpg" >}}
|
||||
"Kubernetes has definitely been the right choice for us. It gave us that base framework so teams can be autonomous in what they're building and deliver very quickly and frequently."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>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 freedom to implement what was best for the organization—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 they're building and deliver very quickly and frequently."</p>
|
||||
|
||||
<p>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," explains Bryan Pfremmer, App Platform Teams Manager, Northwestern Mutual. "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 company's 1,500 engineers are using it and more are eager to get on board.</p>
|
||||
|
||||
<p>The results have been dramatic. Before, infrastructure deployments could take two weeks; now, it is done in a matter of minutes. Now with a focus on Infrastructure automation, and self-service, "You can take an app to production in that same day if you want to," says Pfremmer.</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/northwestern/banner4.jpg" >}}
|
||||
"Now, developers have autonomy, they can use this whenever they want, however they want. It becomes more valuable the more instrumentation downstream that happens, as we mature in it."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>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 there's no planned outage window," notes Pfremmer.</p>
|
||||
|
||||
<p>Northwestern Mutual built that API management tool—called <a href="https://github.com/northwesternmutual/kanali">Kanali</a>—and open sourced it in the summer of 2017. The team took on the project because it was a key capability for what they were building and prior the solution worked in an "anti-cloud native way that was different than everything else we were doing," says Greco. Now API management is just another container deployed to Kubernetes along with a separate Jaeger deployment.</p>
|
||||
|
||||
<p>Now the engineers using the Kubernetes deployment platform have the added benefit of visibility in production—and autonomy. Before, a centralized team and would have to run a trace. "Now, developers have autonomy, they can use this whenever they want, however they want. It becomes more valuable the more instrumentation downstream that happens, as we mature in it." says Greco.</p>
|
||||
|
||||
{{< case-studies/quote >}}
|
||||
"We're trying to make what we're doing known so that we can find people who are like, 'Yeah, that's interesting. I want to come do it!'"
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>But the team didn't stop there. "In a large enterprise, you're going to have people using Kubernetes, but then you're 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."</p>
|
||||
|
||||
<p>As the team continues to improve its stack and share its Kubernetes best practices, it feels that Northwestern Mutual's reputation as a technology-first company is evolving too. "No one would think a company that's 160-plus years old is foraying this deep into the cloud and infrastructure stack," says Pfremmer. And they're hoping that means they'll be able to attract new talent. "We're trying to make what we're doing known so that we can find people who are like, 'Yeah, that's interesting. I want to come do it!'"</p>
|
After Width: | Height: | Size: 25 KiB |
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
title: Ocado Case Study
|
||||
linkTitle: Ocado
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
logo: ocado_featured_logo.png
|
||||
featured: true
|
||||
weight: 4
|
||||
quote: >
|
||||
People at Ocado Technology have been quite amazed. They ask, 'Can we do this on a Dev cluster?' and 10 minutes later we have rolled out something that is deployed across the cluster. The speed from idea to implementation to deployment is amazing.
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/ocado/banner1.jpg
|
||||
heading_title_logo: /images/ocado_logo.png
|
||||
subheading: >
|
||||
Ocado: Running Grocery Warehouses with a Cloud Native Platform
|
||||
case_study_details:
|
||||
- Company: Ocado Technology
|
||||
- Location: Hatfield, England
|
||||
- Industry: Grocery retail technology and platforms
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>The world's largest online-only grocery retailer, <a href="http://www.ocadogroup.com/">Ocado</a> developed the Ocado Smart Platform to manage its own operations, from websites to warehouses, and is now licensing the technology to other retailers such as <a href="http://fortune.com/2018/05/17/ocado-kroger-warehouse-automation-amazon-walmart/">Kroger</a>. To set up the first warehouses for the platform, Ocado shifted from virtual machines and <a href="https://puppet.com/">Puppet</a> infrastructure to <a href="https://www.docker.com/">Docker</a> containers, using CoreOS's <a href="https://github.com/coreos/fleet">fleet</a> scheduler to provision all the services on its <a href="https://www.openstack.org/">OpenStack</a>-based private cloud on bare metal. As the Smart Platform grew and "fleet was going end-of-life," says Platform Engineer Mike Bryant, "we started looking for a more complete platform, with all of these disparate infrastructure services being brought together in one unified API."</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>The team decided to migrate from fleet to <a href="https://www.kubernetes.io">Kubernetes</a> on Ocado's private cloud. The Kubernetes stack currently uses <a href="https://github.com/kubernetes/kubeadm/">kubeadm</a> for bootstrapping, <a href="https://github.com/containernetworking">CNI</a> with <a href="https://www.weave.works/oss/net/">Weave Net</a> for networking, <a href="https://coreos.com/operators/prometheus/docs/latest/user-guides/getting-started.html">Prometheus Operator</a> for monitoring, <a href="https://www.fluentd.org/">Fluentd</a> for logging, and <a href="http://opentracing.io/">OpenTracing</a> for distributed tracing. The first app on Kubernetes, a business-critical service in the warehouses, went into production in the summer of 2017, with a mass migration continuing into 2018. Hundreds of Ocado engineers working on the Smart Platform are now deploying on Kubernetes.</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>With Kubernetes, "the speed from idea to implementation to deployment is amazing," says Bryant. "I've seen features go from development to production inside of a week now. In the old world, a new application deployment could easily take over a month." And because there are no longer restrictive deployment windows in the warehouses, the rate of deployments has gone from as few as two per week to dozens per week. Ocado has also achieved cost savings because Kubernetes gives the team the ability to have more fine-grained resource allocation. Says DevOps Team Leader Kevin McCormack: "We have more confidence in the resource allocation/separation features of Kubernetes, so we have been able to migrate from around 10 fleet clusters to one Kubernetes cluster." The team also uses <a href="https://prometheus.io/">Prometheus</a> and <a href="https://grafana.com/">Grafana</a> to visualize resource allocation, and makes the data available to developers. "The increased visibility offered by Prometheus means developers are more aware of what they are using and how their use impacts others, especially since we now have one shared cluster," says McCormack. "I'd estimate that we use about 15-25% less hardware resources to host the same applications in Kubernetes in our test environments."</p>
|
||||
|
||||
{{< case-studies/quote author="Mike Bryant, Platform Engineer, Ocado" >}}
|
||||
"People at Ocado Technology have been quite amazed. They ask, 'Can we do this on a Dev cluster?' and 10 minutes later we have rolled out something that is deployed across the cluster. The speed from idea to implementation to deployment is amazing."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
When it was founded in 2000, Ocado was an online-only grocery retailer in the U.K. In the years since, it has expanded from delivering produce to families to providing technology to other grocery retailers.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>The company began developing its Ocado Smart Platform to manage its own operations, from websites to warehouses, and is now licensing the technology to other grocery chains around the world, such as <a href="http://fortune.com/2018/05/17/ocado-kroger-warehouse-automation-amazon-walmart/">Kroger</a>. To set up the first warehouses on the platform, Ocado shifted from virtual machines and Puppet infrastructure to Docker containers, using CoreOS's fleet scheduler to provision all the services on its OpenStack-based private cloud on bare metal. As the Smart Platform grew, and "fleet was going end-of-life," says Platform Engineer Mike Bryant, "we started looking for a more complete platform, with all of these disparate infrastructure services being brought together in one unified API."</p>
|
||||
|
||||
<p>Bryant had already been using Kubernetes with <a href="https://www.codeforlife.education/">Code for Life</a>, a children's education project that's part of Ocado's charity arm. "We really liked it, so we started looking at it seriously for our production workloads," says Bryant. The team that managed fleet had researched orchestration solutions and landed on Kubernetes as well. "We were looking for a platform with wide adoption, and that was where the momentum was," says DevOps Team Leader Kevin McCormack. The two paths converged, and "We didn't even go through any proof-of-concept stage. The Code for Life work served that purpose," says Bryant.</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/ocado/banner3.jpg"
|
||||
author="Kevin McCormack, DevOps Team Leader, Ocado"
|
||||
>}}
|
||||
"We were looking for a platform with wide adoption, and that was where the momentum was, the two paths converged, and we didn't even go through any proof-of-concept stage. The Code for Life work served that purpose,"
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>In the summer of 2016, the team began migrating from fleet to <a href="https://kubernetes.io/">Kubernetes</a> on Ocado's private cloud. The Kubernetes stack currently uses <a href="https://github.com/kubernetes/kubeadm">kubeadm</a> for bootstrapping, <a href="https://github.com/containernetworking">CNI</a> with <a href="https://www.weave.works/oss/net/">Weave Net</a> for networking, <a href="https://coreos.com/operators/prometheus/docs/latest/user-guides/getting-started.html">Prometheus Operator</a> for monitoring, <a href="https://www.fluentd.org/">Fluentd</a> for logging, and <a href="http://opentracing.io/">OpenTracing</a> for distributed tracing.</p>
|
||||
|
||||
<p>The first app on Kubernetes, a business-critical service in the warehouses, went into production a year later. Once that app was running smoothly, a mass migration continued into 2018. Hundreds of Ocado engineers working on the Smart Platform are now deploying on Kubernetes, and the platform is live in Ocado's warehouses, managing tens of thousands of orders a week. At full capacity, Ocado's latest warehouse in Erith, southeast London, will deliver more than 200,000 orders per week, making it the world's largest facility for online grocery.</p>
|
||||
|
||||
<p>There are about 150 microservices now running on Kubernetes, with multiple instances of many of them. "We're not just deploying all these microservices at once. We're deploying them all for one warehouse, and then they're all being deployed again for the next warehouse, and again and again," says Bryant.</p>
|
||||
|
||||
<p>The move to Kubernetes was eye-opening for many people at Ocado Technology. "In the early days of putting the platform into our test infrastructure, the technical architect asked what network performance was like on <a href="https://www.weave.works/oss/net/">Weave Net</a> with encryption turned on," recalls Bryant. "So we found a Docker container for <a href="https://iperf.fr/">iPerf</a>, wrote a daemon set, deployed it. A few moments later, we've deployed the entire thing across this cluster. He was pretty blown away by that."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/ocado/banner4.jpg"
|
||||
author="Mike Bryant, Platform Engineer, Ocado"
|
||||
>}}
|
||||
"The unified API of Kubernetes means this is all in one place, and it's one flow for approval and rollout. I've seen features go from development to production inside of a week now. In the old world, a new application deployment could easily take over a month."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Indeed, the impact has been profound. "Prior to containerization, we had quite restrictive deployment windows in our warehouses," says Bryant. "Moving to microservices, we've been able to deploy much more frequently. We've been able to move towards continuous delivery in a number of areas. In our older warehouse, new application deployments involve talking to a bunch of different teams for different levels of the stack: from VM provisioning, to storage, to load balancers, and so on. The unified API of Kubernetes means this is all in one place, and it's one flow for approval and rollout. I've seen features go from development to production inside of a week now. In the old world, a new application deployment could easily take over a month."</p>
|
||||
|
||||
<p>The rate of deployment has gone from as few as two per week to dozens per week. "With Kubernetes, some of our development teams have been able to deploy their application to production on the new platform without us noticing," says Bryant, "which means they're faster at doing what they need to do and we have less work."</p>
|
||||
|
||||
<p>Ocado has also achieved cost savings because Kubernetes gives the team the ability to have more fine-grained resource allocation. "That lets us shrink quite a lot of our deployments from being per-core VM deployments to having fractions of the core," says Bryant. Adds McCormack: "We have more confidence in the resource allocation/separation features of Kubernetes, so we have been able to migrate from around 10 fleet clusters to one Kubernetes cluster. This means we use our hardware better since if we have to always have two nodes of excess capacity available in case of node failures then we only need two extra instead of 20."</p>
|
||||
|
||||
{{< case-studies/quote author="Mike Bryant, Platform Engineer, Ocado" >}}
|
||||
"CNCF have provided us with support of different technologies. We've been able to adopt those in a very easy fashion. We do like that CNCF is vendor agnostic. We're not being asked to commit to this one way of doing things. The vast diversity of viewpoints in CNCF lead to better technology."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The team also uses <a href="https://prometheus.io/">Prometheus</a> and <a href="https://grafana.com/">Grafana</a> to visualize resource allocation, and makes the data available to developers. "The increased visibility offered by Prometheus means developers are more aware of what they are using and how their use impacts others, especially since we now have one shared cluster," says McCormack. "I'd estimate that we use about 15-25% less hardware resource to host the same applications in Kubernetes in our test environments."</p>
|
||||
|
||||
<p>One of the broader benefits of cloud native, says Bryant, is the unified API. "We have one method of doing our deployments that covers the wide range of things we need to do, and we can extend the API," he says. In addition to using Prometheus Operator, the Ocado team has started writing its own operators, some of which have been <a href="https://github.com/ocadotechnology">open sourced</a>. Plus, "CNCF has provided us with support of these different technologies. We've been able to adopt those in a very easy fashion. We do like that CNCF is vendor agnostic. We're not being asked to commit to this one way of doing things. The vast diversity of viewpoints in the CNCF leads to better technology."</p>
|
||||
|
||||
<p>Ocado's own technology, in the form of its Smart Platform, will soon be used <a href="http://fortune.com/2018/05/17/ocado-kroger-warehouse-automation-amazon-walmart/">around</a> the world. And cloud native plays a crucial role in this global expansion. "I wouldn't have wanted to try it without Kubernetes," says Bryant. "Kubernetes has made it so much nicer, especially to have that consistent way of deploying all of the applications, then taking the same thing and being able to replicate it. It's very valuable."</p>
|
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 215 127"><defs><style>.cls-1{fill:transparent;}.cls-2{fill:#b9c200;}.cls-3{fill:#fff;}.cls-4{fill:#4d5152;}</style></defs><title>kubernetes.io-logos2</title><rect class="cls-1" x="-3.86923" y="-3.17679" width="223.25536" height="134.51136"/><path class="cls-2" d="M132.01169,16.02155H83.40541a6.79387,6.79387,0,0,0-6.78691,6.78691V71.41474a6.79387,6.79387,0,0,0,6.78691,6.78691H138.6988V22.80846a6.64741,6.64741,0,0,0-6.68711-6.78691"/><path class="cls-3" d="M107.95807,68.2209A21.51088,21.51088,0,0,0,129.5165,46.76227c0-2.79461-.89826-6.48749-.89826-5.58922a13.67512,13.67512,0,0,1-15.27056,13.37421c-5.98845-.79846-12.67556-6.28787-11.47787-14.97113a12.75333,12.75333,0,0,1,14.07287-11.27825c8.68325,1.19769,10.47979,7.785,7.8848,10.879a4.41757,4.41757,0,0,1-7.98461-2.595,4.295,4.295,0,0,1,1.69673-3.49326c-4.39154-1.2975-8.98268,2.19576-9.58153,6.78691a8.369,8.369,0,0,0,7.18615,9.48172c7.68518,1.09788,12.07672-5.09019,12.07672-10.5796,0-6.48749-6.88674-13.77344-19.16306-13.77344a21.60862,21.60862,0,0,0-.09981,43.21667"/><path class="cls-4" d="M152.37243,91.77548a10.18085,10.18085,0,1,0,10.28018,10.18037,10.18026,10.18026,0,0,0-10.28018-10.18037m0,3.49327a6.68786,6.68786,0,1,1-6.5873,6.6871,6.603,6.603,0,0,1,6.5873-6.6871M104.864,108.643a6.68786,6.68786,0,1,1,6.5873-6.6871,6.66635,6.66635,0,0,1-6.5873,6.6871m6.5873-16.36844v2.19577h-.09981a9.43621,9.43621,0,0,0-6.58729-2.69481,10.18085,10.18085,0,1,0,0,20.36074,8.87657,8.87657,0,0,0,6.48749-2.79461h.0998v2.096h3.69289v-19.163ZM128.61824,108.643a6.68786,6.68786,0,1,1,6.58729-6.6871,6.66636,6.66636,0,0,1-6.58729,6.6871m6.48749-25.55073V94.47029h-.09981a8.71081,8.71081,0,0,0-6.48749-2.79461,10.18085,10.18085,0,1,0,0,20.36073,8.87657,8.87657,0,0,0,6.48749-2.79461h.09981v2.096h3.69287V83.09222h-3.69287ZM91.1904,106.547a6.47955,6.47955,0,0,1-4.79076,2.096,6.68786,6.68786,0,0,1,0-13.37421,6.47955,6.47955,0,0,1,4.79076,2.096l1.79654-3.39346a10.53878,10.53878,0,0,0-6.5873-2.29558,10.18085,10.18085,0,1,0,0,20.36074,10.755,10.755,0,0,0,6.5873-2.29558L91.1904,106.547ZM63.14448,91.77548a10.18085,10.18085,0,1,0,10.28018,10.18037A10.18026,10.18026,0,0,0,63.14448,91.77548m0,3.49327a6.68786,6.68786,0,1,1-6.5873,6.6871,6.603,6.603,0,0,1,6.5873-6.6871"/></svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,69 @@
|
|||
---
|
||||
title: OpenAI Case Study
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/openAI/banner1.jpg
|
||||
heading_title_logo: /images/openAI_logo.png
|
||||
subheading: >
|
||||
Launching and Scaling Up Experiments, Made Simple
|
||||
case_study_details:
|
||||
- Company: OpenAI
|
||||
- Location: San Francisco, California
|
||||
- Industry: Artificial Intelligence Research
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>An artificial intelligence research lab, OpenAI needed infrastructure for deep learning that would allow experiments to be run either in the cloud or in its own data center, and to easily scale. Portability, speed, and cost were the main drivers.</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>OpenAI began running Kubernetes on top of AWS in 2016, and in early 2017 migrated to Azure. OpenAI runs key experiments in fields including robotics and gaming both in Azure and in its own data centers, depending on which cluster has free capacity. "We use Kubernetes mainly as a batch scheduling system and rely on our <a href="https://github.com/openai/kubernetes-ec2-autoscaler">autoscaler</a> to dynamically scale up and down our cluster," says Christopher Berner, Head of Infrastructure. "This lets us significantly reduce costs for idle nodes, while still providing low latency and rapid iteration."</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>The company has benefited from greater portability: "Because Kubernetes provides a consistent API, we can move our research experiments very easily between clusters," says Berner. Being able to use its own data centers when appropriate is "lowering costs and providing us access to hardware that we wouldn't necessarily have access to in the cloud," he adds. "As long as the utilization is high, the costs are much lower there." Launching experiments also takes far less time: "One of our researchers who is working on a new distributed training system has been able to get his experiment running in two or three days. In a week or two he scaled it out to hundreds of GPUs. Previously, that would have easily been a couple of months of work."</p>
|
||||
|
||||
{{< case-studies/quote >}}
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/v4N3Krzb8Eg" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
<br>
|
||||
Check out "Building the Infrastructure that Powers the Future of AI" presented by Vicki Cheung, Member of Technical Staff & Jonas Schneider, Member of Technical Staff at OpenAI from KubeCon/CloudNativeCon Europe 2017.
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
From experiments in robotics to old-school video game play research, OpenAI's work in artificial intelligence technology is meant to be shared.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>With a mission to ensure powerful AI systems are safe, OpenAI cares deeply about open source—both benefiting from it and contributing safety technology into it. "The research that we do, we want to spread it as widely as possible so everyone can benefit," says OpenAI's Head of Infrastructure Christopher Berner. The lab's philosophy—as well as its particular needs—lent itself to embracing an open source, cloud native strategy for its deep learning infrastructure.</p>
|
||||
|
||||
<p>OpenAI started running Kubernetes on top of AWS in 2016, and a year later, migrated the Kubernetes clusters to Azure. "We probably use Kubernetes differently from a lot of people," says Berner. "We use it for batch scheduling and as a workload manager for the cluster. It's a way of coordinating a large number of containers that are all connected together. We rely on our <a href="https://github.com/openai/kubernetes-ec2-autoscaler">autoscaler</a> to dynamically scale up and down our cluster. This lets us significantly reduce costs for idle nodes, while still providing low latency and rapid iteration."</p>
|
||||
|
||||
<p>In the past year, Berner has overseen the launch of several Kubernetes clusters in OpenAI's own data centers. "We run them in a hybrid model where the control planes—the Kubernetes API servers, <a href="https://github.com/coreos/etcd">etcd</a> and everything—are all in Azure, and then all of the Kubernetes nodes are in our own data center," says Berner. "The cloud is really convenient for managing etcd and all of the masters, and having backups and spinning up new nodes if anything breaks. This model allows us to take advantage of lower costs and have the availability of more specialized hardware in our own data center."</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/openAI/banner3.jpg" >}}
|
||||
OpenAI's experiments take advantage of Kubernetes' benefits, including portability. "Because Kubernetes provides a consistent API, we can move our research experiments very easily between clusters..."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Different teams at OpenAI currently run a couple dozen projects. While the largest-scale workloads manage bare cloud VMs directly, most of OpenAI's experiments take advantage of Kubernetes' benefits, including portability. "Because Kubernetes provides a consistent API, we can move our research experiments very easily between clusters," says Berner. The on-prem clusters are generally "used for workloads where you need lots of GPUs, something like training an ImageNet model. Anything that's CPU heavy, that's run in the cloud. But we also have a number of teams that run their experiments both in Azure and in our own data centers, just depending on which cluster has free capacity, and that's hugely valuable."</p>
|
||||
|
||||
<p>Berner has made the Kubernetes clusters available to all OpenAI teams to use if it's a good fit. "I've worked a lot with our games team, which at the moment is doing research on classic console games," he says. "They had been running a bunch of their experiments on our dev servers, and they had been trying out Google cloud, managing their own VMs. We got them to try out our first on-prem Kubernetes cluster, and that was really successful. They've now moved over completely to it, and it has allowed them to scale up their experiments by 10x, and do that without needing to invest significant engineering time to figure out how to manage more machines. A lot of people are now following the same path."</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/openAI/banner4.jpg" >}}
|
||||
"One of our researchers who is working on a new distributed training system has been able to get his experiment running in two or three days," says Berner. "In a week or two he scaled it out to hundreds of GPUs. Previously, that would have easily been a couple of months of work."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>That path has been simplified by frameworks and tools that two of OpenAI's teams have developed to handle interaction with Kubernetes. "You can just write some Python code, fill out a bit of configuration with exactly how many machines you need and which types, and then it will prepare all of those specifications and send it to the Kube cluster so that it gets launched there," says Berner. "And it also provides a bit of extra monitoring and better tooling that's designed specifically for these machine learning projects."</p>
|
||||
|
||||
<p>The impact that Kubernetes has had at OpenAI is impressive. With Kubernetes, the frameworks and tooling, including the autoscaler, in place, launching experiments takes far less time. "One of our researchers who is working on a new distributed training system has been able to get his experiment running in two or three days," says Berner. "In a week or two he scaled it out to hundreds of GPUs. Previously, that would have easily been a couple of months of work."</p>
|
||||
|
||||
<p>Plus, the flexibility they now have to use their on-prem Kubernetes cluster when appropriate is "lowering costs and providing us access to hardware that we wouldn't necessarily have access to in the cloud," he says. "As long as the utilization is high, the costs are much lower in our data center. To an extent, you can also customize your hardware to exactly what you need."</p>
|
||||
|
||||
{{< case-studies/quote author="CHRISTOPHER BERNER, HEAD OF INFRASTRUCTURE FOR OPENAI" >}}
|
||||
"Research teams can now take advantage of the frameworks we've built on top of Kubernetes, which make it easy to launch experiments, scale them by 10x or 50x, and take little effort to manage."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>OpenAI is also benefiting from other technologies in the CNCF cloud-native ecosystem. <a href="https://grpc.io/">gRPC</a> is used by many of its systems for communications between different services, and <a href="https://prometheus.io/">Prometheus</a> is in place "as a debugging tool if things go wrong," says Berner. "We actually haven't had any real problems in our Kubernetes clusters recently, so I don't think anyone has looked at our Prometheus monitoring in a while. If something breaks, it will be there."</p>
|
||||
|
||||
<p>One of the things Berner continues to focus on is Kubernetes' ability to scale, which is essential to deep learning experiments. OpenAI has been able to push one of its Kubernetes clusters on Azure up to more than <a href="https://blog.openai.com/scaling-kubernetes-to-2500-nodes/">2,500 nodes</a>. "I think we'll probably hit the 5,000-machine number that Kubernetes has been tested at before too long," says Berner, adding, "We're definitely <a href="https://jobs.lever.co/openai">hiring</a> if you're excited about working on these things!"</p>
|
After Width: | Height: | Size: 7.0 KiB |
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
title: Pear Deck Case Study
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/peardeck/banner3.jpg
|
||||
heading_title_logo: /images/peardeck_logo.png
|
||||
subheading: >
|
||||
Infrastructure for a Growing EdTech Startup
|
||||
case_study_details:
|
||||
- Company: Pear Deck
|
||||
- Location: Iowa City, Iowa
|
||||
- Industry: Educational Software
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>The three-year-old startup provides a web app for teachers to interact with their students in the classroom. The JavaScript app was built on Google's web app development platform <a href="https://firebase.google.com/">Firebase</a>, using <a href="https://www.heroku.com/">Heroku</a>. As the user base steadily grew, so did the development team. "We outgrew Heroku when we started wanting to have multiple services, and the deploying story got pretty horrendous. We were frustrated that we couldn't have the developers quickly stage a version," says CEO Riley Eynon-Lynch. "Tracing and monitoring became basically impossible." On top of that, many of Pear Deck's customers are behind government firewalls and connect through Firebase, not Pear Deck's servers, making troubleshooting even more difficult.</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>In 2016, the company began moving their code from Heroku to containers running on <a href="https://cloud.google.com/kubernetes-engine/">Google Kubernetes Engine</a>, orchestrated by <a href="http://kubernetes.io/">Kubernetes</a> and monitored with <a href="https://prometheus.io/">Prometheus</a>.</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>The new cloud native stack immediately improved the development workflow, speeding up deployments. Prometheus gave Pear Deck "a lot of confidence, knowing that people are still logging into the app and using it all the time," says Eynon-Lynch. "The biggest impact is being able to work as a team on the configuration in git in a pull request, and the biggest confidence comes from the solidity of the abstractions and the trust that we have in Kubernetes actually making our yaml files a reality."</p>
|
||||
|
||||
{{< case-studies/quote author="RILEY EYNON-LYNCH, CEO OF PEAR DECK" >}}
|
||||
"We didn't even realize how stressed out we were about our lack of insight into what was happening with the app. I'm really excited and have more and more confidence in the actual state of our application for our actual users, and not just what the CPU graphs are saying, because of Prometheus and Kubernetes."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
With the speed befitting a startup, Pear Deck delivered its first prototype to customers within three months of incorporating.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>As a former high school math teacher, CEO Riley Eynon-Lynch felt an urgency to provide a tech solution to classes where instructors struggle to interact with every student in a short amount of time. "Pear Deck is an app that students can use to interact with the teacher all at once," he says. "When the teacher asks a question, instead of just the kid at the front of the room answering again, everybody can answer every single question. It's a huge fundamental shift in the messaging to the students about how much we care about them and how much they are a part of the classroom."</p>
|
||||
|
||||
<p>Eynon-Lynch and his partners quickly built a JavaScript web app on Google's web app development platform <a href="https://firebase.google.com/">Firebase</a>, and launched the minimum viable product [MVP] on <a href="https://www.heroku.com/">Heroku</a> "because it was fast and easy," he says. "We made everything as easy as we could."</p>
|
||||
|
||||
<p>But once it launched, the user base began growing steadily at a rate of 30 percent a month. "Our Heroku bill was getting totally insane," Eynon-Lynch says. But even more crucially, as the company hired more developers to keep pace, "we outgrew Heroku. We wanted to have multiple services and the deploying story got pretty horrendous. We were frustrated that we couldn't have the developers quickly stage a version. Tracing and monitoring became basically impossible."</p>
|
||||
|
||||
<p>On top of that, many of Pear Deck's customers are behind government firewalls and connect through Firebase, not Pear Deck's servers, making troubleshooting even more difficult.</p>
|
||||
|
||||
<p>The team began looking around for another solution, and finally decided in early 2016 to start moving the app from Heroku to containers running on <a href="https://cloud.google.com/kubernetes-engine/">Google Kubernetes Engine</a>, orchestrated by <a href="http://kubernetes.io/">Kubernetes</a> and monitored with <a href="https://prometheus.io/">Prometheus</a>.</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/peardeck/banner1.jpg" >}}
|
||||
"When it became clear that Google Kubernetes Engine was going to have a lot of support from Google and be a fully-managed Kubernetes platform, it seemed very obvious to us that was the way to go," says Eynon-Lynch.
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>They had considered other options like Google's App Engine (which they were already using for one service) and Amazon's <a href="https://aws.amazon.com/ec2/">Elastic Compute Cloud</a> (EC2), while experimenting with running one small service that wasn't accessible to the Internet in Kubernetes. "When it became clear that Google Kubernetes Engine was going to have a lot of support from Google and be a fully-managed Kubernetes platform, it seemed very obvious to us that was the way to go," says Eynon-Lynch. "We didn't really consider Terraform and the other competitors because the abstractions offered by Kubernetes just jumped off the page to us."</p>
|
||||
|
||||
<p>Once the team started porting its Heroku apps into Kubernetes, which was "super easy," he says, the impact was immediate. "Before, to make a new version of the app meant going to Heroku and reconfiguring 10 new services, so basically no one was willing to do it, and we never staged things," he says. "Now we can deploy our exact same configuration in lots of different clusters in 30 seconds. We have a full set up that's always running, and then any of our developers or designers can stage new versions with one command, including their recent changes. We stage all the time now, and everyone stopped talking about how cool it is because it's become invisible how great it is."</p>
|
||||
|
||||
<p>Along with Kubernetes came Prometheus. "Until pretty recently we didn't have any kind of visibility into aggregate server metrics or performance," says Eynon-Lynch. The team had tried to use Google Kubernetes Engine's <a href="https://cloud.google.com/stackdriver/">Stackdriver</a> monitoring, but had problems making it work, and considered <a href="https://newrelic.com/">New Relic</a>. When they started looking at Prometheus in the fall of 2016, "the fit between the abstractions in Prometheus and the way we think about how our system works, was so clear and obvious," he says.</p>
|
||||
|
||||
<p>The integration with Kubernetes made set-up easy. Once Helm installed Prometheus, "We started getting a graph of the health of all our Kubernetes nodes and pods immediately. I think we were pretty hooked at that point," Eynon-Lynch says. "Then we got our own custom instrumentation working in 15 minutes, and had an actively updated count of requests that we could do, rate on and get a sense of how many users are connected at a given point. And then it was another hour before we had alarms automatically showing up in our Slack channel. All that was in one afternoon. And it was an afternoon of gasping with delight, basically!"</p>
|
||||
|
||||
{{< case-studies/quote image="/images/case-studies/peardeck/banner2.jpg" >}}
|
||||
"We started getting a graph of the health of all our Kubernetes nodes and pods immediately. I think we were pretty hooked at that point," Eynon-Lynch says. "Then we got our own custom instrumentation working in 15 minutes, and had an actively updated count of requests that we could do, rate on and get a sense of how many users are connected at a given point. And then it was another hour before we had alarms automatically showing up in our Slack channel. All that was in one afternoon. And it was an afternoon of gasping with delight, basically!"
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>With Pear Deck's specific challenges—traffic through Firebase as well as government firewalls—Prometheus was a game-changer. "We didn't even realize how stressed out we were about our lack of insight into what was happening with the app," Eynon-Lynch says. Before, when a customer would report that the app wasn't working, the team had to manually investigate the problem without knowing whether customers were affected all over the world, or whether Firebase was down, and where.</p>
|
||||
|
||||
<p>To help solve that problem, the team wrote a script that pings Firebase from several different geographical locations, and then reports the responses to Prometheus in a histogram. "A huge impact that Prometheus had on us was just an amazing sigh of relief, of feeling like we knew what was happening," he says. "It took 45 minutes to implement [the Firebase alarm] because we knew that we had this trustworthy metrics platform in Prometheus. We weren't going to have to figure out, 'Where do we send these metrics? How do we aggregate the metrics? How do we understand them?'"</p>
|
||||
|
||||
<p>Plus, Prometheus has allowed Pear Deck to build alarms for business goals. One measures the rate of successful app loads and goes off if the day's loads are less than 90 percent of the loads from seven days before. "We run a JavaScript app behind ridiculous firewalls and all kinds of crazy browser extensions messing with it—Chrome will push a feature that breaks some CSS that we're using," Eynon-Lynch says. "So that gives us a lot of confidence, and we at least know that people are still logging into the app and using it all the time."</p>
|
||||
|
||||
<p>Now, when a customer complains, and none of the alarms have gone off, the team can feel confident that it's not a widespread problem. "Just to be sure, we can go and double check the graphs and say, 'Yep, there's currently 10,000 people connected to that Firebase node. It's definitely working. Let's investigate your network settings, customer,'" he says. "And we can pass that back off to our support reps instead of the whole development team freaking out that Firebase is down."</p>
|
||||
|
||||
<p>Pear Deck is also giving back to the community, building and open-sourcing a <a href="https://github.com/peardeck/prometheus-user-metrics">metrics aggregator</a> that enables end-user monitoring in Prometheus. "We can measure, for example, the time to interactive-dom on the web clients," he says. "The users all report that to our aggregator, then the aggregator reports to Prometheus. So we can set an alarm for some client side errors."</p>
|
||||
|
||||
<p>Most of Pear Deck's services have now been moved onto Kubernetes. And all of the team's new code is going on Kubernetes. "Kubernetes lets us experiment with service configurations and stage them on a staging cluster all at once, and test different scenarios and talk about them as a development team looking at code, not just talking about the steps we would eventually take as humans," says Eynon-Lynch.</p>
|
||||
|
||||
{{< case-studies/quote >}}
|
||||
"A huge impact that Prometheus had on us was just an amazing sigh of relief, of feeling like we knew what was happening. It took 45 minutes to implement [the Firebase alarm] because we knew that we had this trustworthy metrics platform in Prometheus...in terms of the cloud, Kubernetes and Prometheus have so much to offer," he says.
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Looking ahead, the team is planning to explore autoscaling on Kubernetes. With users all over the world but mostly in the United States, there are peaks and valleys in the traffic. One service that's still on App Engine can get as many as 10,000 requests a second during the day but far less at night. "We pay for the same servers at night, so I understand there's autoscaling that we can be taking advantage of," he says. "Implementing it is a big worry, exposing the rest of our Kubernetes cluster to us and maybe messing that up. But it's definitely our intention to move everything over, because now none of the developers want to work on that app anymore because it's such a pain to deploy it."</p>
|
||||
|
||||
<p>They're also eager to explore the work that Kubernetes is doing with stateful sets. "Right now all of the services we run in Kubernetes are stateless, and Google basically runs our databases for us and manages backups," Eynon-Lynch says. "But we're interested in building our own web-socket solution that doesn't have to be super stateful but will have maybe an hour's worth of state on it."</p>
|
||||
|
||||
<p>That project will also involve Prometheus, for a dark launch of web socket connections. "We don't know how reliable web socket connections behind all these horrible firewalls will be to our servers," he says. "We don't know what work Firebase has done to make them more reliable. So I'm really looking forward to trying to get persistent connections with web sockets to our clients and have optional tools to understand if it's working. That's our next new adventure, into stateful servers."</p>
|
||||
|
||||
<p>As for Prometheus, Eynon-Lynch thinks the company has only gotten started. "We haven't instrumented all our important features, especially those that depend on third parties," he says. "We have to wait for those third parties to tell us they're down, which sometimes they don't do for a long time. So I'm really excited and have more and more confidence in the actual state of our application for our actual users, and not just what the CPU graphs are saying, because of Prometheus and Kubernetes."</p>
|
||||
|
||||
<p>For a spry startup that's continuing to grow rapidly—and yes, they're <a href="https://www.peardeck.com/careers/">hiring</a>!—Pear Deck is notably satisfied with how its infrastructure has evolved in the cloud native ecosystem. "Usually I have some angsty thing where I want to get to the new, better technology," says Eynon-Lynch, "but in terms of the cloud, Kubernetes and Prometheus have so much to offer."</p>
|
After Width: | Height: | Size: 9.4 KiB |
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
title: Pearson Case Study
|
||||
linkTitle: Pearson
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
featured: false
|
||||
quote: >
|
||||
We're already seeing tremendous benefits with Kubernetes—improved engineering productivity, faster delivery of applications and a simplified infrastructure. But this is just the beginning. Kubernetes will help transform the way that educational content is delivered online.
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/pearson/banner1.jpg
|
||||
heading_title_logo: /images/pearson_logo.png
|
||||
subheading: >
|
||||
Reinventing the World's Largest Education Company With Kubernetes
|
||||
case_study_details:
|
||||
- Company: Pearson
|
||||
- Location: Global
|
||||
- Industry: Education
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>A global education company serving 75 million learners, Pearson set a goal to more than double that number, to 200 million, by 2025. A key part of this growth is in digital learning experiences, and Pearson was having difficulty in scaling and adapting to its growing online audience. They needed an infrastructure platform that would be able to scale quickly and deliver products to market faster.</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>"To transform our infrastructure, we had to think beyond simply enabling automated provisioning," says Chris Jackson, Director for Cloud Platforms & SRE at Pearson. "We realized we had to build a platform that would allow Pearson developers to build, manage and deploy applications in a completely different way." The team chose Docker container technology and Kubernetes orchestration "because of its flexibility, ease of management and the way it would improve our engineers' productivity."</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>With the platform, there has been substantial improvements in productivity and speed of delivery. "In some cases, we've gone from nine months to provision physical assets in a data center to just a few minutes to provision and get a new idea in front of a customer," says John Shirley, Lead Site Reliability Engineer for the Cloud Platform Team. Jackson estimates they've achieved 15-20% developer productivity savings. Before, outages were an issue during their busiest time of year, the back-to-school period. Now, there's high confidence in their ability to meet aggressive customer SLAs.</p>
|
||||
|
||||
{{< case-studies/quote author="Chris Jackson, Director for Cloud Platforms & SRE at Pearson" >}}
|
||||
"We're already seeing tremendous benefits with Kubernetes—improved engineering productivity, faster delivery of applications and a simplified infrastructure. But this is just the beginning. Kubernetes will help transform the way that educational content is delivered online."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>In 2015, Pearson was already serving 75 million learners as the world's largest education company, offering curriculum and assessment tools for Pre-K through college and beyond. Understanding that innovating the digital education experience was the key to the future of all forms of education, the company set out to increase its reach to 200 million people by 2025.</p>
|
||||
|
||||
<p>That goal would require a transformation of its existing infrastructure, which was in data centers. In some cases, it took nine months to provision physical assets. In order to adapt to the demands of its growing online audience, Pearson needed an infrastructure platform that would be able to scale quickly and deliver business-critical products to market faster. "We had to think beyond simply enabling automated provisioning," says Chris Jackson, Director for Cloud Platforms & SRE at Pearson. "We realized we had to build a platform that would allow Pearson developers to build, manage and deploy applications in a completely different way."</p>
|
||||
|
||||
<p>With 400 development groups and diverse brands with varying business and technical needs, Pearson embraced Docker container technology so that each brand could experiment with building new types of content using their preferred technologies, and then deliver it using containers. Jackson chose Kubernetes orchestration "because of its flexibility, ease of management and the way it would improve our engineers' productivity," he says.</p>
|
||||
|
||||
<p>The team adopted Kubernetes when it was still version 1.2 and are still going strong now on 1.7; they use Terraform and Ansible to deploy it on to basic AWS primitives. "We were trying to understand how we can create value for Pearson from this technology," says Ben Somogyi, Principal Architect for the Cloud Platforms. "It turned out that Kubernetes' benefits are huge. We're trying to help our applications development teams that use our platform go faster, so we filled that gap with a CI/CD pipeline that builds their images for them, standardizes them, patches everything up, allows them to deploy their different environments onto the cluster, and obfuscating the details of how difficult the work underneath the covers is."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/pearson/banner3.jpg"
|
||||
author="Chris Jackson, Director for Cloud Platforms & SRE at Pearson"
|
||||
>}}
|
||||
"Your internal customers need to feel like they are choosing the very best option for them. We are experiencing this first hand in the growth of adoption. We are seeing triple-digit, year-on-year growth of the service."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>That work resulted in two tools for building and deploying applications in the cluster that Pearson has open sourced. "We're an education company, so we want to share what we can," says Somogyi.</p>
|
||||
|
||||
<p>Now that development teams no longer have to worry about infrastructure, there have been substantial improvements in productivity and speed of delivery. "In some cases, we've gone from nine months to provision physical assets in a data center to just a few minutes to provision and to get a new idea in front of a customer," says John Shirley, Lead Site Reliability Engineer for the Cloud Platform Team.</p>
|
||||
|
||||
<p>According to Jackson, the Cloud Platforms team can "provision a new proof-of-concept environment for a development team in minutes, and then they can take that to production as quickly as they are able to. This is the value proposition of all major technology services, and we had to compete like one to become our developers' preferred choice. Just because you work for the same company, you do not have the right to force people into a mediocre service. Your internal customers need to feel like they are choosing the very best option for them. We are experiencing this first hand in the growth of adoption. We are seeing triple-digit, year-on-year growth of the service."</p>
|
||||
|
||||
<p>Jackson estimates they've achieved a 15-20% boost in productivity for developer teams who adopt the platform. They also see a reduction in the number of customer-impacting incidents. Plus, says Jackson, "Teams who were previously limited to 1-2 releases per academic year can now ship code multiple times per day!"</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/pearson/banner4.jpg"
|
||||
author="Chris Jackson, Director for Cloud Platforms & SRE at Pearson"
|
||||
>}}
|
||||
"Teams who were previously limited to 1-2 releases per academic year can now ship code multiple times per day!"
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Availability has also been positively impacted. The back-to-school period is the company's busiest time of year, and "you have to keep applications up," says Somogyi. Before, this was a pain point for the legacy infrastructure. Now, for the applications that have been migrated to the Kubernetes platform, "We have 100% uptime. We're not worried about 9s. There aren't any. It's 100%, which is pretty astonishing for us, compared to some of the existing platforms that have legacy challenges," says Shirley.</p>
|
||||
|
||||
<p>"You can't even begin to put a price on how much that saves the company," Jackson explains. "A reduction in the number of support cases takes load out of our operations. The customer sentiment of having a reliable product drives customer retention and growth. It frees us to think about investing more into our digital transformation and taking a better quality of education to a global scale."</p>
|
||||
|
||||
<p>The platform itself is also being broken down, "so we can quickly release smaller pieces of the platform, like upgrading our Kubernetes or all the different modules that make up our platform," says Somogyi. "One of the big focuses in 2018 is this scheme of delivery to update the platform itself."</p>
|
||||
|
||||
<p>Guided by Pearson's overarching goal of getting to 200 million users, the team has run internal tests of the platform's scalability. "We had a challenge: 28 million requests within a 10 minute period," says Shirley. "And we demonstrated that we can hit that, with an acceptable latency. We saw that we could actually get that pretty readily, and we scaled up in just a few seconds, using open source tools entirely. Shout out to <a href="https://locust.io/">Locust</a>for that one. So that's amazing."</p>
|
||||
|
||||
{{< case-studies/quote author="Benjamin Somogyi, Principal Systems Architect at Pearson" >}}
|
||||
"We have 100% uptime. We're not worried about 9s. There aren't any. It's 100%, which is pretty astonishing for us, compared to some of the existing platforms that have legacy challenges. You can't even begin to put a price on how much that saves the company."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>In just two years, "We're already seeing tremendous benefits with Kubernetes—improved engineering productivity, faster delivery of applications and a simplified infrastructure," says Jackson. "But this is just the beginning. Kubernetes will help transform the way that educational content is delivered online."</p>
|
||||
|
||||
<p>So far, about 15 production products are running on the new platform, including Pearson's new flagship digital education service, the Global Learning Platform. The Cloud Platform team continues to prepare, onboard and support customers that are a good fit for the platform. Some existing products will be refactored into 12-factor apps, while others are being developed so that they can live on the platform from the get-go. "There are challenges with bringing in new customers of course, because we have to help them to see a different way of developing, a different way of building," says Shirley.</p>
|
||||
|
||||
<p>But, he adds, "It is our corporate motto: Always Learning. We encourage those teams that haven't started a cloud native journey, to see the future of technology, to learn, to explore. It will pique your interest. Keep learning."</p>
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 500 500" style="enable-background:new 0 0 500 500;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#3D3935;}
|
||||
.st1{fill:#007FA3;}
|
||||
.st2{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g id="XMLID_15_">
|
||||
<path id="XMLID_19_" class="st0" d="M230.5,374.3c-0.2-0.5-0.8-0.8-1.3-0.7l-0.2,0c-1.6,0.3-2.8,0.3-3.7-0.3
|
||||
c-1.2-0.8-1.8-2.7-1.8-5.7v-27.3c0-10.7-6.4-16.1-18.9-16.1c-11.2,0-20.1,5.3-20.1,12.1c0,3.5,2.1,6,5.3,6.4c2.1,0.2,4-0.7,5.4-2.2
|
||||
c2.8-2.9,2.4-6.4-0.9-10.1c2-2.1,5.5-3.3,9.5-3.3c6.5,0,9.3,3.9,9.3,12.9v6.9c-1.5,0.5-3,0.9-5.6,1.5c-5.3,1.2-12.5,2.9-18,5.9
|
||||
c-4.5,2.5-6.8,6.4-6.8,11.6c0,5.7,3.7,12.3,14.3,12.3c5.9,0,11.2-2.8,16.6-8.8c0.5,6.2,2.8,8.6,8.6,8.6c2.8,0,5-0.6,7.6-1.9
|
||||
C230.5,375.9,230.8,375.1,230.5,374.3z M213.1,366c-1.3,1.8-5.5,7.1-10.7,7.1c-7,0-8.5-4.9-8.5-9.1c0-6.8,5.2-10,19.2-13.4V366z"/>
|
||||
<path id="XMLID_22_" class="st0" d="M348.1,378.6c-14.9,0-26.2-11.7-26.2-27.2c0-15.2,11.7-27.5,26.2-27.5
|
||||
c14.6,0,26.1,11.9,26.1,27.1C374.2,368,360.6,378.6,348.1,378.6z M347.5,326.8c-6.4,0-13.8,2.8-13.8,24.4
|
||||
c0,16.5,4.9,24.5,14.9,24.5c9.6,0,13.8-7.6,13.8-24.5C362.4,334.8,357.5,326.8,347.5,326.8z"/>
|
||||
<path id="XMLID_25_" class="st0" d="M117.4,324.8c0,12.6-3.1,19.5-19,19.5H90v-38h8.7C115.2,306.3,117.4,315.7,117.4,324.8z
|
||||
M90,367.6v-19.8h7.6c11.4,0,20-2.4,25.7-7.1c5.9-5,7.2-11.2,7.2-15.6c0-18.1-17.4-21.9-32.1-21.9l0.1,0H68.8
|
||||
c-0.7,0-1.2,0.5-1.2,1.2v0.1l0,0c0,0.6,0.4,1.2,1,1.4c2.6,1,9.8-0.4,9.8,7.3l0,54.4c0,4-1.8,6.8-9.8,7.5c-0.6,0.1-1.1,0.6-1.1,1.2
|
||||
v0.2c0,0.7,0.5,1.2,1.2,1.2h31.7c0.7,0,1.2-0.5,1.2-1.2v-0.2c0-0.6-0.5-1.2-1.1-1.2C91.8,374.4,90,371.7,90,367.6l0-19.7"/>
|
||||
<path id="XMLID_28_" class="st0" d="M154.5,323.8c-13.8,0-25,12.5-25,27.9c0,15.5,10.5,26.8,25,26.8c12.2,0,18.1-7.3,21.5-12.8
|
||||
c0.3-0.5,0.2-1.3-0.3-1.6l-0.2-0.1c-0.5-0.4-1.3-0.3-1.7,0.2c-4.5,5.6-8.4,8.9-15.2,8.9c-8.6,0-17.7-5.9-17.7-22.5v-0.1
|
||||
c0-0.7,0-1.7,0-2.7h35c0.1,0,0.2-0.1,0.2-0.2l0-0.3c0.5-6.8-1.4-12.9-5.4-17.2C167,326.1,161.3,323.8,154.5,323.8z M141.2,344.4
|
||||
c1.2-11.3,5.6-17.5,12.5-17.5c3.5,0,6.1,1,7.9,2.9c2.5,2.7,3.6,7.6,3.1,14.6L141.2,344.4z"/>
|
||||
<path id="XMLID_29_" class="st0" d="M299.8,345L299.8,345c-9.6-2.7-13.3-5.4-13.3-9.7c0-4.9,3.9-8.4,9.2-8.4c6.3,0,9,3,15.6,14.1
|
||||
l0.1,0.1l0.2,0.1h0.9c0.7,0,1.2-0.5,1.2-1.2v-16c0-0.1-0.1-0.2-0.2-0.2h-1.2c-0.4,0-0.7,0.2-0.9,0.4l-2.1,2.6c-2.7-1.5-7-3-11.4-3
|
||||
c-11,0-18.7,6.8-18.7,16.5c0,9.1,6.1,12.6,16.5,15.4c10.2,2.8,13.8,5.7,13.8,11.1c0,6-5.8,8.7-9.9,8.7c-7.7,0-10.9-2.8-18.2-16
|
||||
l-0.1-0.2l-0.2-0.1h-0.9c-0.7,0-1.2,0.5-1.2,1.2v17.9c0,0.1,0.1,0.2,0.2,0.2h1.2c0.3,0,0.6-0.1,0.9-0.4l3.4-3.4
|
||||
c3.9,2.4,9.8,3.7,13.6,3.7c5.7,0,10.4-1.8,13.6-5.2c2.8-3.1,4.4-7.4,4.4-12.2C316.2,352.7,311.8,348.4,299.8,345z"/>
|
||||
<path id="XMLID_30_" class="st0" d="M241.8,371.3c0,2.8-0.7,3.7-5.1,3.9c-0.6,0-1.1,0.6-1.1,1.2c0,0.7,0.5,1.2,1.2,1.2h21.7
|
||||
c0.7,0,1.2-0.5,1.2-1.2c0-0.7-0.5-1.2-1.2-1.2c-5-0.2-6.3-1.1-6.3-4l0-31.8c3.6-5.9,6.1-9,10.5-10c-0.2,0.7-0.3,1.7-0.3,2.4
|
||||
c0,3.9,2.7,6.6,6.6,6.6c3.8,0,6.4-2.7,6.4-6.6c0-3.7-2.3-7.9-8.7-7.9c-5.3,0-10.3,3-14.6,10.3v-8.2c0-0.8-0.7-1.5-1.5-1.5
|
||||
l-13.7,0.4c-0.7,0-1.2,0.6-1.2,1.2v0.2c0,0.6,0.4,1.1,1,1.2c4.6,0.6,5.2,2.8,5.2,5.1L241.8,371.3z"/>
|
||||
<path id="XMLID_31_" class="st0" d="M391.8,324.5c0.3,0,0.6,0.1,0.8,0.3c0.2,0.2,0.4,0.5,0.4,0.9l0,9.1c0,0,4.5-10.6,18.9-10.6h0.1
|
||||
c9,0,14.2,5.7,14.2,15.8v31.3c0,2.8,0.7,3.7,5.1,3.9c0.6,0,1.1,0.6,1.1,1.2c0,0.7-0.5,1.2-1.2,1.2h-19.5c-0.7,0-1.2-0.5-1.2-1.2
|
||||
c0-0.7,0.5-1.2,1.1-1.2c3.5-0.3,4.1-1.2,4.1-3.9V343c0-9.3-2.7-13-9.5-13c-4.6,0-8.4,4-10.7,7.4c0,0-1.2,1.5-2.5,4.3l0.1,29.5
|
||||
c0,2.7,0.6,3.6,4,3.9c0.6,0.1,1.1,0.6,1.1,1.2c0,0.7-0.5,1.2-1.2,1.2h-19.4c-0.7,0-1.2-0.5-1.2-1.2c0-0.6,0.5-1.2,1.1-1.2
|
||||
c4.4-0.3,5.1-1.2,5.1-3.9v-38.7c0-2.3-0.6-4.4-5.2-5.1c-0.6-0.1-1-0.6-1-1.2v-0.2c0-0.7,0.5-1.2,1.2-1.2L391.8,324.5z"/>
|
||||
<path id="XMLID_32_" class="st1" d="M291.2,131.9c34.3,19.6,42.3,63.4,18.4,107.8c-21,39-66.9,55.7-101,35.8
|
||||
c-34.2-19.9-40.8-75.3-26.2-107.2C203.8,122,253.2,110.2,291.2,131.9"/>
|
||||
<path id="XMLID_35_" class="st2" d="M290.4,165.5c6.7,7.2,8.8,18.1,7.6,27c-1.3,10.2-7.5,19.6-17.8,25.9c-8.1,5-18.8,6.9-29.4,7
|
||||
c-0.1,1.7-0.4,7.4-0.6,8.3c-0.2,1.3-0.7,2.1-1.3,2.8c-1.1,1.5-3.1,2.4-5,3c-1.5,0.4-3.1,0.6-4.2,0.6c-0.2,0-0.4,0-0.5,0
|
||||
c-1.1-0.1-2.4-0.7-3.2-1.5c-0.8-0.9-1.2-2-1.3-3.2l-0.1-1.1c-0.2-1-1.4-50.5-1.2-49.6c0.2-5.9,9.8-7,14.9-5.9
|
||||
c5.2,1,3.9,7.4,3.7,15.2c0,0-0.2,10.2-0.7,21c6.6-0.3,11.9-2.1,16.8-4.6c10-4.9,15.2-12.5,15.2-23.6S272.6,163,252.6,163
|
||||
c-20,0-28.6,5-38.3,13.1c-2.2,1.8-3.9,3.6-5.5,4.8c-1.6,1.2-5.8,1.4-7-1.4c-1.4-3.4,1.2-7.2,2.7-9c2.4-2.9,8.2-8.6,14.6-12
|
||||
c7.4-3.8,16.4-8,28.9-8.3C259.4,149.9,277.4,150.8,290.4,165.5 M247,247.5c-1-0.8-2.2-1.4-3.4-1.6c-0.4-0.1-0.8-0.1-1.2-0.1
|
||||
c-2.2,0-4.4,1.2-5.9,3.3c-1.2,1.7-1.7,3.8-1.4,5.8c0.2,1.3,0.7,2.4,1.4,3.2c0.8,0.9,2,1.6,3.5,2.1c0.9,0.2,1.7,0.4,2.6,0.4h0
|
||||
c1.9,0,3.7-0.6,5-1.7c1.6-1.3,2.4-3.1,2.4-5.1C250,251.3,248.9,249,247,247.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.0 KiB |
|
@ -0,0 +1,79 @@
|
|||
---
|
||||
title: pingcap Case Study
|
||||
linkTitle: pingcap
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
featured: false
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/pingcap/banner1.jpg
|
||||
heading_title_logo: /images/pingcap_logo.png
|
||||
subheading: >
|
||||
PingCAP Bets on Cloud Native for Its TiDB Database Platform
|
||||
case_study_details:
|
||||
- Company: PingCAP
|
||||
- Location: Beijing, China, and San Mateo, CA
|
||||
- Industry: Software
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>PingCAP is the company leading the development of the popular open source NewSQL database <a href="https://github.com/pingcap/tidb">TiDB</a>, which is MySQL-compatible, can handle hybrid transactional and analytical processing (HTAP) workloads, and has a cloud native architectural design. "Having a hybrid multi-cloud product is an important part of our global go-to-market strategy," says Kevin Xu, General Manager of Global Strategy and Operations. In order to achieve that, the team had to address two challenges: "how to deploy, run, and manage a distributed stateful application, such as a distributed database like TiDB, in a containerized world," Xu says, and "how to deliver an easy-to-use, consistent, and reliable experience for our customers when they use TiDB in the cloud, any cloud, whether that's one cloud provider or a combination of different cloud environments." Knowing that using a distributed system isn't easy, they began looking for the right orchestration layer to help reduce some of that complexity for end users.</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>The team started looking at Kubernetes for orchestration early on. "We knew Kubernetes had the promise of helping us solve our problems," says Xu. "We were just waiting for it to mature." In early 2018, PingCAP began integrating Kubernetes into its internal development as well as in its TiDB product. At that point, the team has already had experience using other cloud native technologies, having integrated both <a href="https://prometheus.io/">Prometheus</a> and <a href="https://grpc.io/">gRPC</a> as parts of the TiDB platform earlier on.</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>Xu says that PingCAP customers have had a "very positive" response so far to Kubernetes being the tool to deploy and manage TiDB. Prometheus, with <a href="https://grafana.com/">Grafana</a> as the dashboard, is installed by default when customers deploy TiDB, so that they can monitor performance and make any adjustments needed to reach their target before and while deploying TiDB in production. That monitoring layer "makes the evaluation process and communication much smoother," says Xu.</p>
|
||||
|
||||
<p>With the company's <a href="https://github.com/pingcap/tidb-operator">Kubernetes-based Operator implementation</a>, which is open sourced, customers are now able to deploy, run, manage, upgrade, and maintain their TiDB clusters in the cloud with no downtime, and reduced workload, burden and overhead. And internally, says Xu, "we've completely switched to Kubernetes for our own development and testing, including our data center infrastructure and <a href="https://thenewstack.io/chaos-tools-and-techniques-for-testing-the-tidb-distributed-newsql-database/">Schrodinger</a>, an automated testing platform for TiDB. With Kubernetes, our resource usage is greatly improved. Our developers can allocate and deploy clusters themselves, and the deploying process has gone from hours to minutes, so we can devote fewer people to manage IDC resources. The productivity improvement is about 15%, and as we gain more Kubernetes knowledge on the debugging and diagnosis front, the productivity should improve to more than 20%."</p>
|
||||
|
||||
{{< case-studies/quote author="KEVIN XU, GENERAL MANAGER OF GLOBAL STRATEGY AND OPERATIONS, PINGCAP" >}}
|
||||
"We knew Kubernetes had the promise of helping us solve our problems. We were just waiting for it to mature, so we can fold it into our own development and product roadmap."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
Since it was introduced in 2015, the open source NewSQL database TiDB has gained a following for its compatibility with MySQL, its ability to handle hybrid transactional and analytical processing (HTAP) workloads—and its cloud native architectural design.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>PingCAP, the company behind TiDB, designed the platform with cloud in mind from day one, says Kevin Xu, General Manager of Global Strategy and Operations, and "having a hybrid multi-cloud product is an important part of our global go-to-market strategy."</p>
|
||||
|
||||
<p>In order to achieve that, the team had to address two challenges: "how to deploy, run, and manage a distributed stateful application, such as a distributed database like TiDB, in a containerized world," Xu says, and "how to deliver an easy-to-use, consistent, and reliable experience for our customers when they use TiDB in the cloud, any cloud, whether that's one cloud provider or a combination of different cloud environments."</p>
|
||||
|
||||
<p>Knowing that using a distributed system isn't easy, the PingCAP team began looking for the right orchestration layer to help reduce some of that complexity for end users. Kubernetes had been on their radar for quite some time. "We knew Kubernetes had the promise of helping us solve our problems," says Xu. "We were just waiting for it to mature."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/pingcap/banner3.jpg"
|
||||
author="KEVIN XU, GENERAL MANAGER OF GLOBAL STRATEGY AND OPERATIONS, PINGCAP"
|
||||
>}}
|
||||
"With the governance process being so open, it's not hard to find out what's the latest development in the technology and community, or figure out who to reach out to if we have problems or issues."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>That time came in early 2018, when PingCAP began integrating Kubernetes into its internal development as well as in its TiDB product. "Having Kubernetes be part of the CNCF, as opposed to having only the backing of one individual company, was valuable in having confidence in the longevity of the technology," says Xu. Plus, "with the governance process being so open, it's not hard to find out what's the latest development in the technology and community, or figure out who to reach out to if we have problems or issues."</p>
|
||||
|
||||
<p>TiDB's cloud native architecture consists of a stateless SQL layer (also called TiDB) and a persistent key-value storage layer that supports distributed transactions (<a href="https://github.com/tikv/tikv">TiKV</a>, which is now in the CNCF Sandbox), which are loosely coupled. "You can scale both out or in depending on your computation and storage needs, and the two scaling processes can happen independent of each other," says Xu. The PingCAP team also built the <a href="https://github.com/pingcap/tidb-operator">TiDB Operator</a> based on Kubernetes, which helps bootstrap a TiDB cluster on any cloud environment and simplifies and automates deployment, scaling, scheduling, upgrades, and maintenance. The company also recently previewed its fully-managed <a href="https://www.pingcap.com/blog/announcing-tidb-cloud-managed-as-a-service-and-in-the-marketplace/">TiDB Cloud</a> offering.</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/pingcap/banner4.jpg"
|
||||
author="KEVIN XU, GENERAL MANAGER OF GLOBAL STRATEGY AND OPERATIONS, PINGCAP"
|
||||
>}}
|
||||
"A cloud native infrastructure will not only save you money and allow you to be more in control of the infrastructure resources you consume, but also empower new product innovation, new experience for your users, and new business possibilities. It's both a cost reducer and a money maker."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The entire TiDB platform leverages Kubernetes and other cloud native technologies, including <a href="https://prometheus.io/">Prometheus</a> for monitoring and <a href="https://grpc.io/">gRPC</a> for interservice communication.</p>
|
||||
|
||||
<p>So far, the customer response to the Kubernetes-enabled platform has been "very positive." Prometheus, with <a href="https://grafana.com/">Grafana</a> as the dashboard, is installed by default when customers deploy TiDB, so that they can monitor and make any adjustments needed to reach their performance requirements before deploying TiDB in production. That monitoring layer "makes the evaluation process and communication much smoother," says Xu. With the company's Kubernetes-based Operator implementation, customers are now able to deploy, run, manage, upgrade, and maintain their TiDB clusters in the cloud with no downtime, and reduced workload, burden and overhead.</p>
|
||||
|
||||
<p>These technologies have also had an impact internally. "We've completely switched to Kubernetes for our own development and testing, including our data center infrastructure and <a href="https://thenewstack.io/chaos-tools-and-techniques-for-testing-the-tidb-distributed-newsql-database/">Schrodinger</a>, an automated testing platform for TiDB," says Xu. "With Kubernetes, our resource usage is greatly improved. Our developers can allocate and deploy clusters themselves, and the deploying process takes less time, so we can devote fewer people to manage IDC resources.</p>
|
||||
|
||||
{{< case-studies/quote author="KEVIN XU, GENERAL MANAGER OF GLOBAL STRATEGY AND OPERATIONS, PINGCAP" >}}
|
||||
"The entire cloud native community, whether it's Kubernetes, CNCF in general, or cloud native vendors like us, have all gained enough experience—and have the battle scars to prove it—and are ready to help you succeed."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The productivity improvement is about 15%, and as we gain more Kubernetes knowledge on the debugging and diagnosis front, the productivity should improve to more than 20%."</p>
|
||||
|
||||
<p>Kubernetes is now a crucial part of PingCAP's product roadmap. For anyone else considering going cloud native, Xu has this advice: "There's no better time to get started," he says. "The entire cloud native community, whether it's Kubernetes, CNCF in general, or cloud native vendors like us, have all gained enough experience—and have the battle scars to prove it—and are ready to help you succeed."</p>
|
||||
|
||||
<p>In fact, the PingCAP team has seen more and more customers moving toward a cloud native approach, and for good reason. "IT infrastructure is quickly evolving from a cost-center and afterthought, to the core competency and competitiveness of any company," says Xu. "A cloud native infrastructure will not only save you money and allow you to be more in control of the infrastructure resources you consume, but also empower new product innovation, new experience for your users, and new business possibilities. It's both a cost reducer and a money maker."</p>
|
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 215 127"><defs><style>.cls-1{fill:transparent;}.cls-2{fill:#1a237e;}.cls-3{fill:#172d72;}.cls-4{fill:#10a6fa;}.cls-5{fill:#3351ff;}</style></defs><title>kubernetes.io-logos2</title><rect class="cls-1" x="-4.74781" y="-4.12296" width="223.25536" height="134.51136"/><path class="cls-2" d="M37.10629,49.8563l-21.556-6.14854a2.32671,2.32671,0,0,0-2.96549,2.23761V85.67778a2.32882,2.32882,0,0,0,2.32242,2.328,2.34709,2.34709,0,0,0,.54415-.06435l21.55614-5.13762h.00012a2.31961,2.31961,0,0,0,1.78747-2.26369V52.09439A2.33746,2.33746,0,0,0,37.10629,49.8563Z"/><path class="cls-3" d="M153.704,69.18841h-.008l-.05617.08906a9.8204,9.8204,0,0,1-3.36007,3.20787,8.99162,8.99162,0,0,1-4.59992,1.33028,9.18343,9.18343,0,0,1-6.96149-3.17641A10.73277,10.73277,0,0,1,135.93129,63.05a10.56554,10.56554,0,0,1,2.87657-7.19837,9.31614,9.31614,0,0,1,14.802,1.42571l.05637.08757h.0541l2.2873-1.41418a12.68144,12.68144,0,0,0-3.77833-4.01627,11.79162,11.79162,0,0,0-6.54776-1.98039,11.48418,11.48418,0,0,0-8.74292,3.725A13.14057,13.14057,0,0,0,133.27,63.17767a13.73041,13.73041,0,0,0,3.63437,9.52778,11.41872,11.41872,0,0,0,8.6544,3.92759c.04148,0,.08315-.00021.12475-.00063a11.973,11.973,0,0,0,10.3151-6.02531Z"/><polygon class="cls-3" points="170.788 50.285 167.681 50.285 156.131 76.137 159.817 76.137 163.386 67.544 163.392 67.544 164.653 64.859 164.648 64.859 169.297 53.948 173.854 64.859 167.313 64.859 166.121 67.544 174.915 67.544 178.517 76.137 181.766 76.137 170.788 50.285"/><path class="cls-3" d="M198.66156,52.65016a9.26362,9.26362,0,0,0-6.41458-2.33247h-8.3653V76.13651H186.93V66.02369h.00075V63.30585H186.93V53.10174h5.44916a6.05209,6.05209,0,0,1,3.97382,1.37851,4.43489,4.43489,0,0,1,1.806,3.4215,4.53924,4.53924,0,0,1-1.61977,3.93662,5.73177,5.73177,0,0,1-3.99487,1.46748h-3.15645v2.71784H193.04a8.16929,8.16929,0,0,0,5.6887-2.16806,7.1,7.1,0,0,0,2.44523-5.368A7.30676,7.30676,0,0,0,198.66156,52.65016Z"/><path class="cls-4" d="M51.79014,48.44325a2.33792,2.33792,0,0,0-1.68623-2.23235L22.66667,38.35125a2.32707,2.32707,0,0,0-2.968,2.2369v30.149a2.32848,2.32848,0,0,0,2.3223,2.3278,2.3421,2.3421,0,0,0,.54942-.06555l27.46821-6.6119a2.31961,2.31961,0,0,0,1.78239-2.267Z"/><path class="cls-5" d="M37.10629,49.8563,19.69867,44.891v25.8461a2.32848,2.32848,0,0,0,2.3223,2.3278,2.3421,2.3421,0,0,0,.54942-.06555L38.79508,69.0939V52.09439A2.33746,2.33746,0,0,0,37.10629,49.8563Z"/><rect class="cls-2" x="85.15301" y="50.79427" width="3.04719" height="3.04719"/><rect class="cls-2" x="85.15301" y="57.62199" width="3.04719" height="18.55402"/><path class="cls-2" d="M131.05244,74.31986v-7.967a10.13143,10.13143,0,0,0-10.19062-10.08615,9.59233,9.59233,0,0,0-6.81493,3.07035,9.83188,9.83188,0,0,0-2.76544,6.98019,10.02667,10.02667,0,0,0,3.00052,7.24833,9.309,9.309,0,0,0,7.15662,2.86854,9.49975,9.49975,0,0,0,6.73066-3.01977V74.6786m0,0a5.80025,5.80025,0,0,1-1.986,4.38139,6.64244,6.64244,0,0,1-4.65272,1.89407,6.80987,6.80987,0,0,1-4.14535-1.3833,6.35366,6.35366,0,0,1-2.19729-2.58174l-2.33331,1.34714a8.95056,8.95056,0,0,0,2.436,2.945,10.01087,10.01087,0,0,0,5.93453,2.093q.21807.00859.43392.00849a10.01393,10.01393,0,0,0,6.376-2.26668,7.48089,7.48089,0,0,0,3.01743-6.074v-.7222m-2.94919-7.77467a7.15858,7.15858,0,0,1-2.05924,4.95338A6.29606,6.29606,0,0,1,121.2662,73.551a6.68629,6.68629,0,0,1-4.94657-2.05594,6.90735,6.90735,0,0,1-2.12205-4.98282,7.01857,7.01857,0,0,1,1.93033-5.04913,6.6733,6.6733,0,0,1,4.78429-2.31366c.124-.006.24635-.00893.36783-.00893a6.25462,6.25462,0,0,1,4.7642,2.12788A6.97973,6.97973,0,0,1,128.10325,66.54519Z"/><path class="cls-2" d="M79.72761,52.65016A9.26359,9.26359,0,0,0,73.313,50.31769h-8.3653V76.13651h3.04835V66.02369h.00075V63.30585h-.00075V53.10174h5.44917a6.05211,6.05211,0,0,1,3.97382,1.37851,4.43492,4.43492,0,0,1,1.806,3.4215,4.53927,4.53927,0,0,1-1.61977,3.93662,5.73182,5.73182,0,0,1-3.99488,1.46748H70.45394v2.71784h3.65214a8.16926,8.16926,0,0,0,5.68869-2.16806,7.1,7.1,0,0,0,2.44523-5.368A7.3067,7.3067,0,0,0,79.72761,52.65016Z"/><path class="cls-2" d="M100.16589,56.48686a8.23659,8.23659,0,0,0-6.10754,2.49853,8.5458,8.5458,0,0,0-2.42971,6.20353V76.09816h2.94019V64.92532a5.33734,5.33734,0,0,1,1.6541-3.943,5.40682,5.40682,0,0,1,3.943-1.65422,5.26391,5.26391,0,0,1,3.87691,1.65422,5.35592,5.35592,0,0,1,1.68721,3.943V76.09816h2.94019V65.18892a8.54585,8.54585,0,0,0-2.42988-6.20353A8.19692,8.19692,0,0,0,100.16589,56.48686Z"/></svg>
|
After Width: | Height: | Size: 4.3 KiB |
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
title: Pinterest Case Study
|
||||
linkTitle: Pinterest
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
featured: false
|
||||
weight: 30
|
||||
quote: >
|
||||
We are in the position to run things at scale, in a public cloud environment, and test things out in way that a lot of people might not be able to do.
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/pinterest/banner1.jpg
|
||||
heading_title_logo: /images/pinterest_logo.png
|
||||
subheading: >
|
||||
Pinning Its Past, Present, and Future on Cloud Native
|
||||
case_study_details:
|
||||
- Company: Pinterest
|
||||
- Location: San Francisco, California
|
||||
- Industry: Web and Mobile App
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>After eight years in existence, Pinterest had grown into 1,000 microservices and multiple layers of infrastructure and diverse set-up tools and platforms. In 2016 the company launched a roadmap towards a new compute platform, led by the vision of creating the fastest path from an idea to production, without making engineers worry about the underlying infrastructure.</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>The first phase involved moving services to Docker containers. Once these services went into production in early 2017, the team began looking at orchestration to help create efficiencies and manage them in a decentralized way. After an evaluation of various solutions, Pinterest went with Kubernetes.</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>"By moving to Kubernetes the team was able to build on-demand scaling and new failover policies, in addition to simplifying the overall deployment and management of a complicated piece of infrastructure such as Jenkins," says Micheal Benedict, Product Manager for the Cloud and the Data Infrastructure Group at Pinterest. "We not only saw reduced build times but also huge efficiency wins. For instance, the team reclaimed over 80 percent of capacity during non-peak hours. As a result, the Jenkins Kubernetes cluster now uses 30 percent less instance-hours per-day when compared to the previous static cluster."</p>
|
||||
|
||||
{{< case-studies/quote author="Micheal Benedict, Product Manager for the Cloud and the Data Infrastructure Group at Pinterest" >}}
|
||||
<iframe width="500" height="260" src="https://www.youtube.com/embed/I36NNJH1xQY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
<br>
|
||||
"So far it's been good, especially the elasticity around how we can configure our Jenkins workloads on that Kubernetes shared cluster. That is the win we were pushing for."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
Pinterest was born on the cloud—running on <a href="https://aws.amazon.com/">AWS</a> since day one in 2010—but even cloud native companies can experience some growing pains.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>Since its launch, Pinterest has become a household name, with more than 200 million active monthly users and 100 billion objects saved. Underneath the hood, there are 1,000 microservices running and hundreds of thousands of data jobs.</p>
|
||||
|
||||
<p>With such growth came layers of infrastructure and diverse set-up tools and platforms for the different workloads, resulting in an inconsistent and complex end-to-end developer experience, and ultimately less velocity to get to production. So in 2016, the company launched a roadmap toward a new compute platform, led by the vision of having the fastest path from an idea to production, without making engineers worry about the underlying infrastructure.</p>
|
||||
|
||||
<p>The first phase involved moving to Docker. "Pinterest has been heavily running on virtual machines, on EC2 instances directly, for the longest time," says Micheal Benedict, Product Manager for the Cloud and the Data Infrastructure Group. "To solve the problem around packaging software and not make engineers own portions of the fleet and those kinds of challenges, we standardized the packaging mechanism and then moved that to the container on top of the VM. Not many drastic changes. We didn't want to boil the ocean at that point."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/pinterest/banner3.jpg"
|
||||
author="MICHEAL BENEDICT, PRODUCT MANAGER FOR THE CLOUD AND THE DATA INFRASTRUCTURE GROUP AT PINTEREST"
|
||||
>}}
|
||||
"Though Kubernetes lacked certain things we wanted, we realized that by the time we get to productionizing many of those things, we'll be able to leverage what the community is doing."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>The first service that was migrated was the monolith API fleet that powers most of Pinterest. At the same time, Benedict's infrastructure governance team built chargeback and capacity planning systems to analyze how the company uses its virtual machines on AWS. "It became clear that running on VMs is just not sustainable with what we're doing," says Benedict. "A lot of resources were underutilized. There were efficiency efforts, which worked fine at a certain scale, but now you have to move to a more decentralized way of managing that. So orchestration was something we thought could help solve that piece."</p>
|
||||
|
||||
<p>That led to the second phase of the roadmap. In July 2017, after an eight-week evaluation period, the team chose Kubernetes over other orchestration platforms. "Kubernetes lacked certain things at the time—for example, we wanted Spark on Kubernetes," says Benedict. "But we realized that the dev cycles we would put in to even try building that is well worth the outcome, both for Pinterest as well as the community. We've been in those conversations in the Big Data SIG. We realized that by the time we get to productionizing many of those things, we'll be able to leverage what the community is doing."</p>
|
||||
|
||||
<p>At the beginning of 2018, the team began onboarding its first use case into the Kubernetes system: Jenkins workloads. "Although we have builds happening during a certain period of the day, we always need to allocate peak capacity," says Benedict. "They don't have any auto-scaling capabilities, so that capacity stays constant. It is difficult to speed up builds because ramping up takes more time. So given those kind of concerns, we thought that would be a perfect use case for us to work on."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/pinterest/banner4.jpg"
|
||||
author="MICHEAL BENEDICT, PRODUCT MANAGER FOR THE CLOUD AND THE DATA INFRASTRUCTURE GROUP AT PINTEREST"
|
||||
>}}
|
||||
"So far it's been good, especially the elasticity around how we can configure our Jenkins workloads on Kubernetes shared cluster. That is the win we were pushing for."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>They ramped up the cluster, and working with a team of four people, got the Jenkins Kubernetes cluster ready for production. "We still have our static Jenkins cluster," says Benedict, "but on Kubernetes, we are doing similar builds, testing the entire pipeline, getting the artifact ready and just doing the comparison to see, how much time did it take to build over here. Is the SLA okay, is the artifact generated correct, are there issues there?"</p>
|
||||
|
||||
<p>"So far it's been good," he adds, "especially the elasticity around how we can configure our Jenkins workloads on Kubernetes shared cluster. That is the win we were pushing for."</p>
|
||||
|
||||
<p>By the end of Q1 2018, the team successfully migrated Jenkins Master to run natively on Kubernetes and also collaborated on the <a href="https://github.com/jenkinsci/kubernetes-plugin">Jenkins Kubernetes Plugin</a> to manage the lifecycle of workers. "We're currently building the entire Pinterest JVM stack (one of the larger monorepos at Pinterest which was recently bazelized) on this new cluster," says Benedict. "At peak, we run thousands of pods on a few hundred nodes. Overall, by moving to Kubernetes the team was able to build on-demand scaling and new failover policies, in addition to simplifying the overall deployment and management of a complicated piece of infrastructure such as Jenkins. We not only saw reduced build times but also huge efficiency wins. For instance, the team reclaimed over 80 percent of capacity during non-peak hours. As a result, the Jenkins Kubernetes cluster now uses 30 percent less instance-hours per-day when compared to the previous static cluster."</p>
|
||||
|
||||
{{< case-studies/quote author="MICHEAL BENEDICT, PRODUCT MANAGER FOR THE CLOUD AND THE DATA INFRASTRUCTURE GROUP AT PINTEREST">}}
|
||||
"We are in the position to run things at scale, in a public cloud environment, and test things out in way that a lot of people might not be able to do."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Benedict points to a "pretty robust roadmap" going forward. In addition to the Pinterest big data team's experiments with Spark on Kubernetes, the company collaborated with Amazon's EKS team on an ENI/CNI plug in.</p>
|
||||
|
||||
<p>Once the Jenkins cluster is up and running out of dark mode, Benedict hopes to establish best practices, including having governance primitives established—including integration with the chargeback system—before moving on to migrating the next service. "We have a healthy pipeline of use-cases to be on-boarded. After Jenkins, we want to enable support for Tensorflow and Apache Spark. At some point, we aim to move the company's monolithic API service. If we move that and understand the complexity around that, it builds our confidence," says Benedict. "It sets us up for migration of all our other services."</p>
|
||||
|
||||
<p>After years of being a cloud native pioneer, Pinterest is eager to share its ongoing journey. "We are in the position to run things at scale, in a public cloud environment, and test things out in way that a lot of people might not be able to do," says Benedict. "We're in a great position to contribute back some of those learnings."</p>
|
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 215 127"><defs><style>.cls-1{fill:transparent;}.cls-2{fill:#fff;}.cls-3{fill:#e60019;}</style></defs><title>kubernetes.io-logos</title><rect class="cls-1" x="-3.35417" y="-4.36563" width="223.25536" height="134.51136"/><path class="cls-2" d="M161.62125,64.02487A54.12125,54.12125,0,1,1,107.5,9.90362,54.12125,54.12125,0,0,1,161.62125,64.02487Z"/><path class="cls-3" d="M107.5,9.90362A54.13832,54.13832,0,0,0,87.76673,114.44909c-.49-4.27669-.89069-10.86887.17849-15.54628.97993-4.23162,6.32534-26.90466,6.32534-26.90466a19.71223,19.71223,0,0,1-1.60376-8.0179c0-7.52794,4.36505-13.14064,9.7997-13.14064,4.63278,0,6.85993,3.4748,6.85993,7.61717,0,4.63278-2.94022,11.58151-4.49891,18.04027-1.29184,5.39,2.7171,9.80015,8.01789,9.80015,9.62166,0,17.01573-10.15625,17.01573-24.76677,0-12.96259-9.30975-22.005-22.62843-22.005-15.4124,0-24.45486,11.53689-24.45486,23.47493a21.12584,21.12584,0,0,0,4.009,12.33876,1.61123,1.61123,0,0,1,.35654,1.55913c-.40117,1.69256-1.33646,5.39-1.51451,6.14685-.22267.98036-.80188,1.203-1.82643.71307-6.77068-3.16289-11.0023-13.00677-11.0023-20.98049,0-17.06034,12.38338-32.74,35.76862-32.74,18.75334,0,33.36387,13.36331,33.36387,31.27015,0,18.6641-11.75955,33.67535-28.06264,33.67535-5.47928,0-10.6462-2.851-12.38382-6.2361L98.101,101.62035c-1.2026,4.72158-4.49892,10.60158-6.72606,14.20937A54.16963,54.16963,0,1,0,107.5,9.90362Z"/></svg>
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
title: Prowise Case Study
|
||||
linkTitle: prowise
|
||||
case_study_styles: true
|
||||
cid: caseStudies
|
||||
featured: false
|
||||
|
||||
new_case_study_styles: true
|
||||
heading_background: /images/case-studies/prowise/banner1.jpg
|
||||
heading_title_logo: /images/prowise_logo.png
|
||||
subheading: >
|
||||
Prowise: How Kubernetes is Enabling the Edtech Solution's Global Expansion
|
||||
case_study_details:
|
||||
- Company: Prowise
|
||||
- Location: Budel, The Netherlands
|
||||
- Industry: Edtech
|
||||
---
|
||||
|
||||
<h2>Challenge</h2>
|
||||
|
||||
<p>A Dutch company that produces educational devices and software used around the world, <a href="https://www.prowise.com/en/">Prowise</a> had an infrastructure based on Linux services with multiple availability zones in Europe, Australia, and the U.S. "We've grown a lot in the past couple of years, and we started to encounter problems with versioning and flexible scaling," says Senior DevOps Engineer Victor van den Bosch, "not only scaling in demands, but also in being able to deploy multiple products which all have their own versions, their own development teams, and their own problems that they're trying to solve. To be able to put that all on the same platform without much resistance is what we were looking for. We wanted to future proof our infrastructure, and also solve some of the problems that are associated with just running a normal Linux service."</p>
|
||||
|
||||
<h2>Solution</h2>
|
||||
|
||||
<p>The Prowise team adopted containerization, spent time improving its CI/CD pipelines, and chose Microsoft Azure's managed Kubernetes service, <a href="https://azure.microsoft.com/en-us/services/kubernetes-service/">AKS</a>, for orchestration. "Kubernetes solves things like networking really well, in a way that fits our business model," says van den Bosch. "We want to focus on our core products, and that's the software that runs on it and not necessarily the infrastructure itself."</p>
|
||||
|
||||
<h2>Impact</h2>
|
||||
|
||||
<p>With its first web-based applications now running in beta on Prowise's Kubernetes platform, the team is seeing the benefits of rapid and smooth deployments. "The old way of deploying took half an hour of preparations and half an hour deploying it. With Kubernetes, it's a couple of seconds," says Senior Developer Bart Haalstra. As a result, adds van den Bosch, "We've gone from quarterly releases to a release every month in production. We're pretty much deploying every hour or just when we find that a feature is ready for production; before, our releases were mostly done on off-hours, where it couldn't impact our customers, as our confidence in the process was relatively low. Kubernetes has also enabled us to follow up quickly on bugs and implement tweaks to our users with zero downtime between versions. For some bugs we've pushed code fixes to production minutes after detection." Recently, the team launched a new single sign-on solution for use in an internal application. "Due to the resource based architecture of the Kubernetes platform, we were able to bring that application into an entirely new production environment in less than a day, most of that time used for testing after applying the already well-known resource definitions from staging to the new environment," says van den Bosch. "On a traditional VM this would have likely cost a day or two, and then probably a few weeks to iron out the kinks in our provisioning scripts as we apply updates."</p>
|
||||
|
||||
{{< case-studies/quote author="VICTOR VAN DEN BOSCH, SENIOR DEVOPS ENGINEER, PROWISE" >}}
|
||||
"Because of Kubernetes, things have been much easier, our individual applications are better, and we can spend more time on functional implementation. We do not want to go back."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
{{< case-studies/lead >}}
|
||||
If you haven't set foot in a school in awhile, you might be surprised by what you'd see in a digitally connected classroom these days: touchscreen monitors, laptops, tablets, touch tables, and more.
|
||||
{{< /case-studies/lead >}}
|
||||
|
||||
<p>One of the leaders in the space, the Dutch company Prowise, offers an integrated solution of hardware and software to help educators create a more engaging learning environment.</p>
|
||||
|
||||
<p>As the company expanded its offerings beyond the Netherlands in recent years—creating multiple availability zones in Europe, Australia, and the U.S., with as many as nine servers per zone—its Linux service-based infrastructure struggled to keep up. "We've grown a lot in the past couple of years, and we started to encounter problems with versioning and flexible scaling," says Senior DevOps Engineer Victor van den Bosch, who was hired by the company in late 2017 to build a new platform.</p>
|
||||
|
||||
<p>Prowise's products support ten languages, so the problem wasn't just scaling in demands, he adds, "but also in being able to deploy multiple products which all have their own versions, their own development teams, and their own problems that they're trying to solve. To be able to put that all on the same platform without much resistance is what we were looking for. We wanted to future proof our infrastructure, and also solve some of the problems that are associated with just running a normal Linux service."</p>
|
||||
|
||||
<p>The company's existing infrastructure on Microsoft Azure Cloud was all on virtual machines, "a pretty traditional setup," van den Bosch says. "We decided that we want some features in our software that requires being able to scale quickly, being able to deploy new applications and versions on different versions of different programming languages quickly. And we didn't really want the hassle of trying to keep those servers in a particular state."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/prowise/banner3.jpg"
|
||||
author="VICTOR VAN DEN BOSCH, SENIOR DEVOPS ENGINEER, PROWISE"
|
||||
>}}
|
||||
"You don't have to go all-in immediately. You can just take a few projects, a service, run it alongside your more traditional stack, and build it up from there. Kubernetes scales, so as you add applications and services to it, it will scale with you. You don't have to do it all at once, and that's really a secret to everything, but especially true to Kubernetes."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>After researching possible solutions, he opted for containerization and Kubernetes orchestration. "Containerization is the future," van den Bosch says. "Kubernetes solves things like networking really well, in a way that fits our business model. We want to focus on our core products, and that's the software that runs on it and not necessarily the infrastructure itself." Plus, the Prowise team liked that there was no vendor lock-in. "We don't want to be limited to one platform," he says. "We try not to touch products that are very proprietary and can't be ported easily to another vendor."</p>
|
||||
|
||||
<p>The time to market with Kubernetes was very short: The first web-based applications on the platform went into beta within a few months. That was largely made possible by van den Bosch's decision to use Azure's managed Kubernetes service, AKS. The team then had to figure out which components to keep and which to replace. Monitoring tools like New Relic were taken out "because they tend to become very expensive when you scale it to different availability zones, and it's just not very maintainable," he says.</p>
|
||||
|
||||
<p>A lot of work also went into improving Prowise's CI/CD pipelines. "We wanted to make sure that the pipelines are automated and easy to use," he says. "We have a lot of settings and configurations figured out for the pipelines, and it's just applying those scripts and those configurations to new projects from here on out."</p>
|
||||
|
||||
<p>With its first web-based applications now running in beta on Prowise's Kubernetes platform, the team is seeing the benefits of rapid and smooth deployments. "The old way of deploying took half an hour of preparations and half an hour deploying it. With Kubernetes, it's a couple of seconds," says Senior Developer Bart Haalstra. As a result, adds van den Bosch, "We've gone from quarterly releases to a release every month in production. We're pretty much deploying every hour or just when we find that a feature is ready for production. Before, our releases were mostly done on off-hours, where it couldn't impact our customers, as our confidence the process itself was relatively low. With Kubernetes, we dare to deploy in the middle of a busy day with high confidence the deployment will succeed."</p>
|
||||
|
||||
{{< case-studies/quote
|
||||
image="/images/case-studies/prowise/banner4.jpg"
|
||||
author="VICTOR VAN DEN BOSCH, SENIOR DEVOPS ENGINEER, PROWISE"
|
||||
>}}
|
||||
"Kubernetes allows us to really consider the best tools for a problem. Want to have a full-fledged analytics application developed by a third party that is just right for your use case? Run it. Dabbling in machine learning and AI algorithms but getting tired of waiting days for training to complete? It takes only seconds to scale it. Got a stubborn developer that wants to use a programming language no one has heard of? Let him, if it runs in a container, of course. And all of that while your operations team/DevOps get to sleep at night."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Plus, van den Bosch says, "Kubernetes has enabled us to follow up quickly on bugs and implement tweaks to our users with zero downtime between versions. For some bugs we've pushed code fixes to production minutes after detection."</p>
|
||||
|
||||
<p>Recently, the team launched a new single sign-on solution for use in an internal application. "Due to the resource based architecture of the Kubernetes platform, we were able to bring that application into an entirely new production environment in less than a day, most of that time used for testing after applying the already well-known resource definitions from staging to the new environment," says van den Bosch. "On a traditional VM this would have likely cost a day or two, and then probably a few weeks to iron out the kinks in our provisioning scripts as we apply updates."</p>
|
||||
|
||||
<p>Legacy applications are also being moved to Kubernetes. Not long ago, the team needed to set up a Java-based application for compiling and running a frontend. "On a traditional VM, it would have taken quite a bit of time to set it up and keep it up to date, not to mention maintenance for that setup down the line," says van den Bosch. Instead, it took less than half a day to containerize it and get it running on Kubernetes. "It was much easier, and we were able to save costs too because we didn't have to spin up new VMs specially for it."</p>
|
||||
|
||||
{{< case-studies/quote author="VICTOR VAN DEN BOSCH, SENIOR DEVOPS ENGINEER, PROWISE" >}}
|
||||
"We're really trying to deliver integrated solutions with our hardware and software and making it as easy as possible for users to use and collaborate from different places," says van den Bosch. And, says Haalstra, "We cannot do it without Kubernetes."
|
||||
{{< /case-studies/quote >}}
|
||||
|
||||
<p>Perhaps most importantly, van den Bosch says, "Kubernetes allows us to really consider the best tools for a problem and take full advantage of microservices architecture. Got a library in Node.js that excels at solving a certain problem? Use it. Want to have a full-fledged analytics application developed by a third party that is just right for your use case? Run it. Dabbling in machine learning and AI algorithms but getting tired of waiting days for training to complete? It takes only seconds to scale it. Got a stubborn developer that wants to use a programming language no one has heard of? Let him, if it runs in a container, of course. And all of that while your operations team/DevOps get to sleep at night."</p>
|
||||
|
||||
<p>Looking ahead, all new web development, platforms, and APIs at Prowise will be on Kubernetes. One of the big greenfield projects is a platform for teachers and students that is launching for back-to-school season in September. Users will be able to log in and access a wide variety of educational applications. With the <a href="https://www.prowise.com/en/press-release-largest-dutch-education-innovators-join-forces/">recent acquisition</a> of the software company Oefenweb, Prowise plans to provide adaptive software that allows teachers to get an accurate view of their students' progress and weak points, and automatically adjusts the difficulty level of assignments to suit individual students. "We will be leveraging Kubernetes' power to integrate, supplement, and support our combined application portfolio and bring our solutions to more classrooms," says van den Bosch.</p>
|
||||
|
||||
<p>Collaborative software is also a priority. With the single sign-in software, users' settings and credentials are saved in the cloud and can be used on any screen in the world. "We're really trying to deliver integrated solutions with our hardware and software and making it as easy as possible for users to use and collaborate from different places," says van den Bosch. And, says Haalstra, "We cannot do it without Kubernetes."</p>
|
After Width: | Height: | Size: 6.1 KiB |