diff --git a/content/en/case-studies/adform/index.html b/content/en/case-studies/adform/index.html index e9a8acc7a2..be35a2d837 100644 --- a/content/en/case-studies/adform/index.html +++ b/content/en/case-studies/adform/index.html @@ -12,7 +12,7 @@ quote: > Kubernetes enabled the self-healing and immutable infrastructure. We can do faster releases, so our developers are really happy. They can ship our features faster than before, and that makes our clients happier. --- -
+

CASE STUDY:
Improving Performance and Morale with Cloud Native

@@ -66,7 +66,7 @@ The company has a large infrastructure: Ope
-
+
"The fact that Cloud Native Computing Foundation incubated Kubernetes was a really big point for us because it was vendor neutral. And we can see that a community really gathers around it. Everyone shares their experiences, their knowledge, and the fact that it’s open source, you can contribute."

— Edgaras Apšega, IT Systems Engineer, Adform
@@ -83,7 +83,7 @@ The first production cluster was launched in the spring of 2018, and is now up t
-
+
"Releases are really nice for them, because they just push their code to Git and that’s it. They don’t have to worry about their virtual machines anymore."

— Andrius Cibulskis, IT Systems Engineer, Adform
diff --git a/content/en/case-studies/adidas/index.html b/content/en/case-studies/adidas/index.html index 3f7982765a..5f9d0da24a 100644 --- a/content/en/case-studies/adidas/index.html +++ b/content/en/case-studies/adidas/index.html @@ -9,7 +9,7 @@ featured: false ​ -
+

CASE STUDY: adidas

Staying True to Its Culture, adidas Got 40% of Its Most Impactful Systems Running on Kubernetes in a Year
@@ -33,7 +33,7 @@ featured: false
-
+
"For me, Kubernetes is a platform made by engineers for engineers. It’s relieving the development team from tasks that they don’t want to do, but at the same time giving the visibility of what is behind the curtain, so they can also control it."

- FERNANDO CORNAGO, SENIOR DIRECTOR OF PLATFORM ENGINEERING AT ADIDAS

@@ -74,7 +74,7 @@ featured: false ​ ​ -
+
“There is no competitive edge over our competitors like Puma or Nike in running and operating a Kubernetes cluster. Our competitive edge is that we teach our internal engineers how to build cool e-comm stores that are fast, that are resilient, that are running perfectly.”

- DANIEL EICHTEN, SENIOR DIRECTOR OF PLATFORM ENGINEERING AT ADIDAS

diff --git a/content/en/case-studies/ant-financial/index.html b/content/en/case-studies/ant-financial/index.html index 92b46526de..1711ef97b8 100644 --- a/content/en/case-studies/ant-financial/index.html +++ b/content/en/case-studies/ant-financial/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
Ant Financial’s Hypergrowth Strategy Using Kubernetes

@@ -50,7 +50,7 @@ featured: false To address those challenges and provide reliable and consistent services to its customers, Ant Financial embraced Docker containerization in 2014. But they soon realized that they needed an orchestration solution for some tens-of-thousands-of-node clusters in the company’s data centers.
-
+
-
+
"We’re very grateful for CNCF and this amazing technology, which we need as we continue to scale globally. We’re definitely embracing the community and open source more in the future."

- HAOJIE HANG, PRODUCT MANAGEMENT, ANT FINANCIAL
diff --git a/content/en/case-studies/appdirect/index.html b/content/en/case-studies/appdirect/index.html index 16d93cce5c..ca6b0b8fe9 100644 --- a/content/en/case-studies/appdirect/index.html +++ b/content/en/case-studies/appdirect/index.html @@ -12,7 +12,7 @@ quote: > We made the right decisions at the right time. Kubernetes and the cloud native technologies are now seen as the de facto ecosystem. --- -
+

CASE STUDY:
AppDirect: How AppDirect Supported the 10x Growth of Its Engineering Staff with Kubernetess

@@ -53,7 +53,7 @@ quote: >
-
+
"We made the right decisions at the right time. Kubernetes and the cloud native technologies are now seen as the de facto ecosystem. We know where to focus our efforts in order to tackle the new wave of challenges we face as we scale out. The community is so active and vibrant, which is a great complement to our awesome internal team."

- Alexandre Gervais, Staff Software Developer, AppDirect
@@ -69,7 +69,7 @@ quote: > Lacerte’s strategy ultimately worked because of the very real impact the Kubernetes platform has had to deployment time. Due to less dependency on custom-made, brittle shell scripts with SCP commands, time to deploy a new version has shrunk from 4 hours to a few minutes. Additionally, the company invested a lot of effort to make things self-service for developers. "Onboarding a new service doesn’t require Jira tickets or meeting with three different teams," says Lacerte. Today, the company sees 1,600 deployments per week, compared to 1-30 before.
-
+
"I think our velocity would have slowed down a lot if we didn’t have this new infrastructure."

- Pierre-Alexandre Lacerte, Director of Software Development, AppDirect
diff --git a/content/en/case-studies/babylon/index.html b/content/en/case-studies/babylon/index.html index afdc005411..dce0612175 100644 --- a/content/en/case-studies/babylon/index.html +++ b/content/en/case-studies/babylon/index.html @@ -12,7 +12,7 @@ quote: > --- -
+

CASE STUDY: Babylon

How Cloud Native Is Enabling Babylon’s Medical AI Innovations
@@ -36,7 +36,7 @@ quote: > Instead of waiting hours or days to be able to compute, teams can get access instantaneously. Clinical validations used to take 10 hours; now they are done in under 20 minutes. The portability of the cloud native platform has also enabled Babylon to expand into other countries.
-
+
“Kubernetes is a great platform for machine learning because it comes with all the scheduling and scalability that you need.”

- JÉRÉMIE VALLÉE, AI INFRASTRUCTURE LEAD AT BABYLON

@@ -84,7 +84,7 @@ quote: > -
+
“Giving a Kubernetes-based platform to our data scientists has meant increased security, increased innovation through empowerment, and a more affordable health service as our cloud engineers are building an experience that is used by hundreds on a daily basis, rather than supporting specific bespoke use cases.”

- JEAN MARIE FERDEGUE, DIRECTOR OF PLATFORM OPERATIONS AT BABYLON

diff --git a/content/en/case-studies/booking-com/index.html b/content/en/case-studies/booking-com/index.html index ffeb3f2707..99369a2bf9 100644 --- a/content/en/case-studies/booking-com/index.html +++ b/content/en/case-studies/booking-com/index.html @@ -14,7 +14,7 @@ quote: > ​ -
+

CASE STUDY: Booking.com

After Learning the Ropes with a Kubernetes Distribution, Booking.com Built a Platform of Its Own
@@ -40,7 +40,7 @@ quote: >
-
+
“As our users learn Kubernetes and become more sophisticated Kubernetes users, they put pressure on us to provide a better, more native Kubernetes experience, which is great. It’s a super healthy dynamic.”

- BEN TYLER, PRINCIPAL DEVELOPER, B PLATFORM TRACK AT BOOKING.COM

@@ -91,7 +91,7 @@ quote: > ​ ​ -
+
“We have a tutorial. You follow the tutorial. Your code is running. Then, it’s business-logic time. The time to gain access to resources is decreased enormously.”

- BEN TYLER, PRINCIPAL DEVELOPER, B PLATFORM TRACK AT BOOKING.COM

diff --git a/content/en/case-studies/booz-allen/index.html b/content/en/case-studies/booz-allen/index.html index 2a48c7f3b7..fdda5e976a 100644 --- a/content/en/case-studies/booz-allen/index.html +++ b/content/en/case-studies/booz-allen/index.html @@ -13,7 +13,7 @@ quote: > ​ -
+

CASE STUDY: Booz Allen Hamilton

How Booz Allen Hamilton Is Helping Modernize the Federal Government with Kubernetes
@@ -38,7 +38,7 @@ quote: >
-
+
"When there’s a regulatory change in an agency, or a legislative change in Congress, or an executive order that changes the way you do business, how do I deploy that and get that out to the people who need it rapidly? At the end of the day, that’s the problem we’re trying to help the government solve with tools like Kubernetes."

- JOSH BOYD, CHIEF TECHNOLOGIST AT BOOZ ALLEN HAMILTON

@@ -75,7 +75,7 @@ quote: > ​ ​ -
+
"Kubernetes alone enables a dramatic reduction in cost as resources are prioritized to the day’s event"

- MARTIN FOLKOFF, SENIOR LEAD TECHNOLOGIST AT BOOZ ALLEN HAMILTON

diff --git a/content/en/case-studies/bose/index.html b/content/en/case-studies/bose/index.html index d22de2187a..c77f416c13 100644 --- a/content/en/case-studies/bose/index.html +++ b/content/en/case-studies/bose/index.html @@ -11,7 +11,7 @@ quote: > The CNCF Landscape quickly explains what’s going on in all the different areas from storage to cloud providers to automation and so forth. This is our shopping cart to build a cloud infrastructure. We can go choose from the different aisles. --- -
+

CASE STUDY:
Bose: Supporting Rapid Development for Millions of IoT Products With Kubernetes

@@ -56,7 +56,7 @@ From the beginning, the team knew it wanted a microservices architecture and pla
-
+
"Everybody on the team thinks in terms of automation, leaning out the processes, getting things done as quickly as possible. When you step back and look at what it means for a 50-plus-year-old speaker company to have that sort of culture, it really is quite incredible, and I think the tools that we use and the foundation that we’ve built with them is a huge piece of that."

- Dylan O’Mahony, Cloud Architecture Manager, Bose
@@ -70,7 +70,7 @@ From the beginning, the team knew it wanted a microservices architecture and pla
-
+
"The CNCF Landscape quickly explains what’s going on in all the different areas from storage to cloud providers to automation and so forth. This is our shopping cart to build a cloud infrastructure. We can go choose from the different aisles."

- Josh West, Lead Cloud Engineer, Bose
diff --git a/content/en/case-studies/capital-one/index.html b/content/en/case-studies/capital-one/index.html index 773db4869e..f95fb2acc7 100644 --- a/content/en/case-studies/capital-one/index.html +++ b/content/en/case-studies/capital-one/index.html @@ -5,7 +5,7 @@ cid: caseStudies css: /css/style_case_studies.css --- -
+

CASE STUDY:
Supporting Fast Decisioning Applications with Kubernetes

@@ -55,7 +55,7 @@ css: /css/style_case_studies.css
-
+
"We want to provide the tools in the same ecosystem, in a consistent way, rather than have a large custom snowflake ecosystem where every tool needs its own custom deployment. Kubernetes gives us the ability to bring all of these together, so the richness of the open source and even the license community dealing with big data can be corralled." @@ -69,7 +69,7 @@ css: /css/style_case_studies.css
-
+
With Kubernetes, "a team can come to us and we can have them up and running with a basic decisioning app in a fortnight, which before would have taken a whole quarter, if not longer. Kubernetes is a manifold productivity multiplier."
diff --git a/content/en/case-studies/cern/index.html b/content/en/case-studies/cern/index.html index 9bd7970245..48e965d7fb 100644 --- a/content/en/case-studies/cern/index.html +++ b/content/en/case-studies/cern/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css logo: cern_featured_logo.png --- -
+

CASE STUDY: CERN
CERN: Processing Petabytes of Data More Efficiently with Kubernetes

@@ -52,7 +52,7 @@ logo: cern_featured_logo.png
-
+
"Before, the tendency was always: ‘I need this, I get a couple of developers, and I implement it.’ Right now it’s ‘I need this, I’m sure other people also need this, so I’ll go and ask around.’ The CNCF is a good source because there’s a very large catalog of applications available. It’s very hard right now to justify developing a new product in-house. There is really no real reason to keep doing that. It’s much easier for us to try it out, and if we see it’s a good solution, we try to reach out to the community and start working with that community."

- Ricardo Rocha, Software Engineer, CERN
@@ -66,7 +66,7 @@ logo: cern_featured_logo.png
-
+
"With Kubernetes, there’s a well-established technology and a big community that we can contribute to. It allows us to do our physics analysis without having to focus so much on the lower level software. This is just exciting. We are looking forward to keep contributing to the community and collaborating with everyone."

- Ricardo Rocha, Software Engineer, CERN
diff --git a/content/en/case-studies/chinaunicom/index.html b/content/en/case-studies/chinaunicom/index.html index 296b2ce1fc..4479d60e67 100644 --- a/content/en/case-studies/chinaunicom/index.html +++ b/content/en/case-studies/chinaunicom/index.html @@ -8,7 +8,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
China Unicom: How China Unicom Leveraged Kubernetes to Boost Efficiency
and Lower IT Costs

@@ -51,7 +51,7 @@ featured: false
-
+
"We could never imagine we can achieve this scalability in such a short time."

- Chengyu Zhang, Group Leader of Platform Technology R&D, China Unicom
@@ -65,7 +65,7 @@ featured: false
-
+
"This technology is relatively complicated, but as long as developers get used to it, they can enjoy all the benefits."

- Jie Jia, Member of Platform Technology R&D, China Unicom
diff --git a/content/en/case-studies/city-of-montreal/index.html b/content/en/case-studies/city-of-montreal/index.html index 151ce44b21..55378c649e 100644 --- a/content/en/case-studies/city-of-montreal/index.html +++ b/content/en/case-studies/city-of-montreal/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
City of Montréal - How the City of Montréal Is Modernizing Its 30-Year-Old, Siloed Architecture with Kubernetes

@@ -50,7 +50,7 @@ featured: false The first step to modernize the architecture was containerization. “We based our effort on the new trends; we understood the benefits of immutability and deployments without downtime and such things,” says Solutions Architect Marc Khouzam. The team started with a small Docker farm with four or five servers, with Rancher for providing access to the Docker containers and their logs and Jenkins for deployment.
-
+
"Getting a project running in Kubernetes is entirely dependent on how long you need to program the actual software. It’s no longer dependent on deployment. Deployment is so fast that it’s negligible."

