consul/website/pages/use-cases/multi-platform-service-mesh...

162 lines
5.5 KiB
React
Raw Normal View History

2020-05-07 04:05:10 +00:00
import UseCaseLayout from '../../layouts/use-cases'
2020-05-13 22:51:01 +00:00
import TextSplitWithImage from '@hashicorp/react-text-split-with-image'
import TextSplitWithCode from '@hashicorp/react-text-split-with-code'
2020-05-07 04:05:10 +00:00
export default function MultiPlatformServiceMeshPage() {
return (
<UseCaseLayout
title="Multi-Platform Service Mesh"
2020-05-14 04:40:02 +00:00
description="Create a consistent platform for modern application networking and security with identity based authorization, L7 traffic management, and service-to-service encryption."
guideLink="https://learn.hashicorp.com/consul/gs-consul-service-mesh/understand-consul-service-mesh"
2020-05-07 04:05:10 +00:00
>
2020-05-13 22:51:01 +00:00
<TextSplitWithImage
textSplit={{
heading: 'Multi-Datacenter, Multi-Region',
content:
2020-05-14 04:40:02 +00:00
'Federate Consul between multiple clusters and environments creating a global service mesh. Consistently apply policies and security across platforms.',
2020-05-13 22:51:01 +00:00
textSide: 'right',
links: [
{
text: 'Learn More',
url:
'https://learn.hashicorp.com/consul/security-networking/datacenters',
type: 'outbound',
},
],
}}
image={{
url: require('./img/multi-dc-multi-region.svg?url'),
}}
/>
<TextSplitWithImage
textSplit={{
heading: 'Secure Service-to-Service Communication',
content:
'Automatic mTLS communication between services both inside Kubernetes and in traditional runtime platforms. Extend and integrate with external certificate platforms like Vault.',
textSide: 'left',
links: [
{
text: 'Learn More',
url:
'https://learn.hashicorp.com/tutorials/consul/service-mesh-with-envoy-proxy',
2020-05-13 22:51:01 +00:00
type: 'outbound',
},
],
}}
image={{
url: require('./img/service-to-service.svg?url'),
}}
/>
<TextSplitWithCode
textSplit={{
heading: 'Layer 7 Traffic Management',
content:
'Service-to-service communication policy at Layer 7 enables progressive delivery of application communication. Leverage Blue/Green or Canary deployment patterns for applications, enabling advanced traffic management patterns such as service failover, path-based routing, and traffic shifting that can be applied across public and private clouds, platforms, and networks.',
textSide: 'right',
links: [
{
text: 'Learn More',
url: 'https://learn.hashicorp.com/tutorials/consul/service-mesh-features',
2020-05-13 22:51:01 +00:00
type: 'outbound',
},
],
}}
codeBlock={{
language: 'hcl',
code: `Kind = "service-splitter"
Name = "billing-api"
Splits = [
{
Weight = 10
ServiceSubset = "v2"
},
{
Weight = 90
ServiceSubset = "v1"
},
]`,
}}
/>
<TextSplitWithImage
textSplit={{
heading: 'Integrate and Extend in Kubernetes',
content:
'Quickly deploy Consul on Kubernetes leveraging Helm. Automatically inject sidecars for Kubernetes resources. Federate multiple clusters into a single service mesh.',
textSide: 'left',
links: [
{
text: 'Learn More',
url: '/docs/platform/k8s/run',
2020-05-13 22:51:01 +00:00
type: 'inbound',
},
],
}}
image={{
url: require('./img/kubernetes.svg?url'),
}}
/>
<TextSplitWithImage
textSplit={{
heading: 'Connect and Extend Service Mesh for Any Workload',
content:
'Integrate with existing services and applications by leveraging Consul ingress and terminating gateways. Extend between complex networks and multi-cloud topologies with Consul mesh gateways.',
textSide: 'right',
}}
image={{
url: require('./img/connect-and-extend.svg?url'),
}}
/>
<TextSplitWithImage
textSplit={{
heading: 'Robust Ecosystem',
content:
'Rich ecosystem community extends Consuls functionality into spaces such as networking, observability, and security.',
textSide: 'left',
}}
image={{
url: require('./img/robust-ecosystem.svg?url'),
}}
/>
2020-05-13 22:53:54 +00:00
<TextSplitWithImage
textSplit={{
heading: 'Improved Observability',
content:
'Centrally managed service observability at Layer 7 including detailed metrics on all service-to-service communication such as connections, bytes transferred, retries, timeouts, open circuits, and request rates, response codes.',
textSide: 'right',
}}
image={{
url: require('./img/observability.svg?url'),
}}
/>
2020-05-13 22:51:01 +00:00
<div className="with-border">
<TextSplitWithImage
textSplit={{
heading: 'Scale to Enterprise',
content:
2020-05-14 04:40:02 +00:00
'Consul addresses the challenge of running a service mesh at enterprise scale from both an environmental complexity and resiliency perspective.',
2020-05-13 22:51:01 +00:00
textSide: 'left',
links: [
{
text: 'Learn More',
url: '/docs/enterprise',
2020-05-13 22:51:01 +00:00
type: 'inbound',
},
],
}}
image={{
url: require('./img/services-screenshot.png?url'),
}}
/>
</div>
2020-05-07 04:05:10 +00:00
</UseCaseLayout>
)
}