mirror of https://github.com/knative/docs.git
352 lines
13 KiB
HTML
352 lines
13 KiB
HTML
{% extends "main.html" %} {% block content %}
|
|
<link rel="stylesheet" href="{{ 'assets/stylesheets/home.css' | url }}" />
|
|
|
|
<div class="md-container home-page">
|
|
<section class="home-container">
|
|
<div class="md-grid md-typeset">
|
|
<div class="mdx-hero">
|
|
<div class="headline-section">
|
|
<h1 class="main-headline">
|
|
Knative is an Open-Source Enterprise-level<br>
|
|
solution to build Serverless and Event Driven Applications
|
|
</h1>
|
|
<h2>Serverless Containers in Kubernetes environments.</h2>
|
|
<p style="display: block">
|
|
<a href="{{ 'getting-started/' | url }}" class="md-button white md-button--primary">Try the tutorial</a>
|
|
<a href="{{ 'install/' | url }}" class="md-button white">Install Knative on your cluster</a>
|
|
</p>
|
|
<div class="trusted-by-container">
|
|
<h3 class="trusted-by">Trusted by</h3>
|
|
<div id="usedby">
|
|
<div class="logo">
|
|
<img src="images/corporate-logos/Google.svg" alt="" draggable="false" />
|
|
</div>
|
|
<div class="logo">
|
|
<img src="images/corporate-logos/vmware.svg" alt="" draggable="false" />
|
|
</div>
|
|
<div class="logo">
|
|
<img src="images/corporate-logos/IBM.svg" alt="" draggable="false" />
|
|
</div>
|
|
<div class="logo">
|
|
<img src="images/corporate-logos/Redhat.svg" alt="" draggable="false" />
|
|
</div>
|
|
<div class="logo triggermesh">
|
|
<img src="images/corporate-logos/triggermesh_logo.svg" alt="" draggable="false" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="need-to-know-more-container">
|
|
<div class="md-grid md-typeset">
|
|
<h1>Need to know more?</h1>
|
|
<p class="normal-text">
|
|
Learn about how Knative works with Kubernetes and the underlying ideas behind containers<br>
|
|
and serverless infrastructure.
|
|
</p>
|
|
<a href="{{ 'getting-started/' | url }}" class="md-button call-to-action">
|
|
Explore Knative
|
|
</a>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="why-serverless-container">
|
|
<div class="md-grid md-typeset">
|
|
<h1>Why serverless containers?</h1>
|
|
<p class="normal-text">
|
|
Serverless refers to running back-end programs and processes in the cloud. Serverless works on an as-used basis,
|
|
meaning that companies only use what they pay for. Knative is a platform-agnostic
|
|
solution for running serverless deployments.
|
|
</p>
|
|
<div class="img-table">
|
|
<div class="img-row">
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/blue_simple_abstractions_icon.svg"
|
|
onmouseover="this.src='images/home-images/dkblue_simple_abstractions_icon.svg'"
|
|
onmouseout="this.src='images/home-images/blue_simple_abstractions_icon.svg'" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Simpler Abstractions</h2>
|
|
<p class="normal-text">
|
|
Simplify your YAML with our custom CRDs
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/blue_autoscaling_icon.svg"
|
|
onmouseover="this.src='images/home-images/dkblue_autoscaling_icon.svg'"
|
|
onmouseout="this.src='images/home-images/blue_autoscaling_icon.svg'" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Autoscaling</h2>
|
|
<p class="normal-text">
|
|
Scale down to zero and up from zero
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/blue_progressive_rollouts_icon.svg"
|
|
onmouseover="this.src='images/home-images/dkblue_progressive_rollouts_icon.svg'"
|
|
onmouseout="this.src='images/home-images/blue_progressive_rollouts_icon.svg'" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Progressive Rollouts</h2>
|
|
<p class="normal-text">
|
|
Choose your rollout strategy depending on your needs
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="img-row">
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/blue_event_intergrations_icon.svg"
|
|
onmouseover="this.src='images/home-images/dkblue_event_intergrations_icon.svg'"
|
|
onmouseout="this.src='images/home-images/blue_event_intergrations_icon.svg'" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Event Integrations</h2>
|
|
<p class="normal-text">
|
|
Handle events from many sources
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/blue_handle_events_icon.svg"
|
|
onmouseover="this.src='images/home-images/dkblue_handle_events_icon.svg'"
|
|
onmouseout="this.src='images/home-images/blue_handle_events_icon.svg'" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Handle Events</h2>
|
|
<p class="normal-text">
|
|
Trigger handlers from the event broker
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/blue_plugable_icon.svg"
|
|
onmouseover="this.src='images/home-images/dkblue_plugable_icon.svg'"
|
|
onmouseout="this.src='images/home-images/blue_plugable_icon.svg'" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Plugable</h2>
|
|
<p class="normal-text">
|
|
Kubernetes native to be integrated and extended
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="knative-components-container">
|
|
<div class="md-grid md-typeset">
|
|
<h1>Knative Components</h1>
|
|
<p class="normal-text">
|
|
Knative has two main components that empower teams working with Kubernetes. Serving and<br>
|
|
Eventing work together to automate and manage tasks and applications.
|
|
</p>
|
|
<div class="components-content">
|
|
<img class="components-img" src="images/home-images/knative_flowchart_graphic.svg" alt="" draggable="false" />
|
|
<div class="text-table">
|
|
<p class="normal-text">
|
|
Run serverless containers in Kubernetes with ease. Knative takes care of the details of networking,
|
|
autoscaling (even to zero), and revision tracking. Teams can focus on core logic using any programming
|
|
language.
|
|
</p>
|
|
<p class="normal-text">
|
|
Universal subscription, delivery and management of events. Build modern apps by attaching compute to a data
|
|
stream with declarative event connectivity and developer friendly object models.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="trying-it-all-container">
|
|
<div class="md-grid md-typeset">
|
|
<h1>Trying it all together</h1>
|
|
<div class="img-table">
|
|
<div class="img-row">
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/dev_focus_code_icon.svg" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Developers focus on code</h2>
|
|
<p class="normal-text">
|
|
From container to URL<br>
|
|
with less YAML config
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/dkblue_scale_icon.svg" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Scale up and down</h2>
|
|
<p class="normal-text">
|
|
Scale down to zero<br>
|
|
based on traffic patterns
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="img-col">
|
|
<div class="reason-img">
|
|
<img src="images/home-images/cloud_agnostic_icon.svg" alt="" draggable="false">
|
|
</div>
|
|
<div class="reason-text">
|
|
<h2>Cloud agnostic</h2>
|
|
<p class="normal-text">
|
|
Control traffic shifting<br>
|
|
for smoother rollouts
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<a href="{{ 'install/' | url }}" class="md-button call-to-action">
|
|
Deploy Knative Today
|
|
</a>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="case-studies-container">
|
|
<div class="md-grid md-typeset">
|
|
<h1>Case Studies</h1>
|
|
<div class="cases-table">
|
|
<div class="col">
|
|
<a href="{{ 'about/case-studies/deepc/' | url }}">
|
|
<div class="logo">
|
|
<img class="deepc" src="images/case-studies/deepc.png" alt="" draggable="false" />
|
|
</div>
|
|
<hr>
|
|
<p class="normal-text">
|
|
"It should be possible for
|
|
somebody with an algorithm to have it on the platform in an hour"<br><br>
|
|
|
|
—Andrew Webber,<br>
|
|
Senior Software Engineer for deepc
|
|
</p>
|
|
</a>
|
|
</div>
|
|
<div class="col">
|
|
<a href="{{ 'about/case-studies/outfit7/' | url }}">
|
|
<div class="logo">
|
|
<img class="outfit7" src="images/case-studies/outfit7.png" alt="" draggable="false" />
|
|
</div>
|
|
<hr>
|
|
<p class="normal-text">
|
|
"The community support is
|
|
really great. The hands-on
|
|
experience with Knative was
|
|
so impressive. On the Slack
|
|
channel, we got actual
|
|
engineers to answer our questions"<br><br>
|
|
|
|
—Tilen Kavcic,<br>
|
|
Software Engineer for Outfit7
|
|
</p>
|
|
</a>
|
|
</div>
|
|
<div class="col">
|
|
<a href="{{ 'about/case-studies/puppet/' | url }}">
|
|
<div class="logo">
|
|
<img class="puppet" src="images/case-studies/puppet.png" alt="" draggable="false" />
|
|
</div>
|
|
<hr>
|
|
<p class="normal-text">
|
|
"I'm a strong believer in
|
|
working with open-source
|
|
vendors. We've made
|
|
contributions to numerous
|
|
projects, including Tekton,
|
|
Knative, Ambassador, and
|
|
gVisor --All of which we depend
|
|
on to make our product
|
|
functional."<br><br>
|
|
|
|
—Noah Fontes,<br>
|
|
Senior Principal Software Engineer for<br>Puppet
|
|
</p>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="cncf-notice-container">
|
|
<h3>Knative is a <a href="https://www.cncf.io/">Cloud Native Computing Foundation</a> incubation project</h3>
|
|
<img class="cncf-logo" src="images/home-images/cncf-color.png" alt="" draggable="false" />
|
|
</section>
|
|
|
|
<section class="whats-next-container">
|
|
<div class="md-grid md-typeset">
|
|
<h1>What's Next?</h1>
|
|
<div class="component-flex">
|
|
<div class="pane">
|
|
<a href="https://slack.cncf.io" title="Slack Link">
|
|
<div class="twemoji">
|
|
{% include ".icons/fontawesome/brands/slack.svg" %}
|
|
</div>
|
|
<h2>Talk to us on Slack in #knative</h2>
|
|
<p class="normal-text">Interested in learning more, speaking to other contributors, or finding answers?</p>
|
|
</a>
|
|
</div>
|
|
<div class="pane">
|
|
<a href="{{ 'community/contributing' | url }}" title="Contributing Link">
|
|
<div class="twemoji">
|
|
{% include ".icons/fontawesome/brands/github.svg" %}
|
|
</div>
|
|
<h2>Contributions Welcome</h2>
|
|
<p class="normal-text">Want to join the fun on Github? New users are always welcome!</p>
|
|
</a>
|
|
</div>
|
|
<div class="pane">
|
|
<a href="https://twitter.com/KnativeProject" title="Twitter Link">
|
|
<div class="twemoji">
|
|
{% include ".icons/fontawesome/brands/twitter.svg" %}
|
|
</div>
|
|
<h2>Follow us on Twitter</h2>
|
|
<p class="normal-text">For feature announcements, interesting Knative news, and other great things.</p>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
{{ super() }}
|
|
<script>
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
const logos = document.getElementById("usedby").getElementsByTagName("div");
|
|
for (let i = 0; i < logos.length - 1; i++) {
|
|
// Technically there's a chance two elements end up with the same
|
|
// random order in which case the result won't be truly random (it'll be based
|
|
// on the original document order). This really doesn't matter.
|
|
logos[i].style.order = Math.floor(Math.random() * 99);
|
|
}
|
|
logos[logos.length - 1].style.order = 100;
|
|
})
|
|
</script>
|
|
{% endblock %}
|
|
|
|
<!-- Application footer -->
|
|
{% block footer %}
|
|
{% include "partials/footer.html" %}
|
|
{% endblock %}
|