Skip to content

Commit 61a55ee

Browse files
authored
Merge pull request #5002 from AbiodunVlad/layer5-branch
meta descriptions for service mesh patterns and layer5&hashicoop
2 parents d9d206f + 1c412af commit 61a55ee

File tree

5 files changed

+148
-102
lines changed

5 files changed

+148
-102
lines changed

src/collections/news/2020/2020-05-28-layer5-and-hasicorp-launch-service-mesh-partnership/index.mdx

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
---
22
title: "Layer5 and HashiCorp Launch Service Mesh Partnership"
3-
date: 2020-05-28 00:00:00 +0800
3+
date: 2020-05-28 00:00:00 +0800
44
author: The Newsroom
55
thumbnail: ./layer5-hashicorp.webp
66
darkthumbnail: ./layer5-hashicorp.webp
77
category: "Press Release"
88
eurl: ""
99
redirect_from:
10-
- /company/news/layer5-hashicorp-launch-service-mesh-partnership/
11-
- /company/news/layer5-hashicorp-launch-service-mesh-partnership
10+
- /company/news/layer5-hashicorp-launch-service-mesh-partnership/
11+
- /company/news/layer5-hashicorp-launch-service-mesh-partnership
1212
published: true
13+
description: "Layer5 and HashiCorp join forces to launch a groundbreaking partnership, bringing advanced cloud-native infrastructure solutions for containerized and non-containerized workloads through Meshery and Consul integration. Explore the power of Meshery's support for Consul service mesh, including sample applications, performance management, and experimental support for WebAssembly, demonstrated at DockerCon 2020 for near-native fine-grained traffic control."
1314
type: News
1415
product: Meshery
1516
technology: WebAssembly
@@ -30,7 +31,13 @@ _Announced on May 28th, 2020 at DockerCon Live 2020._
3031

