consul/website/pages/home/index.jsx

291 lines
11 KiB
React
Raw Normal View History

2020-04-24 18:52:30 +00:00
import UseCases from '@hashicorp/react-use-cases'
2020-05-01 20:35:26 +00:00
import ProductFeaturesList from '@hashicorp/react-product-features-list'
import Callouts from '@hashicorp/react-callouts'
import LearnCallout from '@hashicorp/react-learn-callout'
import MiniCTA from 'components/mini-cta'
import HcpCalloutSection from 'components/hcp-callout-section'
import CtaHero from 'components/cta-hero'
import ConsulEnterpriseComparison from 'components/enterprise-comparison/consul'
import PrefooterCTA from 'components/prefooter-cta'
import CaseStudyCarousel from 'components/case-study-carousel'
2020-04-24 18:52:30 +00:00
2020-04-06 20:27:35 +00:00
export default function HomePage() {
2020-04-24 18:52:30 +00:00
return (
<div className="p-home">
<CtaHero />
<Callouts
layout="two-up"
product="neutral"
items={[
2020-04-24 18:52:30 +00:00
{
icon: require('./img/kubernetes/logo.svg?include'),
heading: 'Consul Service Mesh on Kubernetes',
content:
'Use Helm to deploy and CRDs to configure Consul on Kubernetes.',
link: {
text: 'Get started',
url:
'https://learn.hashicorp.com/tutorials/consul/service-mesh-deploy?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS',
},
2020-04-24 18:52:30 +00:00
},
{
icon: require('./img/kubernetes/communication-arrows.svg?include'),
heading: 'Consul as a Service Mesh',
content:
'Simplify, observe, and secure service to service communication for microservice architectures.',
link: {
text: 'Read more',
url: '/docs/connect',
},
2020-04-24 18:52:30 +00:00
},
]}
/>
2020-05-07 02:59:26 +00:00
2020-05-01 20:35:26 +00:00
<ProductFeaturesList
2020-05-07 00:17:47 +00:00
heading="Why Consul?"
2020-05-01 20:35:26 +00:00
features={[
{
2020-05-13 07:26:37 +00:00
title: 'Service Mesh Across Any Runtime',
2020-05-01 20:35:26 +00:00
content:
2020-05-13 07:26:37 +00:00
'Deploy service mesh within any runtime or infrastructure - Bare Metal, Virtual Machines, and Kubernetes clusters, across any cloud.',
icon: require('./img/why-consul/consul_features_arrows.svg'),
link: {
type: 'inbound',
text: 'Learn more',
url:
2021-04-13 19:55:15 +00:00
'https://learn.hashicorp.com/collections/consul/kubernetes-deploy',
},
2020-05-01 20:35:26 +00:00
},
{
2020-05-07 00:17:47 +00:00
title: 'Secure, Multi-Cloud Service Networking',
2020-05-01 20:35:26 +00:00
content:
2020-05-13 07:26:37 +00:00
'Secure services running in any environment leveraging intention based policies and automatic mTLS encryption between service mesh resources',
icon: require('./img/why-consul/consul_features_cloud.svg'),
link: {
type: 'inbound',
text: 'Learn more',
url:
2021-04-13 19:55:15 +00:00
'https://learn.hashicorp.com/tutorials/consul/kubernetes-secure-agents',
},
},
{
title: 'Dynamic Load Balancing',
content:
'Resolve discovered services through integrated DNS. Automate 3rd party load balancers (F5, NGINX, HAProxy). Eliminate manual configuration of network devices.',
icon: require('./img/why-consul/consul_features_gear.svg'),
link: {
type: 'inbound',
text: 'Learn more',
url:
'https://learn.hashicorp.com/collections/consul/load-balancing',
},
2020-05-01 20:35:26 +00:00
},
{
2020-05-07 00:17:47 +00:00
title: 'Service Discovery with Health Checking',
2020-05-01 20:35:26 +00:00
content:
2020-05-07 00:17:47 +00:00
'Consul enables detecting the deployment of new services, changes to existing ones, and provides real time agent health to reduce downtime.',
icon: require('./img/why-consul/consul_features_health.svg'),
link: {
type: 'inbound',
text: 'Learn more',
url:
2021-04-13 19:55:15 +00:00
'https://learn.hashicorp.com/tutorials/consul/service-registration-health-checks',
},
2020-05-01 20:35:26 +00:00
},
{
2020-05-07 00:17:47 +00:00
title: 'Robust Ecosystem',
2020-05-01 20:35:26 +00:00
content:
2020-05-07 00:17:47 +00:00
'Consul offers support for and integrations with many popular DevOps and Networking tools.',
icon: require('./img/why-consul/consul_features_world.svg'),
link: {
type: 'inbound',
text: 'Learn more',
url: '/docs/integrate/partnerships',
},
},
{
title: 'Integrate and Extend With Kubernetes',
content:
'Quickly deploy Consul on Kubernetes leveraging Helm. Automatically inject sidecars for Kubernetes resources. Federate multiple clusters into a single service mesh.',
icon: require('./img/why-consul/consul_features_kub.svg'),
link: {
type: 'inbound',
text: 'Learn more',
url:
'https://learn.hashicorp.com/tutorials/consul/service-mesh-deploy?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS',
},
2020-05-01 20:35:26 +00:00
},
]}
/>
2020-05-07 02:59:26 +00:00
<LearnCallout
headline="Get hands-on experience with Consul"
product="consul"
items={[
{
2021-02-18 22:02:08 +00:00
title: 'Deploy HCP Consul with Terraform',
category: 'Step-by-Step Tutorial',
2021-02-18 22:02:08 +00:00
time: '12 mins',
link:
2021-02-18 22:02:08 +00:00
'https://learn.hashicorp.com/tutorials/cloud/terraform-hcp-consul-provider',
image: require('./img/learn/getting-started.svg?url'),
},
{
2021-02-18 22:02:08 +00:00
title: 'Migrate to Microservices on Kubernetes',
category: 'Step-by-Step Tutorials',
time: '45 mins',
link:
'https://learn.hashicorp.com/collections/consul/microservices',
2021-02-18 22:02:08 +00:00
image: require('./img/learn/kubernetes.svg?url'),
},
]}
/>
2020-04-24 21:46:02 +00:00
<CaseStudyCarousel
title="Trusted by startups and the worlds largest organizations"
2020-05-13 07:26:37 +00:00
caseStudies={[
{
quote:
2020-05-13 22:58:40 +00:00
'Consul lets us spread more than 200 microservices over several AKS clusters. Each AKS cluster feeds into a Consul cluster that forms a larger service discovery mesh that allows us to find and connect services in a matter of minutes.',
2020-05-13 07:26:37 +00:00
caseStudyURL: 'https://www.hashicorp.com/case-studies/mercedes/',
person: {
firstName: 'Sriram',
lastName: 'Govindarajan',
2020-05-14 04:52:02 +00:00
photo:
'https://www.datocms-assets.com/2885/1589431834-sriram-govindarajan.jpg',
2020-05-13 07:26:37 +00:00
title: 'Principal Infrastructure Engineer',
},
company: {
name: 'Mercedes-Benz Research & Development (MBRDNA)',
logo: require('./img/quotes/mercedes-logo.svg?url'),
},
2020-04-24 21:46:02 +00:00
},
2020-05-13 07:26:37 +00:00
{
quote:
2020-05-13 22:58:40 +00:00
'Consul has fully replaced our manual service discovery activities with automated workflows and weve repurposed as much as 80% of our Consul staff to other projects because the tool is so reliable, efficient, and intelligent.',
2020-05-13 07:26:37 +00:00
caseStudyURL:
'https://www.hashicorp.com/resources/criteo-containers-consul-connect/',
person: {
firstName: 'Pierre',
lastName: 'Souchay',
2020-05-14 04:52:02 +00:00
photo:
'https://www.datocms-assets.com/2885/1589431828-pierre-souchay.jpg',
2020-05-13 07:26:37 +00:00
title: 'Discovery and Security Authorization Lead',
},
company: {
name: 'Criteo',
logo: require('./img/quotes/criteo-logo.svg?url'),
},
2020-04-24 21:46:02 +00:00
},
2020-05-13 07:26:37 +00:00
]}
2020-04-24 21:46:02 +00:00
logoSection={{
grayBackground: true,
2020-05-13 07:26:37 +00:00
featuredLogos: [
{
companyName: 'Mercedes-Benz Research & Development (MBRDNA)',
url: require('./img/quotes/mercedes-logo.svg?url'),
},
{
companyName: 'Criteo',
url: require('./img/quotes/criteo-logo.svg?url'),
},
{
companyName: 'Barclays',
url: require('./img/quotes/barclays-logo.svg?url'),
},
{
companyName: 'Citadel',
url: require('./img/quotes/citadel-logo.svg?url'),
},
{
companyName: 'Ample Organics',
url:
'https://www.datocms-assets.com/2885/1589354369-ample-organics-logo.png?w=600',
},
],
2020-04-24 21:46:02 +00:00
}}
/>
<MiniCTA
title="Are you using Consul in production?"
link={{
text: 'Share your success story and receive special Consul swag.',
url:
'https://docs.google.com/forms/d/1B-4XlRndv2hX9G4Gt2dMnJBqilctrrof7dfpyQ1EVIg/edit',
type: 'outbound',
}}
/>
2020-05-07 02:59:26 +00:00
2020-04-24 18:52:30 +00:00
<div className="use-cases g-grid-container">
2020-05-07 01:49:38 +00:00
<h2 className="g-type-display-2">Use Cases</h2>
2020-04-24 18:52:30 +00:00
<UseCases
items={[
{
2020-05-13 07:30:23 +00:00
title: 'Service Discovery and Health Checking',
2020-04-24 18:52:30 +00:00
description:
2020-05-13 07:30:23 +00:00
'Enable services to locate other services running in any environment and provide real-time health status.',
2020-04-24 18:52:30 +00:00
image: {
url: require('./img/use-cases/discovery_health_checking.svg?url'),
2020-05-14 04:46:10 +00:00
format: 'svg',
2020-04-24 18:52:30 +00:00
},
link: {
title: 'Learn more',
2020-05-13 07:30:23 +00:00
url: '/use-cases/service-discovery-and-health-checking',
2020-04-24 18:52:30 +00:00
},
},
{
title: 'Network Infrastructure Automation',
2020-04-24 18:52:30 +00:00
description:
2020-05-13 07:30:23 +00:00
'Reduce burden of manual, ticket-based networking tasks.',
2020-04-24 18:52:30 +00:00
image: {
url: require('./img/use-cases/network_automation.svg?url'),
2020-05-14 04:46:10 +00:00
format: 'svg',
2020-04-24 18:52:30 +00:00
},
link: {
title: 'Learn more',
url: '/use-cases/network-infrastructure-automation',
2020-04-24 18:52:30 +00:00
},
},
{
2020-05-13 07:30:23 +00:00
title: 'Multi-Platform Service Mesh',
2020-04-24 18:52:30 +00:00
description:
2020-05-13 07:30:23 +00:00
'Secure, modern application networking across any cloud or runtime.',
2020-04-24 18:52:30 +00:00
image: {
url: require('./img/use-cases/service_mesh.svg?url'),
2020-05-14 04:46:10 +00:00
format: 'svg',
2020-04-24 18:52:30 +00:00
},
link: {
title: 'Learn more',
2020-05-13 07:30:23 +00:00
url: '/use-cases/multi-platform-service-mesh',
2020-04-24 18:52:30 +00:00
},
},
]}
/>
</div>
2020-05-01 17:01:50 +00:00
<HcpCalloutSection
id="cloud-offerings"
title="HCP Consul"
chin="Available on AWS"
description="A fully managed service mesh to discover and securely connect any service."
image={require('./img/hcp_consul.svg?url')}
links={[
{
text: 'Learn More',
url:
'https://cloud.hashicorp.com/?utm_source=consul_io&utm_content=hcp_consul_detail',
},
{
text: 'Looking for Consul Service on Azure?',
url: 'https://www.hashicorp.com/products/consul/service-on-azure',
type: 'inbound',
},
]}
/>
<ConsulEnterpriseComparison />
2020-05-07 03:12:41 +00:00
<PrefooterCTA />
2020-04-24 18:52:30 +00:00
</div>
)
2020-04-06 20:27:35 +00:00
}