- MARC KHOUZAM, SOLUTIONS ARCHITECT, CITY OF MONTRÉAL
@@ -65,7 +65,7 @@ featured: false Another important factor in the decision was vendor neutrality. “As a government entity, it is essential for us to be neutral in our selection of products and providers,” says Thibault. “The independence of the Cloud Native Computing Foundation from any company provides this.”
-
+
"Kubernetes has been great. It’s been stable, and it provides us with elasticity, resilience, and robustness. While re-architecting for Kubernetes, we also benefited from the monitoring and logging aspects, with centralized logging, Prometheus logging, and Grafana dashboards. We have enhanced visibility of what’s being deployed."

- MORGAN MARTINET, ENTERPRISE ARCHITECT, CITY OF MONTRÉAL
diff --git a/content/en/case-studies/denso/index.html b/content/en/case-studies/denso/index.html index 3ad0812d24..27ef1c77ed 100644 --- a/content/en/case-studies/denso/index.html +++ b/content/en/case-studies/denso/index.html @@ -12,7 +12,7 @@ quote: > --- -
+

CASE STUDY: Denso

How DENSO Is Fueling Development on the Vehicle Edge with Kubernetes
@@ -36,7 +36,7 @@ quote: > Critical layer features can take 2-3 years to implement in the traditional, waterfall model of development at DENSO. With the Kubernetes platform and agile methods, there’s a 2-month development cycle for non-critical software. Now, ten new applications are released a year, and a new prototype is introduced every week. "By utilizing Kubernetes managed services, such as GKE/EKS/AKS, we can unify the environment and simplify our maintenance operation," says Koizumi.
-
+
"Another disruptive innovation is coming, so to survive in this situation, we need to change our culture."

- SEIICHI KOIZUMI, R&D PRODUCT MANAGER, DIGITAL INNOVATION DEPARTMENT AT DENSO

@@ -79,7 +79,7 @@ quote: > -
+
"By utilizing Kubernetes managed services, such as GKE/EKS/AKS, we can unify the environment and simplify our maintenance operation."

- SEIICHI KOIZUMI, R&D PRODUCT MANAGER, DIGITAL INNOVATION DEPARTMENT AT DENSO

diff --git a/content/en/case-studies/ibm/index.html b/content/en/case-studies/ibm/index.html index 54e941c9cb..e9a78a9443 100644 --- a/content/en/case-studies/ibm/index.html +++ b/content/en/case-studies/ibm/index.html @@ -9,7 +9,7 @@ logo: ibm_featured_logo.svg featured: false --- -
+

CASE STUDY:
Building an Image Trust Service on Kubernetes with Notary and TUF

@@ -58,7 +58,7 @@ The availability of image signing "is a huge benefit to security-conscious custo
-
+
"Image signing is one key part of our Kubernetes container service offering, and our container registry team saw Notary as the de facto way to implement that capability in the current Docker and container ecosystem"

- Michael Hough, a software developer with the IBM Cloud Container Registry team
@@ -75,7 +75,7 @@ The availability of image signing "is a huge benefit to security-conscious custo
-
+
"With our IBM Cloud Kubernetes as-a-service offering and the admission controller we have made available, it allows both IBM services as well as customers of the IBM public cloud to use security policies to control service deployment."

- Michael Hough, a software developer with the IBM Cloud Container Registry team
diff --git a/content/en/case-studies/ing/index.html b/content/en/case-studies/ing/index.html index 6e2648a455..943daec2de 100644 --- a/content/en/case-studies/ing/index.html +++ b/content/en/case-studies/ing/index.html @@ -11,7 +11,7 @@ quote: > --- -
+

CASE STUDY:
Driving Banking Innovation with Cloud Native

@@ -58,7 +58,7 @@ quote: >
-
+
"We decided to standardize ING on a Kubernetes framework." Everything is run on premise due to banking regulations, he adds, but "we will be building an internal public cloud. We are trying to get on par with what public clouds are doing. That’s one of the reasons we got Kubernetes."

— Thijs Ebbers, Infrastructure Architect, ING
@@ -72,7 +72,7 @@ quote: >
-
+
"We have to run the complete platform of services we need, many routing from different places. We need this Kubernetes framework for deploying the containers, with all those components, monitoring, logging. It’s complex."

— Onno Van der Voort, Infrastructure Architect, ING
diff --git a/content/en/case-studies/jd-com/index.html b/content/en/case-studies/jd-com/index.html index 636f226339..aed12fc54b 100644 --- a/content/en/case-studies/jd-com/index.html +++ b/content/en/case-studies/jd-com/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
JD.com: How JD.com Pioneered Kubernetes for E-Commerce at Hyperscale

@@ -51,7 +51,7 @@ featured: false
-
+
"We customized Kubernetes and built a modern system on top of it. This entire ecosystem of Kubernetes plus our own optimizations have helped us save costs and time."

- HAIFENG LIU, CHIEF ARCHITECT, JD.com
@@ -67,7 +67,7 @@ featured: false
-
+
"My advice is first you need to combine this technology with your own businesses, and the second is you need clear goals. You cannot just use the technology because others are using it. You need to consider your own objectives."

- HAIFENG LIU, CHIEF ARCHITECT, JD.com
diff --git a/content/en/case-studies/naic/index.html b/content/en/case-studies/naic/index.html index d40dd19c77..3deb91e480 100644 --- a/content/en/case-studies/naic/index.html +++ b/content/en/case-studies/naic/index.html @@ -9,7 +9,7 @@ logo: naic_featured_logo.png featured: false --- -
+

CASE STUDY:
A Culture and Technology Transition Enabled by Kubernetes

@@ -59,7 +59,7 @@ In addition, NAIC is onboarding teams to the new platform, and those teams have
-
+
"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."

- Dan Barker, Chief Enterprise Architect, NAIC
@@ -77,7 +77,7 @@ As for other CNCF projects, NAIC is using Prometheus on a small scale and hopes
-
+
"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."

- Dan Barker, Chief Enterprise Architect, NAIC
diff --git a/content/en/case-studies/nav/index.html b/content/en/case-studies/nav/index.html index d4cc89590d..bd606e7314 100644 --- a/content/en/case-studies/nav/index.html +++ b/content/en/case-studies/nav/index.html @@ -8,7 +8,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
How A Startup Reduced Its Infrastructure Costs by 50% With Kubernetes

@@ -52,7 +52,7 @@ featured: false
-
+
"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."