3132
Today, we are pleased to announce the technology partnership of Layer5 and HashiCorp. Layer5’s [Meshery](https://layer5.io/cloud-native-management/meshery), the cloud native management plane, and HashiCorp’s [Consul](https://consul.io) integrate to provide advanced, cloud native infrastructure solutions for containerized and non-containerized workloads - strengths of Consul. The marriage of these technologies forms a layering of network planes: data, control, and management.
3233

33-
<a href={layer5_hashicorp_partnership}><img src={layer5_hashicorp_partnership} alt="layer5-hashicorp-partnership" width="100%" /></a>
34+
<a href={layer5_hashicorp_partnership}>
35+
<img
36+
src={layer5_hashicorp_partnership}
37+
alt="layer5-hashicorp-partnership"
38+
width="100%"
39+
/>
40+
</a>
3441

3542
_Service Mesh Planes: Consul and Meshery. Learn more about service mesh planes in [The Enterprise Path to Service Mesh Architectures](https://layer5.io/books/the-enterprise-path-to-service-mesh-architectures)._
3643

@@ -46,12 +53,14 @@ Demonstrated at DockerCon 2020, is the “[Image Hub](https://github.com/layer5i
4653

4754
In order to assess the overall performance of the service mesh, and the overhead of individual, fine-grained traffic control mechanisms defined in Consul’s control plane and enforced through Consul’s intelligent data plane, Meshery provides users with statistical analysis of the responsiveness of their services and performance of the service mesh. As highlighted by Docker Captain, [Luc Juggery](https://twitter.com/lucjuggery), performance is an ongoing concern:
4855

49-
<div style="margin:20px;">Running a performance test is not a one shot thing. Tests should be run on a regular basis to (re)establish baselines and evaluate configuration changes:
50-
<ul>
51-
<li>- for each new release of the chosen service mesh</li>
52-
<li>- for each change of the configuration of your service mesh</li>
53-
<li>- for each new release of the application"</li>
54-
</ul>
56+
<div style="margin:20px;">
57+
Running a performance test is not a one shot thing. Tests should be run on a
58+
regular basis to (re)establish baselines and evaluate configuration changes:
59+
<ul>
60+
<li>- for each new release of the chosen service mesh</li>
61+
<li>- for each change of the configuration of your service mesh</li>
62+
<li>- for each new release of the application"</li>
63+
</ul>
5564
</div>
5665

5766
Meshery’s ability to connect to Prometheus instances to retrieve and account for cluster and application-level metrics is popularly used during Meshery’s service mesh performance tests. Likewise, Meshery’s ability to connect to and import existing dashboards, panels, and charts from Grafana is instrumental in allowing users to retain their existing investment in dashboards and metrics they have curated over time.
@@ -60,7 +69,9 @@ Meshery’s ability to connect to Prometheus instances to retrieve and account f
6069

6170
Today, at [DockerCon 2020](https://docker.events.cube365.net/docker/dockercon/content/Videos/63TCCNpzDC7Xxnm8b), we demonstrate technology leadership in advanced data plane engineering for near-native performance of fine-grained traffic control facilitated by Meshery and Consul with the use of Envoy and WebAssembly.
6271

63-
<a href={layer5_image_hub}><img src={layer5_image_hub} alt="layer5-hashicorp-imagehub" width="100%" /></a>
72+
<a href={layer5_image_hub}>
73+
<img src={layer5_image_hub} alt="layer5-hashicorp-imagehub" width="100%" />
74+
</a>
6475

6576
_In this demonstration, Meshery takes advantage of Consul’s use of Envoy. Envoy support for WebAssembly is impending._
6677

src/collections/service-mesh-books/istio-up-and-running/index.mdx

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,30 @@ cover: ./istio-up-and-running.webp
55
thumbnail: ./istio-up-and-running_top.png
66
author: "Lee Calcote and Zack Butcher"
77
abstract: "A must-read for anyone looking to get started with Istio."
8+
description: "Discover Istio: The Ultimate Guide to Service Mesh for Microservices - Gain Insights on Deployment, Management, and Security"
89
published: true
910
redirect_from:
10-
- /books/istio-up-and-running
11+
- /books/istio-up-and-running
1112
---
1213

1314
import { BookWrapper } from "../Book.style.js";
14-
import istio_book from "./istio-up-and-running.webp"
15+
import istio_book from "./istio-up-and-running.webp";
1516
import Button from "../../../reusecore/Button";
1617

1718
<BookWrapper>
1819

19-
<div className="book"><a href="http://www.jdoqocy.com/click-100001276-11290546?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920203940.do%3Fcmp%3Daf-velocity-books-video-product_cj_0636920203940_%25zp&cjsku=0636920203940"><img className="card" width="300px" src={istio_book} align="center" /></a><div>&nbsp;</div>
20-
<Button primary className="banner-btn one pa-8" title="Get the Book" url="http://www.jdoqocy.com/click-100001276-11290546?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920203940.do%3Fcmp%3Daf-velocity-books-video-product_cj_0636920203940_%25zp&cjsku=0636920203940" external={ true } />
20+
<div className="book">
21+
<a href="http://www.jdoqocy.com/click-100001276-11290546?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920203940.do%3Fcmp%3Daf-velocity-books-video-product_cj_0636920203940_%25zp&cjsku=0636920203940">
22+
<img className="card" width="300px" src={istio_book} align="center" />
23+
</a>
24+
<div>&nbsp;</div>
25+
<Button
26+
primary
27+
className="banner-btn one pa-8"
28+
title="Get the Book"
29+
url="http://www.jdoqocy.com/click-100001276-11290546?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920203940.do%3Fcmp%3Daf-velocity-books-video-product_cj_0636920203940_%25zp&cjsku=0636920203940"
30+
external={true}
31+
/>
2132
</div>
2233

2334
Istio is a service mesh announced in 2017 and supported by Google, IBM, and Lyft. It is open-source, incorporates Envoy Proxy, a component developed and battle hardened at Lyft, and is one of the fastest growing solutions for connecting, managing, and securing microservices.
@@ -26,16 +37,26 @@ Over time, microservices become opaque as they become larger. This makes trouble
2637

2738
The hope is that readers will:
2839

29-
<li> Gain a broad understanding of the service mesh Istio. It’s origins, current state, and future. </li>
40+
<li>
41+
{" "}
42+
Gain a broad understanding of the service mesh Istio. It’s origins, current state,
43+
and future.{" "}
44+
</li>
3045
<li> Be able to deploy, manage, and use Istio. </li>
31-
<li> Be familiar with the components of Istio -- what they do, how to use them, common patterns and production scenarios.</li>
46+
<li>
47+
{" "}
48+
Be familiar with the components of Istio -- what they do, how to use them, common
49+
patterns and production scenarios.
50+
</li>
3251
<li> Develop policies and manage them.</li>
3352
<li> Secure their microservice.</li>
3453
<li> A broad understanding of the Istio ecosystem.</li>
3554
<li> How to engage with the community.</li>
3655

37-
<br/>
38-
<br/><b>Early Release:</b> Summer 2019
39-
<br/><b>Publish:</b> October 2019
56+
<br />
57+
<br />
58+
<b>Early Release:</b> Summer 2019
59+
<br />
60+
<b>Publish:</b> October 2019
4061

4162
</BookWrapper>

src/collections/service-mesh-books/service-mesh-patterns/index.mdx

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,71 @@ cover: ./service-mesh-patterns.webp
55
thumbnail: ./service-mesh-patterns.webp
66
author: Lee Calcote and Nic Jackson
77
abstract: "Patterns, recipes and best practices for deploying and operating service meshes."
8+
description: "Discover essential service mesh patterns and best practices for optimizing Istio, Linkerd, Consul, App Mesh, and other service mesh technologies, including those leveraging Envoy and WebAssembly. Dive into the 'Service Mesh Patterns' book, designed for anyone delivering cloud-native workloads enabled by a service mesh, and ensure your infrastructure and applications derive maximum value from this powerful layer of communication and control."
89
published: true
910
redirect_from:
10-
- /books/service-mesh-patterns
11+
- /books/service-mesh-patterns
1112
---
1213

1314
import { BookWrapper } from "../Book.style.js";
1415
import Table from "../../../components/service-mesh-patterns-Table/Table.js";
15-
import {Link} from "gatsby"
16+
import { Link } from "gatsby";
1617
import Button from "../../../reusecore/Button";
17-
import service_mesh_pattern_book from "./service-mesh-patterns.webp"
18-
18+
import service_mesh_pattern_book from "./service-mesh-patterns.webp";
1919

2020
<BookWrapper>
2121

2222
<div className="book">
2323
<a href="https://www.oreilly.com/library/view/service-mesh-patterns/9781492086444/">
24-
<img className="card" width="300px" src={service_mesh_pattern_book} align="center" />
25-
</a><div>&nbsp;</div>
26-
<Button primary className="banner-btn one pa-8" title="Get the Book" url="https://www.oreilly.com/library/view/service-mesh-patterns/9781492086444/" external={ true }/>
24+
<img
25+
className="card"
26+
width="300px"
27+
src={service_mesh_pattern_book}
28+
align="center"
29+
/>
30+
</a>
31+
<div>&nbsp;</div>
32+
<Button
33+
primary
34+
className="banner-btn one pa-8"
35+
title="Get the Book"
36+
url="https://www.oreilly.com/library/view/service-mesh-patterns/9781492086444/"
37+
external={true}
38+
/>
2739
</div>
2840

29-
41+
<p></p>
3042
<p>
31-
Patterns and best practices for getting most out of Istio, Linkerd, Consul, App Mesh or <Link to="/service-mesh-landscape">any service mesh</Link>, including those using Envoy and use of WebAssembly.
43+
Patterns and best practices for getting most out of Istio, Linkerd, Consul,
44+
App Mesh or <Link to="/service-mesh-landscape">any service mesh</Link>,
45+
including those using Envoy and use of WebAssembly.
3246
</p>
3347

34-
<p><strong>About the Service Mesh Patterns book</strong></p>
48+
<p>
49+
<strong>About the Service Mesh Patterns book</strong>
50+
</p>
3551

3652
A service mesh is a layer in your infrastructure that facilitates communication between services… and so much more. Its value is enormous, and the value you derive from one is very much related to what role you play in the design, implementation, and operations of your cloud native applications and infrastructure.
3753

3854
<div className="center">
39-
<Button secondary className="banner-btn" title="Visit Service Mesh Patterns website" url="https://service-mesh-patterns.github.io/service-mesh-patterns/" external={ true }/>
55+
<Button
56+
secondary
57+
className="banner-btn"
58+
title="Visit Service Mesh Patterns website"
59+
url="https://service-mesh-patterns.github.io/service-mesh-patterns/"
60+
external={true}
61+
/>
4062
</div>
4163

42-
<p><strong>This book is being written for</strong></p>
64+
<p>
65+
<strong>This book is being written for</strong>
66+
</p>
4367

4468
Identifying who this book is for has been one of the hardest challenges in writing it. The power of a service mesh is vast, and therefore, empowers individuals of many different roles. In short, this book is for anyone delivering workloads enabled by a service mesh and who wants to ensure their use of a service mesh provides the most possible value to the workloads and teams that rely on it.
4569

46-
<br/>
70+
<br />
4771

48-
<Table/>
72+
<Table />
4973
<br />
5074

5175
</BookWrapper>

src/sections/Blog/Blog-sidebar/index.js

Lines changed: 29 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ import React, { useEffect, useState } from "react";
22
import { graphql, Link, useStaticQuery } from "gatsby";
33
import slugify from "../../../utils/slugify";
44
import { StaticImage } from "gatsby-plugin-image";
5-
import Button from "../../../reusecore/Button";
5+
66
import BlogSideBarWrapper from "./blogSidebar.style";
77
import { HiOutlineChevronUp } from "@react-icons/all-files/hi/HiOutlineChevronUp";
88
import { HiOutlineChevronDown } from "@react-icons/all-files/hi/HiOutlineChevronDown";
99
// import { FaSearch } from "@react-icons/all-files/fa/FaSearch";
1010

1111
const Discuss = "../../../assets/images/discuss/layer5-discuss-white.webp";
12-
const FiveandFriendsAdventures = "../../../assets/images/blog/five-and-friends.png";
12+
const FiveandFriendsAdventures =
13+
"../../../assets/images/blog/five-and-friends.png";
1314

1415
const Sidebar = ({ pageContext }) => {
1516
const data = useStaticQuery(
@@ -75,19 +76,25 @@ const Sidebar = ({ pageContext }) => {
7576
</div>
7677

7778
<div className="sidebar-widgets catagorie">
78-
<div className="widgets-title" onClick={() => setShowCategory(value => !value)}>
79+
<div
80+
className="widgets-title"
81+
onClick={() => setShowCategory((value) => !value)}
82+
>
7983
<h3>Categories</h3>
8084
{!showCategory ? (
81-
<HiOutlineChevronDown className="menu-icon"/>
85+
<HiOutlineChevronDown className="menu-icon" />
8286
) : (
83-
<HiOutlineChevronUp className="menu-icon"/>
87+
<HiOutlineChevronUp className="menu-icon" />
8488
)}
8589
</div>
86-
<ul className={`${(!showCategory) ? "ul-close" : "scroll"}`}>
90+
<ul className={`${!showCategory ? "ul-close" : "scroll"}`}>
8791
{categories &&
8892
categories.map((category) => (
8993
<li key={category.fieldValue}>
90-
<Link to={`/blog/category/${slugify(category.fieldValue)}`} activeStyle={{ color: "#00b39f" }}>
94+
<Link
95+
to={`/blog/category/${slugify(category.fieldValue)}`}
96+
activeStyle={{ color: "#00b39f" }}
97+
>
9198
<span>{category.fieldValue}</span>
9299
<em>({category.totalCount})</em>
93100
</Link>
@@ -96,19 +103,25 @@ const Sidebar = ({ pageContext }) => {
96103
</ul>
97104
</div>
98105
<div className="sidebar-widgets tags">
99-
<div className="widgets-title" onClick={() => setShowTag(value => !value)}>
106+
<div
107+
className="widgets-title"
108+
onClick={() => setShowTag((value) => !value)}
109+
>
100110
<h3>Tags</h3>
101111
{!showTag ? (
102-
<HiOutlineChevronDown className="menu-icon"/>
112+
<HiOutlineChevronDown className="menu-icon" />
103113
) : (
104-
<HiOutlineChevronUp className="menu-icon"/>
114+
<HiOutlineChevronUp className="menu-icon" />
105115
)}
106116
</div>
107-
<ul className={`${(!showTag) ? "ul-close" : "scroll"}`}>
117+
<ul className={`${!showTag ? "ul-close" : "scroll"}`}>
108118
{tags &&
109119
tags.map((tag) => (
110120
<li key={tag.fieldValue}>
111-
<Link to={`/blog/tag/${slugify(tag.fieldValue)}`} activeStyle={{ background: "#00b39f", color: "#ffffff" }}>
121+
<Link
122+
to={`/blog/tag/${slugify(tag.fieldValue)}`}
123+
activeStyle={{ background: "#00b39f", color: "#ffffff" }}
124+
>
112125
{tag.fieldValue} ({tag.totalCount})
113126
</Link>
114127
</li>
@@ -120,37 +133,14 @@ const Sidebar = ({ pageContext }) => {
120133
<a href="https://layer5.io/community/adventures-of-five-and-friends">
121134
<div className="card">
122135
<h2>See the Adventures of Five and Friends</h2>
123-
<StaticImage alt="layer5 five and friends adventures" src={FiveandFriendsAdventures} />
136+
<StaticImage
137+
alt="layer5 five and friends adventures"
138+
src={FiveandFriendsAdventures}
139+
/>
124140
</div>
125141
</a>
126142
</div>
127143
</div>
128-
<div className="subscribe">
129-
<form
130-
name="contactform"
131-
method="post"
132-
action="https://calcotestudios.us15.list-manage.com/subscribe/post?u=6b50be5aea3dfe1fd4c041d80&amp;id=6bb65defeb"
133-
>
134-
<div>
135-
<span>
136-
<h4>Subscribe to our Newsletter</h4>
137-
</span>
138-
<input
139-
className="inputrow subscribe-email"
140-
type="email"
141-
placeholder="Email Address"
142-
name="EMAIL"
143-
id="mce-EMAIL"
144-
required
145-
onInvalid={(e) =>
146-
e.target.setCustomValidity("Please fill-in this field")
147-
}
148-
onInput={(e) => e.target.setCustomValidity("")}
149-
/>
150-
<Button secondary title="Subscribe" aria-label="subscribe-us" id="mc-embedded-subscribe" />
151-
</div>
152-
</form>
153-
</div>
154144
</BlogSideBarWrapper>
155145
);
156146
};

0 commit comments

Comments
 (0)