- Travis Jeppson, Director of Engineering, Nav
@@ -65,7 +65,7 @@ featured: false Jeppson’s four-person Engineering Services team got Kubernetes up and running in six months (they decided to use Kubespray 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.”
-
+
“Kubernetes has brought so much value to Nav by allowing all of these new freedoms that we had just never had before.”

- Travis Jeppson, Director of Engineering, Nav
diff --git a/content/en/case-studies/nerdalize/index.html b/content/en/case-studies/nerdalize/index.html index 127d95c375..2756ce431c 100644 --- a/content/en/case-studies/nerdalize/index.html +++ b/content/en/case-studies/nerdalize/index.html @@ -6,7 +6,7 @@ cid: caseStudies css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
Nerdalize: Providing Affordable and Sustainable Cloud Hosting with Kubernetes

@@ -47,7 +47,7 @@ featured: false 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.
-
+
“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.”

— AD VAN DER VEER, PRODUCT ENGINEER, NERDALIZE
@@ -62,7 +62,7 @@ featured: false 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.”
-
+
“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.”

- MAAIKE STOOPS, CUSTOMER EXPERIENCE QUEEN, NERDALIZE
diff --git a/content/en/case-studies/netease/index.html b/content/en/case-studies/netease/index.html index a62ade486f..6cba5579ab 100644 --- a/content/en/case-studies/netease/index.html +++ b/content/en/case-studies/netease/index.html @@ -9,7 +9,7 @@ featured: false --- -
+

CASE STUDY:
How NetEase Leverages Kubernetes to Support Internet Business Worldwide

@@ -47,7 +47,7 @@ featured: false After considering building its own orchestration solution, NetEase decided to base its private cloud platform on Kubernetes. The fact that the technology came out of Google gave the team confidence that it could keep up with NetEase’s scale. “After our 2-to-3-month evaluation, we believed it could satisfy our needs,” says Feng.
-
+
"We leveraged the programmability of Kubernetes so that we can build a platform to satisfy the needs of our internal customers for upgrades and deployment."

- Feng Changjian, Architect for NetEase Cloud and Container Service, NetEase
@@ -60,7 +60,7 @@ featured: false And the team is continuing to make improvements. For example, the e-commerce part of the business needs to leverage mixed deployments, which in the past required using two separate platforms: the infrastructure-as-a-service platform and the Kubernetes platform. More recently, NetEase has created a cross-platform application that enables using both with one-command deployment.
-
+
"As long as a company has a mature team and enough developers, I think Kubernetes is a very good technology that can help them."

- Li Lanqing, Kubernetes Developer, NetEase
diff --git a/content/en/case-studies/newyorktimes/index.html b/content/en/case-studies/newyorktimes/index.html index c65b5fe883..53dbd06a55 100644 --- a/content/en/case-studies/newyorktimes/index.html +++ b/content/en/case-studies/newyorktimes/index.html @@ -5,7 +5,7 @@ cid: caseStudies css: /css/style_case_studies.css --- -
+

CASE STUDY:
The New York Times: From Print to the Web to Cloud Native

@@ -64,7 +64,7 @@ css: /css/style_case_studies.css
-
+
"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?"
@@ -79,7 +79,7 @@ css: /css/style_case_studies.css
-
+
"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." diff --git a/content/en/case-studies/nokia/index.html b/content/en/case-studies/nokia/index.html index d8aaafc7f5..f824685327 100644 --- a/content/en/case-studies/nokia/index.html +++ b/content/en/case-studies/nokia/index.html @@ -8,7 +8,7 @@ logo: nokia_featured_logo.png --- -
+

CASE STUDY:
Nokia: Enabling 5G and DevOps at a Telecom Company with Kubernetes

@@ -51,7 +51,7 @@ logo: nokia_featured_logo.png
-
+
"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."

- Gergely Csatari, Senior Open Source Engineer, Nokia
@@ -65,7 +65,7 @@ logo: nokia_featured_logo.png
-
+
"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."

- Gergely Csatari, Senior Open Source Engineer, Nokia
diff --git a/content/en/case-studies/nordstrom/index.html b/content/en/case-studies/nordstrom/index.html index 5385c2473d..788453de35 100644 --- a/content/en/case-studies/nordstrom/index.html +++ b/content/en/case-studies/nordstrom/index.html @@ -5,7 +5,7 @@ cid: caseStudies css: /css/style_case_studies.css --- -
+

CASE STUDY:
Finding Millions in Potential Savings in a Tough Retail Climate @@ -60,7 +60,7 @@ css: /css/style_case_studies.css
-
+
"We made a bet that Kubernetes was going to take off, informed by early indicators of community support and project velocity, so we rebuilt our system with Kubernetes at the core,"
@@ -77,7 +77,7 @@ The benefits were immediate for the teams that came on board. "Teams running on
-
+
"Teams running on our Kubernetes cluster loved the fact that they had fewer issues to worry about. They didn’t need to manage infrastructure or operating systems," says Grigoriu. "Early adopters loved the declarative nature of Kubernetes. They loved the reduced surface area they had to deal with."
diff --git a/content/en/case-studies/northwestern-mutual/index.html b/content/en/case-studies/northwestern-mutual/index.html index dac0ef0d66..47b4bbc7be 100644 --- a/content/en/case-studies/northwestern-mutual/index.html +++ b/content/en/case-studies/northwestern-mutual/index.html @@ -5,7 +5,7 @@ cid: caseStudies css: /css/style_case_studies.css --- -
+

CASE STUDY:
Cloud Native at Northwestern Mutual @@ -22,7 +22,7 @@ css: /css/style_case_studies.css

Challenge

- 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. + 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.

Solution

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 Kanali, a Kubernetes-native API management tool that uses OpenTracing, Jaeger, and gRPC. @@ -53,7 +53,7 @@ In order to give the company’s 4.5 million clients the digital experience they
-
+
"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." @@ -63,12 +63,12 @@ In order to give the company’s 4.5 million clients the digital experience they
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."

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. -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. +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.
-
+
"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."
diff --git a/content/en/case-studies/ocado/index.html b/content/en/case-studies/ocado/index.html index 6a930f945c..79ac9bf3a8 100644 --- a/content/en/case-studies/ocado/index.html +++ b/content/en/case-studies/ocado/index.html @@ -11,7 +11,7 @@ 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. --- -
+

CASE STUDY:
Ocado: Running Grocery Warehouses with a Cloud Native Platform

@@ -32,7 +32,7 @@ quote: >
- +

Impact

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 Prometheus and Grafana 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." @@ -54,7 +54,7 @@ Bryant had already been using Kubernetes with +
"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,"

- Kevin McCormack, DevOps Team Leader, Ocado
@@ -68,7 +68,7 @@ Bryant had already been using Kubernetes with
+
"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."

- Mike Bryant, Platform Engineer, Ocado
diff --git a/content/en/case-studies/openAI/index.html b/content/en/case-studies/openAI/index.html index 040f704efa..1b95ec5f35 100644 --- a/content/en/case-studies/openAI/index.html +++ b/content/en/case-studies/openAI/index.html @@ -5,7 +5,7 @@ cid: caseStudies css: /css/style_case_studies.css --- -
+

CASE STUDY:
Launching and Scaling Up Experiments, Made Simple

@@ -56,7 +56,7 @@ css: /css/style_case_studies.css
-
+
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..." @@ -69,7 +69,7 @@ css: /css/style_case_studies.css
-
+
"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."
diff --git a/content/en/case-studies/pearson/index.html b/content/en/case-studies/pearson/index.html index ddb567afb3..78f70228e5 100644 --- a/content/en/case-studies/pearson/index.html +++ b/content/en/case-studies/pearson/index.html @@ -8,7 +8,7 @@ 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. --- -
+

CASE STUDY:
Reinventing the World’s Largest Education Company With Kubernetes

@@ -47,7 +47,7 @@ quote: > 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."
-
+
"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."

— Chris Jackson, Director for Cloud Platforms & SRE at Pearson
@@ -60,7 +60,7 @@ quote: > 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!"
-
+
"Teams who were previously limited to 1-2 releases per academic year can now ship code multiple times per day!"

— Chris Jackson, Director for Cloud Platforms & SRE at Pearson
diff --git a/content/en/case-studies/pingcap/index.html b/content/en/case-studies/pingcap/index.html index 637f891b3e..8d032c7a8b 100644 --- a/content/en/case-studies/pingcap/index.html +++ b/content/en/case-studies/pingcap/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
PingCAP Bets on Cloud Native for Its TiDB Database Platform

@@ -52,7 +52,7 @@ featured: false 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."
-
+
-
+
"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."

- KEVIN XU, GENERAL MANAGER OF GLOBAL STRATEGY AND OPERATIONS, PINGCAP
diff --git a/content/en/case-studies/pinterest/index.html b/content/en/case-studies/pinterest/index.html index 0aa2381aa1..e4be7031bb 100644 --- a/content/en/case-studies/pinterest/index.html +++ b/content/en/case-studies/pinterest/index.html @@ -11,7 +11,7 @@ quote: > --- -
+

CASE STUDY:
Pinning Its Past, Present, and Future on Cloud Native

@@ -60,7 +60,7 @@ The first phase involved moving to Docker. "Pinterest has been heavily running o
-
+
"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."

— MICHEAL BENEDICT, PRODUCT MANAGER FOR THE CLOUD AND THE DATA INFRASTRUCTURE GROUP AT PINTEREST
@@ -75,7 +75,7 @@ At the beginning of 2018, the team began onboarding its first use case into the
-
+
"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."

— MICHEAL BENEDICT, PRODUCT MANAGER FOR THE CLOUD AND THE DATA INFRASTRUCTURE GROUP AT PINTEREST
diff --git a/content/en/case-studies/prowise/index.html b/content/en/case-studies/prowise/index.html index 03bbc51173..2f0beda5ae 100644 --- a/content/en/case-studies/prowise/index.html +++ b/content/en/case-studies/prowise/index.html @@ -8,7 +8,7 @@ featured: false --- -
+

CASE STUDY:
Prowise: How Kubernetes is Enabling the Edtech Solution’s Global Expansion

@@ -50,7 +50,7 @@ featured: false 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.”
-
+
"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."

— VICTOR VAN DEN BOSCH, SENIOR DEVOPS ENGINEER, PROWISE
@@ -67,7 +67,7 @@ featured: false 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.”
-
+
"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."

- VICTOR VAN DEN BOSCH, SENIOR DEVOPS ENGINEER, PROWISE
diff --git a/content/en/case-studies/ricardo-ch/index.html b/content/en/case-studies/ricardo-ch/index.html index 62501c4f5b..2863ceac75 100644 --- a/content/en/case-studies/ricardo-ch/index.html +++ b/content/en/case-studies/ricardo-ch/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
ricardo.ch: How Kubernetes Improved Velocity and DevOps Harmony

@@ -48,7 +48,7 @@ featured: false To address the velocity issue, ricardo.ch CTO Jeremy Seitz established a new software factory called EPD, which consists of 65 engineers, 7 product managers and 2 designers. "We brought these three departments together so that they can kind of streamline this and talk to each other much more closely," says Meury.
-
+
"Being in the End User Community demonstrates that we stand behind these technologies. In Switzerland, if all the companies see that ricardo.ch’s using it, I think that will help adoption. I also like that we’re connected to the other end users, so if there is a really heavy problem, I could go to the Slack channel, and say, ‘Hey, you guys…’ Like Reddit, Github and New York Times or whoever can give a recommendation on what to use here or how to solve that. So that’s kind of a superpower."

— CEDRIC MEURY, HEAD OF PLATFORM ENGINEERING, RICARDO.CH
@@ -64,7 +64,7 @@ featured: false Meury estimates that half of the application has been migrated to Kubernetes. And the plan is to move everything to the Google Cloud Platform by the end of 2018. "We are still running some servers in our own data centers, but all of the containerization efforts and describing our services as Kubernetes manifests will allow us to quite easily make that shift," says Meury.
-
+
"One of the core moments was when a front-end developer asked me how to do a port forward from his laptop to a front-end application to debug, and I told him the command. And he was like, ‘Wow, that’s all I need to do?’ He was super excited and happy about it. That showed me that this power in the right hands can just accelerate development."

- CEDRIC MEURY, HEAD OF PLATFORM ENGINEERING, RICARDO.CH
diff --git a/content/en/case-studies/slamtec/index.html b/content/en/case-studies/slamtec/index.html index 4a99d28fb3..86ebe15f91 100644 --- a/content/en/case-studies/slamtec/index.html +++ b/content/en/case-studies/slamtec/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:



@@ -47,7 +47,7 @@ featured: false After an evaluation of existing technologies, Ji’s team chose Kubernetes for orchestration. "CNCF brings quality assurance and a complete ecosystem for Kubernetes, which is very important for the wide application of Kubernetes," says Ji. Plus, "avoiding binding to an infrastructure technology or provider can help us ensure that our business is deployed and migrated in cross-regional environments, and can serve users all over the world."
-
+
"CNCF brings quality assurance and a complete ecosystem for Kubernetes, which is very important for the wide application of Kubernetes."

- BENNIU JI, DIRECTOR OF CLOUD COMPUTING BUSINESS DIVISION
@@ -60,7 +60,7 @@ featured: false The company uses Harbor as a container image repository. "Harbor’s replication function helps us implement CI/CD on both private and public clouds," says Ji. "In addition, multi-project support, certification and policy configuration, and integration with Kubernetes are also excellent functions." Helm is also being used as a package manager, and the team is evaluating the Istio framework. "We’re very pleased that Kubernetes and these frameworks can be seamlessly integrated," Ji adds.
-
+
"Cloud native is suitable for microservice architecture, it’s suitable for fast iteration and agile development, and it has a relatively perfect ecosystem and active community."

- BENNIU JI, DIRECTOR OF CLOUD COMPUTING BUSINESS DIVISION
diff --git a/content/en/case-studies/slingtv/index.html b/content/en/case-studies/slingtv/index.html index a11527c2d9..349ed8c2de 100644 --- a/content/en/case-studies/slingtv/index.html +++ b/content/en/case-studies/slingtv/index.html @@ -11,7 +11,7 @@ quote: > --- -
+

CASE STUDY:
Sling TV: Marrying Kubernetes and AI to Enable Proper Web Scale

@@ -62,7 +62,7 @@ Led by the belief that “the cloud native architectures and patterns really giv
-
+
“We needed the flexibility to enable our use case versus just a simple orchestrater. Enabling our future in a way that did not give us vendor lock-in was also a key part of our strategy. I think that is part of the Rancher value proposition.”

— Brad Linder, Cloud Native & Big Data Evangelist for Sling TV
@@ -75,7 +75,7 @@ With the emphasis on common tooling, “We are getting to the place where we can
-
+
“We have to be able to react to changes and hiccups in the matrix. It is the foundation for our ability to deliver a high-quality service for our customers."

— Brad Linder, Cloud Native & Big Data Evangelist for Sling TV
diff --git a/content/en/case-studies/sos/index.html b/content/en/case-studies/sos/index.html index 64708a20f8..becf486413 100644 --- a/content/en/case-studies/sos/index.html +++ b/content/en/case-studies/sos/index.html @@ -8,7 +8,7 @@ logo: sos_featured_logo.png --- -
+

CASE STUDY:
SOS International: Using Kubernetes to Provide Emergency Assistance in a Connected World

@@ -56,7 +56,7 @@ logo: sos_featured_logo.png
-
+
"We have to deliver new digital services, but we also have to migrate the old stuff, and we have to transform our core systems into new systems built on top of this platform. One of the reasons why we chose this technology is that we could build new digital services while changing the old one."

- Martin Ahrentsen, Head of Enterprise Architecture, SOS International
@@ -70,7 +70,7 @@ logo: sos_featured_logo.png
-
+
"During our onboarding, we could see that we were chosen by IT professionals because we provided the new technologies."

- Martin Ahrentsen, Head of Enterprise Architecture, SOS International
diff --git a/content/en/case-studies/spotify/index.html b/content/en/case-studies/spotify/index.html index 85e7fc1e86..63243b08f6 100644 --- a/content/en/case-studies/spotify/index.html +++ b/content/en/case-studies/spotify/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY: Spotify
Spotify: An Early Adopter of Containers, Spotify Is Migrating from Homegrown Orchestration to Kubernetes

@@ -52,7 +52,7 @@ featured: false
-
+
"The community has been extremely helpful in getting us to work through all the technology much faster and much easier. And it’s helped us validate all the things we’re doing."

- Dave Zolotusky, Software Engineer, Infrastructure and Operations, Spotify
@@ -67,7 +67,7 @@ featured: false
-
+
"We were able to use a lot of the Kubernetes APIs and extensibility features to support and interface with our legacy infrastructure, so the integration was straightforward and easy."

- James Wen, Site Reliability Engineer, Spotify
diff --git a/content/en/case-studies/squarespace/index.html b/content/en/case-studies/squarespace/index.html index d2b2a18c92..27340835f4 100644 --- a/content/en/case-studies/squarespace/index.html +++ b/content/en/case-studies/squarespace/index.html @@ -5,7 +5,7 @@ cid: caseStudies css: /css/style_case_studies.css --- -
+

CASE STUDY:
Squarespace: Gaining Productivity and Resilience with Kubernetes

@@ -51,7 +51,7 @@ Since Squarespace moved to Kubernetes, in conjunction with modernizing its netwo
-
+
After experimenting with another container orchestration platform and "breaking it in very painful ways," Lynch says, the team began experimenting with Kubernetes in mid-2016 and found that it "answered all the questions that we had." @@ -68,7 +68,7 @@ Since Squarespace moved to Kubernetes, in conjunction with modernizing its netwo
-
+
"We switched to Kubernetes, a new world....It allowed us to streamline our process, so we can now easily create an entire microservice project from templates," Lynch says. And the whole process takes only five minutes, an almost 85% reduction in time compared to their VM deployment.
diff --git a/content/en/case-studies/thredup/index.html b/content/en/case-studies/thredup/index.html index 0a35de2b1a..ad990356ff 100644 --- a/content/en/case-studies/thredup/index.html +++ b/content/en/case-studies/thredup/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:



@@ -49,7 +49,7 @@ featured: false "We wanted to make sure that our engineers could embrace the DevOps mindset as they built software," Homer says. "It was really important to us that they could own the life cycle from end to end, from conception at design, through shipping it and running it in production, from marketing to ecommerce, the user experience and our internal distribution center operations."
-
+
"Kubernetes enabled auto scaling in a seamless and easily manageable way on days like Black Friday. We no longer have to sit there adding instances, monitoring the traffic, doing a lot of manual work."

- CHRIS HOMER, COFOUNDER/CTO, THREDUP
@@ -62,7 +62,7 @@ featured: false According to the infrastructure team, the key improvement was the consistent experience Kubernetes enabled for developers. "It lets developers work in the same environment that their application will be running in production," says Infrastructure Engineer Oleksandr Snagovskyi. Plus, "It became easier to test, easier to refine, and easier to deploy, because everything’s done automatically," says Infrastructure Engineer Oleksii Asiutin. "One of the main goals of our team is to make developers’ lives more comfortable, and we are achieving this with Kubernetes. They can experiment with existing applications and create new services, and do it all blazingly fast."
-
+
"One of the main goals of our team is to make developers’ lives more comfortable, and we are achieving this with Kubernetes. They can experiment with existing applications and create new services, and do it all blazingly fast."

- OLEKSII ASIUTIN, INFRASTRUCTURE ENGINEER, THREDUP
diff --git a/content/en/case-studies/vsco/index.html b/content/en/case-studies/vsco/index.html index 4ca7aa1bbc..c2ac2a2a72 100644 --- a/content/en/case-studies/vsco/index.html +++ b/content/en/case-studies/vsco/index.html @@ -7,7 +7,7 @@ css: /css/style_case_studies.css featured: false --- -
+

CASE STUDY:
VSCO: How a Mobile App Saved 70% on Its EC2 Bill with Cloud Native

@@ -48,7 +48,7 @@ featured: false
-
+
"Kubernetes seemed to have the strongest open source community around it, plus, we had started to standardize on a lot of the Google stack, with Go as a language, and gRPC for almost all communication between our own services inside the data center. So it seemed pretty natural for us to choose Kubernetes."

- MELINDA LU, ENGINEERING MANAGER FOR VSCO'S MACHINE LEARNING TEAM
@@ -64,7 +64,7 @@ featured: false
-
+
"I've been really impressed seeing how our engineers have come up with really creative solutions to things by just combining a lot of Kubernetes primitives, exposing Kubernetes constructs as a service to our engineers as opposed to exposing higher order constructs has worked well for us. It lets you get familiar with the technology and do more interesting things with it."

- MELINDA LU, ENGINEERING MANAGER FOR VSCO’S MACHINE LEARNING TEAM
diff --git a/content/en/case-studies/woorank/index.html b/content/en/case-studies/woorank/index.html index aa41b7cb44..fbb86bdd24 100644 --- a/content/en/case-studies/woorank/index.html +++ b/content/en/case-studies/woorank/index.html @@ -8,7 +8,7 @@ featured: false --- -
+

CASE STUDY:
Woorank: How Kubernetes Helped a Startup Manage 50 Microservices with
12 Engineers—At 30% Less Cost

@@ -50,7 +50,7 @@ featured: false
-
+
"Cloud native technologies have brought to us a transparency on everything going on in our system, from the code to the server. It has brought huge cost savings and a better way of dealing with those costs and keeping them under control. And performance-wise, it has helped our team understand how we can make our code work better on the cloud native infrastructure."

— NILS DE MOOR, CTO/COFOUNDER, WOORANK
@@ -66,7 +66,7 @@ featured: false The company’s number one concern was immediately erased: Maintaining Kubernetes is the responsibility of just one person on staff, and it’s not his fulltime job. Updating the old infrastructure “was always a pain,” says De Moor: It used to take two active working days, “and it was always a bit scary when we did that.” With Kubernetes, it’s just a matter of “a few hours of passively following the process.”
-
+
"When things fail and errors pop up, the system tries to heal itself, and that’s really, for us, the key reason to work with Kubernetes. It allowed us to set up certain testing frameworks to just be alerted when things go wrong, instead of having to look at whether everything went right. It’s made people’s lives much easier. It’s quite a big mindset change."

- NILS DE MOOR, CTO/COFOUNDER, WOORANK
diff --git a/content/en/case-studies/workiva/index.html b/content/en/case-studies/workiva/index.html index 95f323d5ae..1c09503bfb 100644 --- a/content/en/case-studies/workiva/index.html +++ b/content/en/case-studies/workiva/index.html @@ -11,7 +11,7 @@ quote: > With OpenTracing, my team was able to look at a trace and make optimization suggestions to another team without ever looking at their code. --- -
+

CASE STUDY:
Using OpenTracing to Help Pinpoint the Bottlenecks

@@ -30,12 +30,12 @@ quote: > Workiva offers a cloud-based platform for managing and reporting business data. This SaaS product, Wdesk, is used by more than 70 percent of the Fortune 500 companies. As the company made the shift from a monolith to a more distributed, microservice-based system, "We had a number of people working on this, all on different teams, so we needed to identify what the issues were and where the bottlenecks were," says Senior Software Architect MacLeod Broad. With back-end code running on Google App Engine, Google Compute Engine, as well as Amazon Web Services, Workiva needed a tracing system that was agnostic of platform. While preparing one of the company’s first products utilizing AWS, which involved a "sync and link" feature that linked data from spreadsheets built in the new application with documents created in the old application on Workiva’s existing system, Broad’s team found an ideal use case for tracing: There were circular dependencies, and optimizations often turned out to be micro-optimizations that didn’t impact overall speed.
- +

Solution

- Broad’s team introduced the platform-agnostic distributed tracing system OpenTracing to help them pinpoint the bottlenecks. + Broad’s team introduced the platform-agnostic distributed tracing system OpenTracing to help them pinpoint the bottlenecks.

Impact

Now used throughout the company, OpenTracing produced immediate results. Software Engineer Michael Davis reports: "Tracing has given us immediate, actionable insight into how to improve our service. Through a combination of seeing where each call spends its time, as well as which calls are most often used, we were able to reduce our average response time by 95 percent (from 600ms to 30ms) in a single fix." @@ -61,14 +61,14 @@ The challenges faced by Broad’s team may sound familiar to other companies tha
-
+
"A tracing system can at a glance explain an architecture, narrow down a performance bottleneck and zero in on it, and generally just help direct an investigation at a high level. Being able to do that at a glance is much faster than at a meeting or with three days of debugging, and it’s a lot faster than never figuring out the problem and just moving on."
— MACLEOD BROAD, SENIOR SOFTWARE ARCHITECT AT WORKIVA
- + Simply put, it was an ideal use case for tracing. "A tracing system can at a glance explain an architecture, narrow down a performance bottleneck and zero in on it, and generally just help direct an investigation at a high level," says Broad. "Being able to do that at a glance is much faster than at a meeting or with three days of debugging, and it’s a lot faster than never figuring out the problem and just moving on."

With Workiva’s back-end code running on Google Compute Engine as well as App Engine and AWS, Broad knew that he needed a tracing system that was platform agnostic. "We were looking at different tracing solutions," he says, "and we decided that because it seemed to be a very evolving market, we didn’t want to get stuck with one vendor. So OpenTracing seemed like the cleanest way to avoid vendor lock-in on what backend we actually had to use."

Once they introduced OpenTracing into this first use case, Broad says, "The trace made it super obvious where the bottlenecks were." Even though everyone had assumed it was Workiva’s existing code that was slowing things down, that wasn’t exactly the case. "It looked like the existing code was slow only because it was reaching out to our next-generation services, and they were taking a very long time to service all those requests," says Broad. "On the waterfall graph you can see the exact same work being done on every request when it was calling back in. So every service request would look the exact same for every response being paged out. And then it was just a no-brainer of, ‘Why is it doing all this work again?’"

@@ -78,7 +78,7 @@ Using the insight OpenTracing gave them, "My team was able to look at a trace an
-
+
"We were looking at different tracing solutions and we decided that because it seemed to be a very evolving market, we didn’t want to get stuck with one vendor. So OpenTracing seemed like the cleanest way to avoid vendor lock-in on what backend we actually had to use."
— MACLEOD BROAD, SENIOR SOFTWARE ARCHITECT AT WORKIVA
@@ -90,7 +90,7 @@ Using the insight OpenTracing gave them, "My team was able to look at a trace an Some teams were won over quickly. "Tracing has given us immediate, actionable insight into how to improve our [Workspaces] service," says Software Engineer Michael Davis. "Through a combination of seeing where each call spends its time, as well as which calls are most often used, we were able to reduce our average response time by 95 percent (from 600ms to 30ms) in a single fix."

Most of Workiva’s major products are now traced using OpenTracing, with data pushed into Google StackDriver. Even the products that aren’t fully traced have some components and libraries that are.

Broad points out that because some of the engineers were working on App Engine and already had experience with the platform’s Appstats library for profiling performance, it didn’t take much to get them used to using OpenTracing. But others were a little more reluctant. "The biggest hindrance to adoption I think has been the concern about how much latency is introducing tracing [and StackDriver] going to cost," he says. "People are also very concerned about adding middleware to whatever they’re working on. Questions about passing the context around and how that’s done were common. A lot of our Go developers were fine with it, because they were already doing that in one form or another. Our Java developers were not super keen on doing that because they’d used other systems that didn’t require that."

-But the benefits clearly outweighed the concerns, and today, Workiva’s official policy is to use tracing." +But the benefits clearly outweighed the concerns, and today, Workiva’s official policy is to use tracing." In fact, Broad believes that tracing naturally fits in with Workiva’s existing logging and metrics systems. "This was the way we presented it internally, and also the way we designed our use," he says. "Our traces are logged in the exact same mechanism as our app metric and logging data, and they get pushed the exact same way. So we treat all that data exactly the same when it’s being created and when it’s being recorded. We have one internal library that we use for logging, telemetry, analytics and tracing." @@ -98,7 +98,7 @@ In fact, Broad believes that tracing naturally fits in with Workiva’s existing
- "Tracing has given us immediate, actionable insight into how to improve our [Workspaces] service. Through a combination of seeing where each call spends its time, as well as which calls are most often used, we were able to reduce our average response time by 95 percent (from 600ms to 30ms) in a single fix."
— Michael Davis, Software Engineer, Workiva
+ "Tracing has given us immediate, actionable insight into how to improve our [Workspaces] service. Through a combination of seeing where each call spends its time, as well as which calls are most often used, we were able to reduce our average response time by 95 percent (from 600ms to 30ms) in a single fix."
— Michael Davis, Software Engineer, Workiva
diff --git a/content/en/case-studies/ygrene/index.html b/content/en/case-studies/ygrene/index.html index 498dc0ec73..c07443249a 100644 --- a/content/en/case-studies/ygrene/index.html +++ b/content/en/case-studies/ygrene/index.html @@ -12,7 +12,7 @@ quote: > We had to change some practices and code, and the way things were built, but we were able to get our main systems onto Kubernetes in a month or so, and then into production within two months. That’s very fast for a finance company. --- -
+

CASE STUDY:
Ygrene: Using Cloud Native to Bring Security and Scalability to the Finance Industry

@@ -61,7 +61,7 @@ By 2017, deployments and scalability had become pain points. The company was uti
-
+
"CNCF has been an amazing incubator for so many projects. Now we look at its webpage regularly to find out if there are any new, awesome, high-quality projects we can implement into our stack. It’s actually become a hub for us for knowing what software we need to be looking at to make our systems more secure or more scalable."

— Austin Adams, Development Manager, Ygrene Energy Fund
@@ -78,7 +78,7 @@ Notary, in particular, "has been a godsend," says Adams. "We need to know that o
-
+
"We had to change some practices and code, and the way things were built," Adams says, "but we were able to get our main systems onto Kubernetes in a month or so, and then into production within two months. That’s very fast for a finance company."
diff --git a/layouts/case-studies/list.html b/layouts/case-studies/list.html index 05aca4ecb1..deec393953 100644 --- a/layouts/case-studies/list.html +++ b/layouts/case-studies/list.html @@ -3,11 +3,11 @@ {{ with site.Params.language_alternatives }} {{ range . }} {{ with (where $.Translations ".Lang" . ) }} - {{ $p := index . 0 }} + {{ $p := index . 0 }} {{ $pages = $pages | lang.Merge $p.Pages }} {{ end }} {{ end }} -{{ end }} +{{ end }} {{ $featured := (where $pages "Params.featured" true).ByWeight | first 4 }}
@@ -59,7 +59,7 @@ {{ end }} {{ end }} - {{ T + {{ T
diff --git a/static/css/style_amadeus.css b/static/css/style_amadeus.css index bf4d9e3c82..709ecb078d 100644 --- a/static/css/style_amadeus.css +++ b/static/css/style_amadeus.css @@ -50,7 +50,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:32px; - background: url('/images/CaseStudy_amadeus_banner1.jpg'); + background: url('/images/case-studies/amadeus/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -82,7 +82,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_amadeus_banner3.jpg'); + background: url('/images/case-studies/amadeus/banner3.jpg'); background-size:100% auto; } @@ -95,7 +95,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_amadeus_banner4.jpg'); + background: url('/images/case-studies/amadeus/banner4.jpg'); background-size:100% auto; } @@ -276,7 +276,7 @@ h4 { .logo { width:8%; } - + .col1 { width: 95%; padding-right:8%; @@ -310,7 +310,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_amadeus_banner1.jpg'); + background: url('/images/case-studies/amadeus/banner1.jpg'); background-size:100% auto; } @@ -340,7 +340,7 @@ h4 { line-height:23px; width:90%; float:left; - background: url('/images/CaseStudy_amadeus_banner3.jpg'); + background: url('/images/case-studies/amadeus/banner3.jpg'); } .banner4 { @@ -354,7 +354,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_amadeus_banner4.jpg'); + background: url('/images/case-studies/amadeus/banner4.jpg'); } .banner5 { @@ -439,7 +439,7 @@ h4 { } /* End Media 910px */ @media screen and (max-width: 580px){ - + .header_logo { width:60%; margin-bottom:1%; @@ -448,6 +448,6 @@ h4 { } .banner1 { - background: url('/images/CaseStudy_amadeus_banner_mobile.jpg'); + background: url('/images/case-studies/amadeus/banner_mobile.jpg'); } } diff --git a/static/css/style_ancestry.css b/static/css/style_ancestry.css index d5ecfd98d7..9f93d22bb9 100644 --- a/static/css/style_ancestry.css +++ b/static/css/style_ancestry.css @@ -43,7 +43,7 @@ h1 { padding-bottom:0.5%; padding-left:10.9%; font-size:32px; - background: url('/images/CaseStudy_ancestry_banner1.jpg'); + background: url('/images/case-studies/ancestry/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -74,7 +74,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_ancestry_banner3.jpg'); + background: url('/images/case-studies/ancestry/banner3.jpg'); background-size:100% auto; } @@ -87,7 +87,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_ancestry_banner4.jpg'); + background: url('/images/case-studies/ancestry/banner4.jpg'); background-size:100% auto; } @@ -263,7 +263,7 @@ h4 { .logo { width:8%; } - + .col1 { width: 90%; padding-left:5%; diff --git a/static/css/style_blablacar.css b/static/css/style_blablacar.css index e5e45c2284..ffa005ee71 100644 --- a/static/css/style_blablacar.css +++ b/static/css/style_blablacar.css @@ -47,7 +47,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:34px; - background: url('/images/CaseStudy_blablacar_banner1.jpg'); + background: url('/images/case-studies/blablacar/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -78,7 +78,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_blablacar_banner3.jpg'); + background: url('/images/case-studies/blablacar/banner3.jpg'); background-size:100% auto; } @@ -91,7 +91,7 @@ h1 { font-size:25px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_blablacar_banner4.jpg'); + background: url('/images/case-studies/blablacar/banner4.jpg'); background-size:100% auto; } @@ -304,7 +304,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_blablacar_banner1.jpg'); + background: url('/images/case-studies/blablacar/banner1.jpg'); background-size:100% auto; } @@ -334,7 +334,7 @@ h4 { line-height:23px; width:90%; float:left; - background: url('/images/CaseStudy_blablacar_banner3.jpg'); + background: url('/images/case-studies/blablacar/banner3.jpg'); } .banner4 { @@ -348,7 +348,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_blablacar_banner4.jpg'); + background: url('/images/case-studies/blablacar/banner4.jpg'); } .banner5 { @@ -441,6 +441,6 @@ h4 { } .banner1 { - background: url('/images/CaseStudy_blablacar_banner1_mobile.jpg'); + background: url('/images/case-studies/blablacar/banner1_mobile.jpg'); } } diff --git a/static/css/style_blackrock.css b/static/css/style_blackrock.css index 8c05f839a9..61d997ba41 100644 --- a/static/css/style_blackrock.css +++ b/static/css/style_blackrock.css @@ -47,7 +47,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:32px; - background: url('/images/CaseStudy_blackrock_banner1.jpg'); + background: url('/images/case-studies/blackrock/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -78,7 +78,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_blackrock_banner3.jpg'); + background: url('/images/case-studies/blackrock/banner3.jpg'); background-size:100% auto; } @@ -91,7 +91,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_blackrock_banner4.jpg'); + background: url('/images/case-studies/blackrock/banner4.jpg'); background-size:100% auto; } @@ -302,7 +302,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_blackrock_banner1.jpg'); + background: url('/images/case-studies/blackrock/banner1.jpg'); background-size:100% auto; } @@ -332,7 +332,7 @@ h4 { line-height:23px; width:90%; float:left; - background: url('/images/CaseStudy_blackrock_banner3.jpg'); + background: url('/images/case-studies/blackrock/banner3.jpg'); } .banner4 { @@ -346,7 +346,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_blackrock_banner4.jpg'); + background: url('/images/case-studies/blackrock/banner4.jpg'); } .banner5 { @@ -431,7 +431,7 @@ h4 { } /* End Media 910px */ @media screen and (max-width: 580px){ - + .header_logo { width:60%; margin-bottom:1%; diff --git a/static/css/style_box.css b/static/css/style_box.css index 90c4e8ea00..9ca316ed1e 100644 --- a/static/css/style_box.css +++ b/static/css/style_box.css @@ -44,7 +44,7 @@ h1 { padding-bottom:0.5%; padding-left:9.9%; font-size:32px; - background: url('/images/CaseStudy_box_banner1.jpg'); + background: url('/images/case-studies/box/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -72,7 +72,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_box_banner3.jpg'); + background: url('/images/case-studies/box/banner3.jpg'); background-size:100% auto; } @@ -85,7 +85,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_box_banner4.jpg'); + background: url('/images/case-studies/box/banner4.jpg'); background-size:100% auto; } @@ -256,7 +256,7 @@ h4 { .logo { width:8%; } - + .col1 { width: 100%; padding-left:5%; @@ -292,7 +292,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_box_banner1.jpg'); + background: url('/images/case-studies/box/banner1.jpg'); background-size:100% auto; } @@ -323,7 +323,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_box_banner3.jpg'); + background: url('/images/case-studies/box/banner3.jpg'); } .banner4 { @@ -337,7 +337,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_box_banner4.jpg'); + background: url('/images/case-studies/box/banner4.jpg'); } .banner5 { diff --git a/static/css/style_buffer.css b/static/css/style_buffer.css index 0928365b13..299a1aea21 100644 --- a/static/css/style_buffer.css +++ b/static/css/style_buffer.css @@ -45,7 +45,7 @@ h1 { padding-bottom:0.5%; padding-left:9.9%; font-size:32px; - background: url('/images/CaseStudy_buffer_banner3.jpg'); + background: url('/images/case-studies/buffer/banner3.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -75,7 +75,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_buffer_banner1.jpg'); + background: url('/images/case-studies/buffer/banner1.jpg'); background-size:100% auto; } @@ -88,7 +88,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_buffer_banner4.jpg'); + background: url('/images/case-studies/buffer/banner4.jpg'); background-size:100% auto; } @@ -259,7 +259,7 @@ h4 { .logo { width:8%; } - + .col1 { width: 100%; padding-left:5%; @@ -295,7 +295,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_buffer_banner3.jpg'); + background: url('/images/case-studies/buffer/banner3.jpg'); background-size:100% auto; } @@ -328,7 +328,7 @@ h4 { padding-left:15%; padding-right:10%; float:left; - background: url('/images/CaseStudy_buffer_banner1.jpg'); + background: url('/images/case-studies/buffer/banner1.jpg'); } .banner4 { @@ -342,7 +342,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_buffer_banner4.jpg'); + background: url('/images/case-studies/buffer/banner4.jpg'); } .banner5 { diff --git a/static/css/style_crowdfire.css b/static/css/style_crowdfire.css index a03bfb4bd5..3e153e1006 100644 --- a/static/css/style_crowdfire.css +++ b/static/css/style_crowdfire.css @@ -47,7 +47,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:32px; - background: url('/images/CaseStudy_crowdfire_banner1.jpg'); + background: url('/images/case-studies/crowdfire/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -78,7 +78,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_crowdfire_banner3.jpg'); + background: url('/images/case-studies/crowdfire/banner3.jpg'); background-size:100% auto; } @@ -91,7 +91,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_crowdfire_banner4.jpg'); + background: url('/images/case-studies/crowdfire/banner4.jpg'); background-size:100% auto; } @@ -268,7 +268,7 @@ h4 { .logo { width:8%; } - + .col1 { width: 95%; padding-right:8%; @@ -302,7 +302,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_crowdfire_banner1.jpg'); + background: url('/images/case-studies/crowdfire/banner1.jpg'); background-size:100% auto; } @@ -332,7 +332,7 @@ h4 { line-height:23px; width:90%; float:left; - background: url('/images/CaseStudy_crowdfire_banner3.jpg'); + background: url('/images/case-studies/crowdfire/banner3.jpg'); } .banner4 { @@ -346,7 +346,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_crowdfire_banner4.jpg'); + background: url('/images/case-studies/crowdfire/banner4.jpg'); } .banner5 { @@ -441,6 +441,6 @@ h4 { } .banner1 { - background: url('/images/CaseStudy_crowdfire_banner1.jpg'); + background: url('/images/case-studies/crowdfire/banner1.jpg'); } } diff --git a/static/css/style_golfnow.css b/static/css/style_golfnow.css index b33d3cfdab..abd875080d 100644 --- a/static/css/style_golfnow.css +++ b/static/css/style_golfnow.css @@ -18,7 +18,7 @@ body { } footer { - background-color:#ffffff !important; + background-color:#ffffff !important; } h1 { @@ -44,7 +44,7 @@ h1 { padding-bottom:0.5%; padding-left:9.9%; font-size:32px; - background: url('/images/CaseStudy_golfnow_banner1.jpg'); + background: url('/images/case-studies/golfnow/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -74,7 +74,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_golfnow_banner3.jpg'); + background: url('/images/case-studies/golfnow/banner3.jpg'); background-size:100% auto; } @@ -87,7 +87,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_golfnow_banner4.jpg'); + background: url('/images/case-studies/golfnow/banner4.jpg'); background-size:100% auto; } @@ -294,7 +294,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_golfnow_banner1.jpg'); + background: url('/images/case-studies/golfnow/banner1.jpg'); background-size:100% auto; } @@ -327,7 +327,7 @@ h4 { padding-left:15%; padding-right:10%; float:left; - background: url('/images/CaseStudy_golfnow_banner3.jpg'); + background: url('/images/case-studies/golfnow/banner3.jpg'); } .banner4 { @@ -341,7 +341,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_golfnow_banner4.jpg'); + background: url('/images/case-studies/golfnow/banner4.jpg'); } .banner5 { @@ -402,7 +402,7 @@ h4 { text-align:center; color:#ffffff; } - + .fullcol { margin-top:6%; } diff --git a/static/css/style_haufegroup.css b/static/css/style_haufegroup.css index b472a3d57f..b8cee6ca6e 100644 --- a/static/css/style_haufegroup.css +++ b/static/css/style_haufegroup.css @@ -47,7 +47,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:32px; - background: url('/images/CaseStudy_haufegroup_banner1.jpg'); + background: url('/images/case-studies/haufegroup/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -78,7 +78,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_haufegroup_banner3.jpg'); + background: url('/images/case-studies/haufegroup/banner3.jpg'); background-size:100% auto; } @@ -91,7 +91,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_haufegroup_banner4.jpg'); + background: url('/images/case-studies/haufegroup/banner4.jpg'); background-size:100% auto; } @@ -302,7 +302,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_haufegroup_banner1.jpg'); + background: url('/images/case-studies/haufegroup/banner1.jpg'); background-size:100% auto; } @@ -332,7 +332,7 @@ h4 { line-height:23px; width:90%; float:left; - background: url('/images/CaseStudy_haufegroup_banner3.jpg'); + background: url('/images/case-studies/haufegroup/banner3.jpg'); } .banner4 { @@ -346,7 +346,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_haufegroup_banner4.jpg'); + background: url('/images/case-studies/haufegroup/banner4.jpg'); } .banner5 { @@ -439,6 +439,6 @@ h4 { } .banner1 { - background: url('/images/CaseStudy_haufegroup_banner1.jpg'); + background: url('/images/case-studies/haufegroup/banner1.jpg'); } } diff --git a/static/css/style_huawei.css b/static/css/style_huawei.css index 05c4f30ee0..a1d449e621 100644 --- a/static/css/style_huawei.css +++ b/static/css/style_huawei.css @@ -47,7 +47,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:32px; - background: url('/images/CaseStudy_huawei_banner1.jpg'); + background: url('/images/case-studies/huawei/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -78,7 +78,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_huawei_banner3.jpg'); + background: url('/images/case-studies/huawei/banner3.jpg'); background-size:100% auto; } @@ -91,7 +91,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_huawei_banner4.jpg'); + background: url('/images/case-studies/huawei/banner4.jpg'); background-size:100% auto; } @@ -302,7 +302,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_huawei_banner1.jpg'); + background: url('/images/case-studies/huawei/banner1.jpg'); background-size:100% auto; } @@ -332,7 +332,7 @@ h4 { line-height:23px; width:90%; float:left; - background: url('/images/CaseStudy_huawei_banner3.jpg'); + background: url('/images/case-studies/huawei/banner3.jpg'); } .banner4 { @@ -346,7 +346,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_huawei_banner4.jpg'); + background: url('/images/case-studies/huawei/banner4.jpg'); } .banner5 { @@ -439,6 +439,6 @@ h4 { } .banner1 { - background: url('/images/CaseStudy_blablacar_banner1_mobile.jpg'); + background: url('/images/case-studies/blablacar/banner1_mobile.jpg'); } } diff --git a/static/css/style_peardeck.css b/static/css/style_peardeck.css index 610dc29b85..0ec3a55bef 100644 --- a/static/css/style_peardeck.css +++ b/static/css/style_peardeck.css @@ -44,7 +44,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:32px; - background: url('/images/CaseStudy_peardeck_banner3.jpg'); + background: url('/images/case-studies/peardeck/banner3.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -74,7 +74,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_peardeck_banner1.jpg'); + background: url('/images/case-studies/peardeck/banner1.jpg'); background-size:100% auto; } @@ -87,7 +87,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_peardeck_banner2.jpg'); + background: url('/images/case-studies/peardeck/banner2.jpg'); background-size:100% auto; } @@ -294,7 +294,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_peardeck_banner1.jpg'); + background: url('/images/case-studies/peardeck/banner1.jpg'); background-size:100% auto; } @@ -327,7 +327,7 @@ h4 { padding-left:15%; padding-right:10%; float:left; - background: url('/images/CaseStudy_peardeck_banner3.jpg'); + background: url('/images/case-studies/peardeck/banner3.jpg'); } .banner4 { @@ -341,7 +341,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_peardeck_banner2.jpg'); + background: url('/images/case-studies/peardeck/banner2.jpg'); } .banner5 { diff --git a/static/css/style_wink.css b/static/css/style_wink.css index 226426d233..9dce4c391d 100644 --- a/static/css/style_wink.css +++ b/static/css/style_wink.css @@ -40,7 +40,7 @@ h1 { padding-bottom:0.5%; padding-left:9.9%; font-size:32px; - background: url('/images/CaseStudy_wink_banner1.jpg'); + background: url('/images/case-studies/wink/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -70,7 +70,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_wink_banner3.jpg'); + background: url('/images/case-studies/wink/banner3.jpg'); background-size:100% auto; } @@ -83,7 +83,7 @@ h1 { font-size:21px; letter-spacing:0.03em; line-height:32px; - background: url('/images/CaseStudy_wink_banner4.jpg'); + background: url('/images/case-studies/wink/banner4.jpg'); background-size:100% auto; } @@ -290,7 +290,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_wink_banner1.jpg'); + background: url('/images/case-studies/wink/banner1.jpg'); background-size:100% auto; } @@ -323,7 +323,7 @@ h4 { padding-left:15%; padding-right:10%; float:left; - background: url('/images/CaseStudy_wink_banner3.jpg'); + background: url('/images/case-studies/wink/banner3.jpg'); } .banner4 { @@ -337,7 +337,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_wink_banner4.jpg'); + background: url('/images/case-studies/wink/banner4.jpg'); } .banner5 { diff --git a/static/css/style_zalando.css b/static/css/style_zalando.css index c962f4f76d..a7e9cd4397 100644 --- a/static/css/style_zalando.css +++ b/static/css/style_zalando.css @@ -47,7 +47,7 @@ h1 { padding-bottom:0.5%; padding-left:10%; font-size:32px; - background: url('/images/CaseStudy_zalando_banner1.jpg'); + background: url('/images/case-studies/zalando/banner1.jpg'); background-size:100% auto; background-repeat:no-repeat; } @@ -78,7 +78,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_zalando_banner3.jpg'); + background: url('/images/case-studies/zalando/banner3.jpg'); background-size:100% auto; } @@ -91,7 +91,7 @@ h1 { font-size:24px; letter-spacing:0.03em; line-height:34px; - background: url('/images/CaseStudy_zalando_banner4.jpg'); + background: url('/images/case-studies/zalando/banner4.jpg'); background-size:100% auto; } @@ -302,7 +302,7 @@ h4 { padding-bottom:2%; padding-left:10%; font-size:18px; - background: url('/images/CaseStudy_zalando_banner1.jpg'); + background: url('/images/case-studies/zalando/banner1.jpg'); background-size:100% auto; } @@ -332,7 +332,7 @@ h4 { line-height:23px; width:90%; float:left; - background: url('/images/CaseStudy_zalando_banner3.jpg'); + background: url('/images/case-studies/zalando/banner3.jpg'); } .banner4 { @@ -346,7 +346,7 @@ h4 { line-height:24px; width:100%; float:left; - background: url('/images/CaseStudy_zalando_banner4.jpg'); + background: url('/images/case-studies/zalando/banner4.jpg'); } .banner5 { diff --git a/static/images/CaseStudy_adform_banner1.jpg b/static/images/case-studies/adform/banner1.jpg similarity index 100% rename from static/images/CaseStudy_adform_banner1.jpg rename to static/images/case-studies/adform/banner1.jpg diff --git a/static/images/CaseStudy_adform_banner3.jpg b/static/images/case-studies/adform/banner3.jpg similarity index 100% rename from static/images/CaseStudy_adform_banner3.jpg rename to static/images/case-studies/adform/banner3.jpg diff --git a/static/images/CaseStudy_adform_banner4.jpg b/static/images/case-studies/adform/banner4.jpg similarity index 100% rename from static/images/CaseStudy_adform_banner4.jpg rename to static/images/case-studies/adform/banner4.jpg diff --git a/static/images/Adidas1.png b/static/images/case-studies/adidas/banner1.png similarity index 100% rename from static/images/Adidas1.png rename to static/images/case-studies/adidas/banner1.png diff --git a/static/images/Adidas2.png b/static/images/case-studies/adidas/banner2.png similarity index 100% rename from static/images/Adidas2.png rename to static/images/case-studies/adidas/banner2.png diff --git a/static/images/Adidas3.png b/static/images/case-studies/adidas/banner3.png similarity index 100% rename from static/images/Adidas3.png rename to static/images/case-studies/adidas/banner3.png diff --git a/static/images/CaseStudy_amadeus_banner1.jpg b/static/images/case-studies/amadeus/banner1.jpg similarity index 100% rename from static/images/CaseStudy_amadeus_banner1.jpg rename to static/images/case-studies/amadeus/banner1.jpg diff --git a/static/images/CaseStudy_amadeus_banner_mobile.jpg b/static/images/case-studies/amadeus/banner1_mobile.jpg similarity index 100% rename from static/images/CaseStudy_amadeus_banner_mobile.jpg rename to static/images/case-studies/amadeus/banner1_mobile.jpg diff --git a/static/images/CaseStudy_amadeus_banner3.jpg b/static/images/case-studies/amadeus/banner3.jpg similarity index 100% rename from static/images/CaseStudy_amadeus_banner3.jpg rename to static/images/case-studies/amadeus/banner3.jpg diff --git a/static/images/CaseStudy_amadeus_banner4.jpg b/static/images/case-studies/amadeus/banner4.jpg similarity index 100% rename from static/images/CaseStudy_amadeus_banner4.jpg rename to static/images/case-studies/amadeus/banner4.jpg diff --git a/static/images/CaseStudy_ancestry_banner1.jpg b/static/images/case-studies/ancestry/banner1.jpg similarity index 100% rename from static/images/CaseStudy_ancestry_banner1.jpg rename to static/images/case-studies/ancestry/banner1.jpg diff --git a/static/images/CaseStudy_ancestry_banner3.jpg b/static/images/case-studies/ancestry/banner3.jpg similarity index 100% rename from static/images/CaseStudy_ancestry_banner3.jpg rename to static/images/case-studies/ancestry/banner3.jpg diff --git a/static/images/CaseStudy_ancestry_banner4.jpg b/static/images/case-studies/ancestry/banner4.jpg similarity index 100% rename from static/images/CaseStudy_ancestry_banner4.jpg rename to static/images/case-studies/ancestry/banner4.jpg diff --git a/static/images/CaseStudy_antfinancial_banner1.jpg b/static/images/case-studies/antfinancial/banner1.jpg similarity index 100% rename from static/images/CaseStudy_antfinancial_banner1.jpg rename to static/images/case-studies/antfinancial/banner1.jpg diff --git a/static/images/CaseStudy_antfinancial_banner3.jpg b/static/images/case-studies/antfinancial/banner3.jpg similarity index 100% rename from static/images/CaseStudy_antfinancial_banner3.jpg rename to static/images/case-studies/antfinancial/banner3.jpg diff --git a/static/images/CaseStudy_antfinancial_banner4.jpg b/static/images/case-studies/antfinancial/banner4.jpg similarity index 100% rename from static/images/CaseStudy_antfinancial_banner4.jpg rename to static/images/case-studies/antfinancial/banner4.jpg diff --git a/static/images/CaseStudy_appdirect_banner1.jpg b/static/images/case-studies/appdirect/banner1.jpg similarity index 100% rename from static/images/CaseStudy_appdirect_banner1.jpg rename to static/images/case-studies/appdirect/banner1.jpg diff --git a/static/images/CaseStudy_appdirect_banner3.jpg b/static/images/case-studies/appdirect/banner3.jpg similarity index 100% rename from static/images/CaseStudy_appdirect_banner3.jpg rename to static/images/case-studies/appdirect/banner3.jpg diff --git a/static/images/CaseStudy_appdirect_banner4.jpg b/static/images/case-studies/appdirect/banner4.jpg similarity index 100% rename from static/images/CaseStudy_appdirect_banner4.jpg rename to static/images/case-studies/appdirect/banner4.jpg diff --git a/static/images/Babylon1.jpg b/static/images/case-studies/babylon/banner1.jpg similarity index 100% rename from static/images/Babylon1.jpg rename to static/images/case-studies/babylon/banner1.jpg diff --git a/static/images/Babylon2.jpg b/static/images/case-studies/babylon/banner2.jpg similarity index 100% rename from static/images/Babylon2.jpg rename to static/images/case-studies/babylon/banner2.jpg diff --git a/static/images/babylon4.jpg b/static/images/case-studies/babylon/banner4.jpg similarity index 100% rename from static/images/babylon4.jpg rename to static/images/case-studies/babylon/banner4.jpg diff --git a/static/images/CaseStudy_blablacar_banner1.jpg b/static/images/case-studies/blablacar/banner1.jpg similarity index 100% rename from static/images/CaseStudy_blablacar_banner1.jpg rename to static/images/case-studies/blablacar/banner1.jpg diff --git a/static/images/CaseStudy_blablacar_banner1_mobile.jpg b/static/images/case-studies/blablacar/banner1_mobile.jpg similarity index 100% rename from static/images/CaseStudy_blablacar_banner1_mobile.jpg rename to static/images/case-studies/blablacar/banner1_mobile.jpg diff --git a/static/images/CaseStudy_blablacar_banner3.jpg b/static/images/case-studies/blablacar/banner3.jpg similarity index 100% rename from static/images/CaseStudy_blablacar_banner3.jpg rename to static/images/case-studies/blablacar/banner3.jpg diff --git a/static/images/CaseStudy_blablacar_banner4.jpg b/static/images/case-studies/blablacar/banner4.jpg similarity index 100% rename from static/images/CaseStudy_blablacar_banner4.jpg rename to static/images/case-studies/blablacar/banner4.jpg diff --git a/static/images/CaseStudy_blackrock_banner1.jpg b/static/images/case-studies/blackrock/banner1.jpg similarity index 100% rename from static/images/CaseStudy_blackrock_banner1.jpg rename to static/images/case-studies/blackrock/banner1.jpg diff --git a/static/images/CaseStudy_blackrock_banner3.jpg b/static/images/case-studies/blackrock/banner3.jpg similarity index 100% rename from static/images/CaseStudy_blackrock_banner3.jpg rename to static/images/case-studies/blackrock/banner3.jpg diff --git a/static/images/CaseStudy_blackrock_banner4.jpg b/static/images/case-studies/blackrock/banner4.jpg similarity index 100% rename from static/images/CaseStudy_blackrock_banner4.jpg rename to static/images/case-studies/blackrock/banner4.jpg diff --git a/static/images/booking1.jpg b/static/images/case-studies/booking/banner1.jpg similarity index 100% rename from static/images/booking1.jpg rename to static/images/case-studies/booking/banner1.jpg diff --git a/static/images/booking2.JPG b/static/images/case-studies/booking/banner2.jpg similarity index 100% rename from static/images/booking2.JPG rename to static/images/case-studies/booking/banner2.jpg diff --git a/static/images/booking3.jpg b/static/images/case-studies/booking/banner3.jpg similarity index 100% rename from static/images/booking3.jpg rename to static/images/case-studies/booking/banner3.jpg diff --git a/static/images/BoozAllen1.png b/static/images/case-studies/booz-allen/banner1.png similarity index 100% rename from static/images/BoozAllen1.png rename to static/images/case-studies/booz-allen/banner1.png diff --git a/static/images/BoozAllen2.jpg b/static/images/case-studies/booz-allen/banner2.jpg similarity index 100% rename from static/images/BoozAllen2.jpg rename to static/images/case-studies/booz-allen/banner2.jpg diff --git a/static/images/BoozAllen4.jpg b/static/images/case-studies/booz-allen/banner4.jpg similarity index 100% rename from static/images/BoozAllen4.jpg rename to static/images/case-studies/booz-allen/banner4.jpg diff --git a/static/images/CaseStudy_bose_banner1.jpg b/static/images/case-studies/bose/banner1.jpg similarity index 100% rename from static/images/CaseStudy_bose_banner1.jpg rename to static/images/case-studies/bose/banner1.jpg diff --git a/static/images/CaseStudy_bose_banner3.jpg b/static/images/case-studies/bose/banner3.jpg similarity index 100% rename from static/images/CaseStudy_bose_banner3.jpg rename to static/images/case-studies/bose/banner3.jpg diff --git a/static/images/CaseStudy_bose_banner4.jpg b/static/images/case-studies/bose/banner4.jpg similarity index 100% rename from static/images/CaseStudy_bose_banner4.jpg rename to static/images/case-studies/bose/banner4.jpg diff --git a/static/images/CaseStudy_box_banner1.jpg b/static/images/case-studies/box/banner1.jpg similarity index 100% rename from static/images/CaseStudy_box_banner1.jpg rename to static/images/case-studies/box/banner1.jpg diff --git a/static/images/CaseStudy_box_banner3.jpg b/static/images/case-studies/box/banner3.jpg similarity index 100% rename from static/images/CaseStudy_box_banner3.jpg rename to static/images/case-studies/box/banner3.jpg diff --git a/static/images/CaseStudy_box_banner4.jpg b/static/images/case-studies/box/banner4.jpg similarity index 100% rename from static/images/CaseStudy_box_banner4.jpg rename to static/images/case-studies/box/banner4.jpg diff --git a/static/images/CaseStudy_buffer_banner1.jpg b/static/images/case-studies/buffer/banner1.jpg similarity index 100% rename from static/images/CaseStudy_buffer_banner1.jpg rename to static/images/case-studies/buffer/banner1.jpg diff --git a/static/images/CaseStudy_buffer_banner3.jpg b/static/images/case-studies/buffer/banner3.jpg similarity index 100% rename from static/images/CaseStudy_buffer_banner3.jpg rename to static/images/case-studies/buffer/banner3.jpg diff --git a/static/images/CaseStudy_buffer_banner4.jpg b/static/images/case-studies/buffer/banner4.jpg similarity index 100% rename from static/images/CaseStudy_buffer_banner4.jpg rename to static/images/case-studies/buffer/banner4.jpg diff --git a/static/images/CaseStudy_capitalone_banner1.jpg b/static/images/case-studies/capitalone/banner1.jpg similarity index 100% rename from static/images/CaseStudy_capitalone_banner1.jpg rename to static/images/case-studies/capitalone/banner1.jpg diff --git a/static/images/CaseStudy_capitalone_banner3.jpg b/static/images/case-studies/capitalone/banner3.jpg similarity index 100% rename from static/images/CaseStudy_capitalone_banner3.jpg rename to static/images/case-studies/capitalone/banner3.jpg diff --git a/static/images/CaseStudy_capitalone_banner4.jpg b/static/images/case-studies/capitalone/banner4.jpg similarity index 100% rename from static/images/CaseStudy_capitalone_banner4.jpg rename to static/images/case-studies/capitalone/banner4.jpg diff --git a/static/images/CaseStudy_cern_banner1.jpg b/static/images/case-studies/cern/banner1.jpg similarity index 100% rename from static/images/CaseStudy_cern_banner1.jpg rename to static/images/case-studies/cern/banner1.jpg diff --git a/static/images/CaseStudy_cern_banner3.jpg b/static/images/case-studies/cern/banner3.jpg similarity index 100% rename from static/images/CaseStudy_cern_banner3.jpg rename to static/images/case-studies/cern/banner3.jpg diff --git a/static/images/CaseStudy_cern_banner4.jpg b/static/images/case-studies/cern/banner4.jpg similarity index 100% rename from static/images/CaseStudy_cern_banner4.jpg rename to static/images/case-studies/cern/banner4.jpg diff --git a/static/images/CaseStudy_chinaunicom_banner1.jpg b/static/images/case-studies/chinaunicom/banner1.jpg similarity index 100% rename from static/images/CaseStudy_chinaunicom_banner1.jpg rename to static/images/case-studies/chinaunicom/banner1.jpg diff --git a/static/images/CaseStudy_chinaunicom_banner3.jpg b/static/images/case-studies/chinaunicom/banner3.jpg similarity index 100% rename from static/images/CaseStudy_chinaunicom_banner3.jpg rename to static/images/case-studies/chinaunicom/banner3.jpg diff --git a/static/images/CaseStudy_chinaunicom_banner4.jpg b/static/images/case-studies/chinaunicom/banner4.jpg similarity index 100% rename from static/images/CaseStudy_chinaunicom_banner4.jpg rename to static/images/case-studies/chinaunicom/banner4.jpg diff --git a/static/images/CaseStudy_crowdfire_banner1.jpg b/static/images/case-studies/crowdfire/banner1.jpg similarity index 100% rename from static/images/CaseStudy_crowdfire_banner1.jpg rename to static/images/case-studies/crowdfire/banner1.jpg diff --git a/static/images/CaseStudy_crowdfire_banner3.jpg b/static/images/case-studies/crowdfire/banner3.jpg similarity index 100% rename from static/images/CaseStudy_crowdfire_banner3.jpg rename to static/images/case-studies/crowdfire/banner3.jpg diff --git a/static/images/CaseStudy_crowdfire_banner4.jpg b/static/images/case-studies/crowdfire/banner4.jpg similarity index 100% rename from static/images/CaseStudy_crowdfire_banner4.jpg rename to static/images/case-studies/crowdfire/banner4.jpg diff --git a/static/images/Denso1.png b/static/images/case-studies/denso/banner1.png similarity index 100% rename from static/images/Denso1.png rename to static/images/case-studies/denso/banner1.png diff --git a/static/images/Denso2.jpg b/static/images/case-studies/denso/banner2.jpg similarity index 100% rename from static/images/Denso2.jpg rename to static/images/case-studies/denso/banner2.jpg diff --git a/static/images/Denso4.jpg b/static/images/case-studies/denso/banner4.jpg similarity index 100% rename from static/images/Denso4.jpg rename to static/images/case-studies/denso/banner4.jpg diff --git a/static/images/CaseStudy_ft_banner1.jpg b/static/images/case-studies/ft/banner1.jpg similarity index 100% rename from static/images/CaseStudy_ft_banner1.jpg rename to static/images/case-studies/ft/banner1.jpg diff --git a/static/images/CaseStudy_ft_banner3.jpg b/static/images/case-studies/ft/banner3.jpg similarity index 100% rename from static/images/CaseStudy_ft_banner3.jpg rename to static/images/case-studies/ft/banner3.jpg diff --git a/static/images/CaseStudy_ft_banner4.jpg b/static/images/case-studies/ft/banner4.jpg similarity index 100% rename from static/images/CaseStudy_ft_banner4.jpg rename to static/images/case-studies/ft/banner4.jpg diff --git a/static/images/CaseStudy_golfnow_banner1.jpg b/static/images/case-studies/golfnow/banner1.jpg similarity index 100% rename from static/images/CaseStudy_golfnow_banner1.jpg rename to static/images/case-studies/golfnow/banner1.jpg diff --git a/static/images/CaseStudy_golfnow_banner3.jpg b/static/images/case-studies/golfnow/banner3.jpg similarity index 100% rename from static/images/CaseStudy_golfnow_banner3.jpg rename to static/images/case-studies/golfnow/banner3.jpg diff --git a/static/images/CaseStudy_golfnow_banner4.jpg b/static/images/case-studies/golfnow/banner4.jpg similarity index 100% rename from static/images/CaseStudy_golfnow_banner4.jpg rename to static/images/case-studies/golfnow/banner4.jpg diff --git a/static/images/CaseStudy_haufegroup_banner1.jpg b/static/images/case-studies/haufegroup/banner1.jpg similarity index 100% rename from static/images/CaseStudy_haufegroup_banner1.jpg rename to static/images/case-studies/haufegroup/banner1.jpg diff --git a/static/images/CaseStudy_haufegroup_banner3.jpg b/static/images/case-studies/haufegroup/banner3.jpg similarity index 100% rename from static/images/CaseStudy_haufegroup_banner3.jpg rename to static/images/case-studies/haufegroup/banner3.jpg diff --git a/static/images/CaseStudy_haufegroup_banner4.jpg b/static/images/case-studies/haufegroup/banner4.jpg similarity index 100% rename from static/images/CaseStudy_haufegroup_banner4.jpg rename to static/images/case-studies/haufegroup/banner4.jpg diff --git a/static/images/CaseStudy_huawei_banner1.jpg b/static/images/case-studies/huawei/banner1.jpg similarity index 100% rename from static/images/CaseStudy_huawei_banner1.jpg rename to static/images/case-studies/huawei/banner1.jpg diff --git a/static/images/CaseStudy_huawei_banner3.jpg b/static/images/case-studies/huawei/banner3.jpg similarity index 100% rename from static/images/CaseStudy_huawei_banner3.jpg rename to static/images/case-studies/huawei/banner3.jpg diff --git a/static/images/CaseStudy_huawei_banner4.jpg b/static/images/case-studies/huawei/banner4.jpg similarity index 100% rename from static/images/CaseStudy_huawei_banner4.jpg rename to static/images/case-studies/huawei/banner4.jpg diff --git a/static/images/CaseStudy_ibm_banner1.jpg b/static/images/case-studies/ibm/banner1.jpg similarity index 100% rename from static/images/CaseStudy_ibm_banner1.jpg rename to static/images/case-studies/ibm/banner1.jpg diff --git a/static/images/CaseStudy_ibm_banner3.jpg b/static/images/case-studies/ibm/banner3.jpg similarity index 100% rename from static/images/CaseStudy_ibm_banner3.jpg rename to static/images/case-studies/ibm/banner3.jpg diff --git a/static/images/CaseStudy_ibm_banner4.jpg b/static/images/case-studies/ibm/banner4.jpg similarity index 100% rename from static/images/CaseStudy_ibm_banner4.jpg rename to static/images/case-studies/ibm/banner4.jpg diff --git a/static/images/CaseStudy_ing_banner1.jpg b/static/images/case-studies/ing/banner1.jpg similarity index 100% rename from static/images/CaseStudy_ing_banner1.jpg rename to static/images/case-studies/ing/banner1.jpg diff --git a/static/images/CaseStudy_ing_banner3.jpg b/static/images/case-studies/ing/banner3.jpg similarity index 100% rename from static/images/CaseStudy_ing_banner3.jpg rename to static/images/case-studies/ing/banner3.jpg diff --git a/static/images/CaseStudy_ing_banner4.jpg b/static/images/case-studies/ing/banner4.jpg similarity index 100% rename from static/images/CaseStudy_ing_banner4.jpg rename to static/images/case-studies/ing/banner4.jpg diff --git a/static/images/CaseStudy_jdcom_banner1.jpg b/static/images/case-studies/jdcom/banner1.jpg similarity index 100% rename from static/images/CaseStudy_jdcom_banner1.jpg rename to static/images/case-studies/jdcom/banner1.jpg diff --git a/static/images/CaseStudy_jdcom_banner3.jpg b/static/images/case-studies/jdcom/banner3.jpg similarity index 100% rename from static/images/CaseStudy_jdcom_banner3.jpg rename to static/images/case-studies/jdcom/banner3.jpg diff --git a/static/images/CaseStudy_jdcom_banner4.jpg b/static/images/case-studies/jdcom/banner4.jpg similarity index 100% rename from static/images/CaseStudy_jdcom_banner4.jpg rename to static/images/case-studies/jdcom/banner4.jpg diff --git a/static/images/CaseStudy_montreal_banner1.jpg b/static/images/case-studies/montreal/banner1.jpg similarity index 100% rename from static/images/CaseStudy_montreal_banner1.jpg rename to static/images/case-studies/montreal/banner1.jpg diff --git a/static/images/CaseStudy_montreal_banner3.jpg b/static/images/case-studies/montreal/banner3.jpg similarity index 100% rename from static/images/CaseStudy_montreal_banner3.jpg rename to static/images/case-studies/montreal/banner3.jpg diff --git a/static/images/CaseStudy_montreal_banner4.jpg b/static/images/case-studies/montreal/banner4.jpg similarity index 100% rename from static/images/CaseStudy_montreal_banner4.jpg rename to static/images/case-studies/montreal/banner4.jpg diff --git a/static/images/CaseStudy_naic_banner1.jpg b/static/images/case-studies/naic/banner1.jpg similarity index 100% rename from static/images/CaseStudy_naic_banner1.jpg rename to static/images/case-studies/naic/banner1.jpg diff --git a/static/images/CaseStudy_naic_banner3.jpg b/static/images/case-studies/naic/banner3.jpg similarity index 100% rename from static/images/CaseStudy_naic_banner3.jpg rename to static/images/case-studies/naic/banner3.jpg diff --git a/static/images/CaseStudy_naic_banner4.jpg b/static/images/case-studies/naic/banner4.jpg similarity index 100% rename from static/images/CaseStudy_naic_banner4.jpg rename to static/images/case-studies/naic/banner4.jpg diff --git a/static/images/CaseStudy_nav_banner1.jpg b/static/images/case-studies/nav/banner1.jpg similarity index 100% rename from static/images/CaseStudy_nav_banner1.jpg rename to static/images/case-studies/nav/banner1.jpg diff --git a/static/images/CaseStudy_nav_banner3.jpg b/static/images/case-studies/nav/banner3.jpg similarity index 100% rename from static/images/CaseStudy_nav_banner3.jpg rename to static/images/case-studies/nav/banner3.jpg diff --git a/static/images/CaseStudy_nav_banner4.jpg b/static/images/case-studies/nav/banner4.jpg similarity index 100% rename from static/images/CaseStudy_nav_banner4.jpg rename to static/images/case-studies/nav/banner4.jpg diff --git a/static/images/CaseStudy_nerdalize_banner1.jpg b/static/images/case-studies/nerdalize/banner1.jpg similarity index 100% rename from static/images/CaseStudy_nerdalize_banner1.jpg rename to static/images/case-studies/nerdalize/banner1.jpg diff --git a/static/images/CaseStudy_nerdalize_banner3.jpg b/static/images/case-studies/nerdalize/banner3.jpg similarity index 100% rename from static/images/CaseStudy_nerdalize_banner3.jpg rename to static/images/case-studies/nerdalize/banner3.jpg diff --git a/static/images/CaseStudy_nerdalize_banner4.jpg b/static/images/case-studies/nerdalize/banner4.jpg similarity index 100% rename from static/images/CaseStudy_nerdalize_banner4.jpg rename to static/images/case-studies/nerdalize/banner4.jpg diff --git a/static/images/CaseStudy_netease_banner1.jpg b/static/images/case-studies/netease/banner1.jpg similarity index 100% rename from static/images/CaseStudy_netease_banner1.jpg rename to static/images/case-studies/netease/banner1.jpg diff --git a/static/images/CaseStudy_netease_banner3.jpg b/static/images/case-studies/netease/banner3.jpg similarity index 100% rename from static/images/CaseStudy_netease_banner3.jpg rename to static/images/case-studies/netease/banner3.jpg diff --git a/static/images/CaseStudy_netease_banner4.jpg b/static/images/case-studies/netease/banner4.jpg similarity index 100% rename from static/images/CaseStudy_netease_banner4.jpg rename to static/images/case-studies/netease/banner4.jpg diff --git a/static/images/CaseStudy_newyorktimes_banner1.jpg b/static/images/case-studies/newyorktimes/banner1.jpg similarity index 100% rename from static/images/CaseStudy_newyorktimes_banner1.jpg rename to static/images/case-studies/newyorktimes/banner1.jpg diff --git a/static/images/CaseStudy_newyorktimes_banner3.jpg b/static/images/case-studies/newyorktimes/banner3.jpg similarity index 100% rename from static/images/CaseStudy_newyorktimes_banner3.jpg rename to static/images/case-studies/newyorktimes/banner3.jpg diff --git a/static/images/CaseStudy_newyorktimes_banner4.jpg b/static/images/case-studies/newyorktimes/banner4.jpg similarity index 100% rename from static/images/CaseStudy_newyorktimes_banner4.jpg rename to static/images/case-studies/newyorktimes/banner4.jpg diff --git a/static/images/CaseStudy_nokia_banner1.jpg b/static/images/case-studies/nokia/banner1.jpg similarity index 100% rename from static/images/CaseStudy_nokia_banner1.jpg rename to static/images/case-studies/nokia/banner1.jpg diff --git a/static/images/CaseStudy_nokia_banner3.jpg b/static/images/case-studies/nokia/banner3.jpg similarity index 100% rename from static/images/CaseStudy_nokia_banner3.jpg rename to static/images/case-studies/nokia/banner3.jpg diff --git a/static/images/CaseStudy_nokia_banner4.jpg b/static/images/case-studies/nokia/banner4.jpg similarity index 100% rename from static/images/CaseStudy_nokia_banner4.jpg rename to static/images/case-studies/nokia/banner4.jpg diff --git a/static/images/CaseStudy_nordstrom_banner1.jpg b/static/images/case-studies/nordstrom/banner1.jpg similarity index 100% rename from static/images/CaseStudy_nordstrom_banner1.jpg rename to static/images/case-studies/nordstrom/banner1.jpg diff --git a/static/images/CaseStudy_nordstrom_banner3.jpg b/static/images/case-studies/nordstrom/banner3.jpg similarity index 100% rename from static/images/CaseStudy_nordstrom_banner3.jpg rename to static/images/case-studies/nordstrom/banner3.jpg diff --git a/static/images/CaseStudy_nordstrom_banner4.jpg b/static/images/case-studies/nordstrom/banner4.jpg similarity index 100% rename from static/images/CaseStudy_nordstrom_banner4.jpg rename to static/images/case-studies/nordstrom/banner4.jpg diff --git a/static/images/CaseStudy_northwestern_banner1.jpg b/static/images/case-studies/northwestern/banner1.jpg similarity index 100% rename from static/images/CaseStudy_northwestern_banner1.jpg rename to static/images/case-studies/northwestern/banner1.jpg diff --git a/static/images/CaseStudy_northwestern_banner3.jpg b/static/images/case-studies/northwestern/banner3.jpg similarity index 100% rename from static/images/CaseStudy_northwestern_banner3.jpg rename to static/images/case-studies/northwestern/banner3.jpg diff --git a/static/images/CaseStudy_northwestern_banner4.jpg b/static/images/case-studies/northwestern/banner4.jpg similarity index 100% rename from static/images/CaseStudy_northwestern_banner4.jpg rename to static/images/case-studies/northwestern/banner4.jpg diff --git a/static/images/CaseStudy_ocado_banner1.jpg b/static/images/case-studies/ocado/banner1.jpg similarity index 100% rename from static/images/CaseStudy_ocado_banner1.jpg rename to static/images/case-studies/ocado/banner1.jpg diff --git a/static/images/CaseStudy_ocado_banner3.jpg b/static/images/case-studies/ocado/banner3.jpg similarity index 100% rename from static/images/CaseStudy_ocado_banner3.jpg rename to static/images/case-studies/ocado/banner3.jpg diff --git a/static/images/CaseStudy_ocado_banner4.jpg b/static/images/case-studies/ocado/banner4.jpg similarity index 100% rename from static/images/CaseStudy_ocado_banner4.jpg rename to static/images/case-studies/ocado/banner4.jpg diff --git a/static/images/CaseStudy_openAI_banner1.jpg b/static/images/case-studies/openAI/banner1.jpg similarity index 100% rename from static/images/CaseStudy_openAI_banner1.jpg rename to static/images/case-studies/openAI/banner1.jpg diff --git a/static/images/CaseStudy_openAI_banner3.jpg b/static/images/case-studies/openAI/banner3.jpg similarity index 100% rename from static/images/CaseStudy_openAI_banner3.jpg rename to static/images/case-studies/openAI/banner3.jpg diff --git a/static/images/CaseStudy_openAI_banner4.jpg b/static/images/case-studies/openAI/banner4.jpg similarity index 100% rename from static/images/CaseStudy_openAI_banner4.jpg rename to static/images/case-studies/openAI/banner4.jpg diff --git a/static/images/CaseStudy_peardeck_banner1.jpg b/static/images/case-studies/peardeck/banner1.jpg similarity index 100% rename from static/images/CaseStudy_peardeck_banner1.jpg rename to static/images/case-studies/peardeck/banner1.jpg diff --git a/static/images/CaseStudy_peardeck_banner2.jpg b/static/images/case-studies/peardeck/banner2.jpg similarity index 100% rename from static/images/CaseStudy_peardeck_banner2.jpg rename to static/images/case-studies/peardeck/banner2.jpg diff --git a/static/images/CaseStudy_peardeck_banner3.jpg b/static/images/case-studies/peardeck/banner3.jpg similarity index 100% rename from static/images/CaseStudy_peardeck_banner3.jpg rename to static/images/case-studies/peardeck/banner3.jpg diff --git a/static/images/CaseStudy_pearson_banner1.jpg b/static/images/case-studies/pearson/banner1.jpg similarity index 100% rename from static/images/CaseStudy_pearson_banner1.jpg rename to static/images/case-studies/pearson/banner1.jpg diff --git a/static/images/CaseStudy_pearson_banner3.jpg b/static/images/case-studies/pearson/banner3.jpg similarity index 100% rename from static/images/CaseStudy_pearson_banner3.jpg rename to static/images/case-studies/pearson/banner3.jpg diff --git a/static/images/CaseStudy_pearson_banner4.jpg b/static/images/case-studies/pearson/banner4.jpg similarity index 100% rename from static/images/CaseStudy_pearson_banner4.jpg rename to static/images/case-studies/pearson/banner4.jpg diff --git a/static/images/CaseStudy_pingcap_banner1.jpg b/static/images/case-studies/pingcap/banner1.jpg similarity index 100% rename from static/images/CaseStudy_pingcap_banner1.jpg rename to static/images/case-studies/pingcap/banner1.jpg diff --git a/static/images/CaseStudy_pingcap_banner3.jpg b/static/images/case-studies/pingcap/banner3.jpg similarity index 100% rename from static/images/CaseStudy_pingcap_banner3.jpg rename to static/images/case-studies/pingcap/banner3.jpg diff --git a/static/images/CaseStudy_pingcap_banner4.jpg b/static/images/case-studies/pingcap/banner4.jpg similarity index 100% rename from static/images/CaseStudy_pingcap_banner4.jpg rename to static/images/case-studies/pingcap/banner4.jpg diff --git a/static/images/CaseStudy_pinterest_banner1.jpg b/static/images/case-studies/pinterest/banner1.jpg similarity index 100% rename from static/images/CaseStudy_pinterest_banner1.jpg rename to static/images/case-studies/pinterest/banner1.jpg diff --git a/static/images/CaseStudy_pinterest_banner3.jpg b/static/images/case-studies/pinterest/banner3.jpg similarity index 100% rename from static/images/CaseStudy_pinterest_banner3.jpg rename to static/images/case-studies/pinterest/banner3.jpg diff --git a/static/images/CaseStudy_pinterest_banner4.jpg b/static/images/case-studies/pinterest/banner4.jpg similarity index 100% rename from static/images/CaseStudy_pinterest_banner4.jpg rename to static/images/case-studies/pinterest/banner4.jpg diff --git a/static/images/CaseStudy_prowise_banner1.jpg b/static/images/case-studies/prowise/banner1.jpg similarity index 100% rename from static/images/CaseStudy_prowise_banner1.jpg rename to static/images/case-studies/prowise/banner1.jpg diff --git a/static/images/CaseStudy_prowise_banner3.jpg b/static/images/case-studies/prowise/banner3.jpg similarity index 100% rename from static/images/CaseStudy_prowise_banner3.jpg rename to static/images/case-studies/prowise/banner3.jpg diff --git a/static/images/CaseStudy_prowise_banner4.jpg b/static/images/case-studies/prowise/banner4.jpg similarity index 100% rename from static/images/CaseStudy_prowise_banner4.jpg rename to static/images/case-studies/prowise/banner4.jpg diff --git a/static/images/CaseStudy_ricardoch_banner1.png b/static/images/case-studies/ricardoch/banner1.png similarity index 100% rename from static/images/CaseStudy_ricardoch_banner1.png rename to static/images/case-studies/ricardoch/banner1.png diff --git a/static/images/CaseStudy_ricardoch_banner3.png b/static/images/case-studies/ricardoch/banner3.png similarity index 100% rename from static/images/CaseStudy_ricardoch_banner3.png rename to static/images/case-studies/ricardoch/banner3.png diff --git a/static/images/CaseStudy_ricardoch_banner4.png b/static/images/case-studies/ricardoch/banner4.png similarity index 100% rename from static/images/CaseStudy_ricardoch_banner4.png rename to static/images/case-studies/ricardoch/banner4.png diff --git a/static/images/CaseStudy_slamtec_banner1.jpg b/static/images/case-studies/slamtec/banner1.jpg similarity index 100% rename from static/images/CaseStudy_slamtec_banner1.jpg rename to static/images/case-studies/slamtec/banner1.jpg diff --git a/static/images/CaseStudy_slamtec_banner3.jpg b/static/images/case-studies/slamtec/banner3.jpg similarity index 100% rename from static/images/CaseStudy_slamtec_banner3.jpg rename to static/images/case-studies/slamtec/banner3.jpg diff --git a/static/images/CaseStudy_slamtec_banner4.jpg b/static/images/case-studies/slamtec/banner4.jpg similarity index 100% rename from static/images/CaseStudy_slamtec_banner4.jpg rename to static/images/case-studies/slamtec/banner4.jpg diff --git a/static/images/CaseStudy_slingtv_banner1.jpg b/static/images/case-studies/slingtv/banner1.jpg similarity index 100% rename from static/images/CaseStudy_slingtv_banner1.jpg rename to static/images/case-studies/slingtv/banner1.jpg diff --git a/static/images/CaseStudy_slingtv_banner3.jpg b/static/images/case-studies/slingtv/banner3.jpg similarity index 100% rename from static/images/CaseStudy_slingtv_banner3.jpg rename to static/images/case-studies/slingtv/banner3.jpg diff --git a/static/images/CaseStudy_slingtv_banner4.jpg b/static/images/case-studies/slingtv/banner4.jpg similarity index 100% rename from static/images/CaseStudy_slingtv_banner4.jpg rename to static/images/case-studies/slingtv/banner4.jpg diff --git a/static/images/CaseStudy_sos_banner1.jpg b/static/images/case-studies/sos/banner1.jpg similarity index 100% rename from static/images/CaseStudy_sos_banner1.jpg rename to static/images/case-studies/sos/banner1.jpg diff --git a/static/images/CaseStudy_sos_banner3.jpg b/static/images/case-studies/sos/banner3.jpg similarity index 100% rename from static/images/CaseStudy_sos_banner3.jpg rename to static/images/case-studies/sos/banner3.jpg diff --git a/static/images/CaseStudy_sos_banner4.jpg b/static/images/case-studies/sos/banner4.jpg similarity index 100% rename from static/images/CaseStudy_sos_banner4.jpg rename to static/images/case-studies/sos/banner4.jpg diff --git a/static/images/CaseStudy_spotify_banner1.jpg b/static/images/case-studies/spotify/banner1.jpg similarity index 100% rename from static/images/CaseStudy_spotify_banner1.jpg rename to static/images/case-studies/spotify/banner1.jpg diff --git a/static/images/CaseStudy_spotify_banner3.jpg b/static/images/case-studies/spotify/banner3.jpg similarity index 100% rename from static/images/CaseStudy_spotify_banner3.jpg rename to static/images/case-studies/spotify/banner3.jpg diff --git a/static/images/CaseStudy_spotify_banner4.jpg b/static/images/case-studies/spotify/banner4.jpg similarity index 100% rename from static/images/CaseStudy_spotify_banner4.jpg rename to static/images/case-studies/spotify/banner4.jpg diff --git a/static/images/CaseStudy_squarespace_banner1.jpg b/static/images/case-studies/squarespace/banner1.jpg similarity index 100% rename from static/images/CaseStudy_squarespace_banner1.jpg rename to static/images/case-studies/squarespace/banner1.jpg diff --git a/static/images/CaseStudy_squarespace_banner3.jpg b/static/images/case-studies/squarespace/banner3.jpg similarity index 100% rename from static/images/CaseStudy_squarespace_banner3.jpg rename to static/images/case-studies/squarespace/banner3.jpg diff --git a/static/images/CaseStudy_squarespace_banner4.jpg b/static/images/case-studies/squarespace/banner4.jpg similarity index 100% rename from static/images/CaseStudy_squarespace_banner4.jpg rename to static/images/case-studies/squarespace/banner4.jpg diff --git a/static/images/case_studies/story.png b/static/images/case-studies/story.png similarity index 100% rename from static/images/case_studies/story.png rename to static/images/case-studies/story.png diff --git a/static/images/case_studies/story.svg b/static/images/case-studies/story.svg similarity index 100% rename from static/images/case_studies/story.svg rename to static/images/case-studies/story.svg diff --git a/static/images/CaseStudy_thredup_banner1.jpg b/static/images/case-studies/thredup/banner1.jpg similarity index 100% rename from static/images/CaseStudy_thredup_banner1.jpg rename to static/images/case-studies/thredup/banner1.jpg diff --git a/static/images/CaseStudy_thredup_banner3.jpg b/static/images/case-studies/thredup/banner3.jpg similarity index 100% rename from static/images/CaseStudy_thredup_banner3.jpg rename to static/images/case-studies/thredup/banner3.jpg diff --git a/static/images/CaseStudy_thredup_banner4.jpg b/static/images/case-studies/thredup/banner4.jpg similarity index 100% rename from static/images/CaseStudy_thredup_banner4.jpg rename to static/images/case-studies/thredup/banner4.jpg diff --git a/static/images/case_studies/video_thumb.jpg b/static/images/case-studies/video_thumb.jpg similarity index 100% rename from static/images/case_studies/video_thumb.jpg rename to static/images/case-studies/video_thumb.jpg diff --git a/static/images/case_studies/video_thumb1.png b/static/images/case-studies/video_thumb1.png similarity index 100% rename from static/images/case_studies/video_thumb1.png rename to static/images/case-studies/video_thumb1.png diff --git a/static/images/CaseStudy_vsco_banner1.jpg b/static/images/case-studies/vsco/banner1.jpg similarity index 100% rename from static/images/CaseStudy_vsco_banner1.jpg rename to static/images/case-studies/vsco/banner1.jpg diff --git a/static/images/CaseStudy_vsco_banner2.jpg b/static/images/case-studies/vsco/banner2.jpg similarity index 100% rename from static/images/CaseStudy_vsco_banner2.jpg rename to static/images/case-studies/vsco/banner2.jpg diff --git a/static/images/CaseStudy_vsco_banner4.jpg b/static/images/case-studies/vsco/banner4.jpg similarity index 100% rename from static/images/CaseStudy_vsco_banner4.jpg rename to static/images/case-studies/vsco/banner4.jpg diff --git a/static/images/CaseStudy_wink_banner1.jpg b/static/images/case-studies/wink/banner1.jpg similarity index 100% rename from static/images/CaseStudy_wink_banner1.jpg rename to static/images/case-studies/wink/banner1.jpg diff --git a/static/images/CaseStudy_wink_banner3.jpg b/static/images/case-studies/wink/banner3.jpg similarity index 100% rename from static/images/CaseStudy_wink_banner3.jpg rename to static/images/case-studies/wink/banner3.jpg diff --git a/static/images/CaseStudy_wink_banner4.jpg b/static/images/case-studies/wink/banner4.jpg similarity index 100% rename from static/images/CaseStudy_wink_banner4.jpg rename to static/images/case-studies/wink/banner4.jpg diff --git a/static/images/case_studies/wmc.png b/static/images/case-studies/wmc.png similarity index 100% rename from static/images/case_studies/wmc.png rename to static/images/case-studies/wmc.png diff --git a/static/images/CaseStudy_woorank_banner1.jpg b/static/images/case-studies/woorank/banner1.jpg similarity index 100% rename from static/images/CaseStudy_woorank_banner1.jpg rename to static/images/case-studies/woorank/banner1.jpg diff --git a/static/images/CaseStudy_woorank_banner3.jpg b/static/images/case-studies/woorank/banner3.jpg similarity index 100% rename from static/images/CaseStudy_woorank_banner3.jpg rename to static/images/case-studies/woorank/banner3.jpg diff --git a/static/images/CaseStudy_woorank_banner4.jpg b/static/images/case-studies/woorank/banner4.jpg similarity index 100% rename from static/images/CaseStudy_woorank_banner4.jpg rename to static/images/case-studies/woorank/banner4.jpg diff --git a/static/images/CaseStudy_workiva_banner1.jpg b/static/images/case-studies/workiva/banner1.jpg similarity index 100% rename from static/images/CaseStudy_workiva_banner1.jpg rename to static/images/case-studies/workiva/banner1.jpg diff --git a/static/images/CaseStudy_workiva_banner3.jpg b/static/images/case-studies/workiva/banner3.jpg similarity index 100% rename from static/images/CaseStudy_workiva_banner3.jpg rename to static/images/case-studies/workiva/banner3.jpg diff --git a/static/images/CaseStudy_workiva_banner4.jpg b/static/images/case-studies/workiva/banner4.jpg similarity index 100% rename from static/images/CaseStudy_workiva_banner4.jpg rename to static/images/case-studies/workiva/banner4.jpg diff --git a/static/images/case_studies/yahoojapan.png b/static/images/case-studies/yahoojapan.png similarity index 100% rename from static/images/case_studies/yahoojapan.png rename to static/images/case-studies/yahoojapan.png diff --git a/static/images/CaseStudy_ygrene_banner1.jpg b/static/images/case-studies/ygrene/banner1.jpg similarity index 100% rename from static/images/CaseStudy_ygrene_banner1.jpg rename to static/images/case-studies/ygrene/banner1.jpg diff --git a/static/images/CaseStudy_ygrene_banner3.jpg b/static/images/case-studies/ygrene/banner3.jpg similarity index 100% rename from static/images/CaseStudy_ygrene_banner3.jpg rename to static/images/case-studies/ygrene/banner3.jpg diff --git a/static/images/CaseStudy_ygrene_banner4.jpg b/static/images/case-studies/ygrene/banner4.jpg similarity index 100% rename from static/images/CaseStudy_ygrene_banner4.jpg rename to static/images/case-studies/ygrene/banner4.jpg diff --git a/static/images/CaseStudy_zalando_banner1.jpg b/static/images/case-studies/zalando/banner1.jpg similarity index 100% rename from static/images/CaseStudy_zalando_banner1.jpg rename to static/images/case-studies/zalando/banner1.jpg diff --git a/static/images/CaseStudy_zalando_banner3.jpg b/static/images/case-studies/zalando/banner3.jpg similarity index 100% rename from static/images/CaseStudy_zalando_banner3.jpg rename to static/images/case-studies/zalando/banner3.jpg diff --git a/static/images/CaseStudy_zalando_banner4.jpg b/static/images/case-studies/zalando/banner4.jpg similarity index 100% rename from static/images/CaseStudy_zalando_banner4.jpg rename to static/images/case-studies/zalando/banner4.jpg