No description
  • Go 83.7%
  • Dockerfile 7.3%
  • HCL 6.4%
  • Makefile 2.6%
Find a file
Caleb Albers 278a269d05
Merge pull request #5 from hashicorp/compliance/add-license
[COMPLIANCE] Update MPL-2.0 LICENSE
2023-01-17 13:50:52 -08:00
.vscode Updated getting started 2019-11-14 15:00:30 +00:00
1_getting_started Updated for canary and broken service 2019-11-20 15:03:01 +00:00
2_tracing Updated tracing 2019-11-21 14:27:23 +00:00
3_canary Updated tracing 2019-11-21 14:27:23 +00:00
docs Updated instructions 2019-11-28 09:26:14 +00:00
gloo-loop added loop docs 2019-11-21 08:19:01 -08:00
payment-service reset handler 2019-11-21 19:36:08 +00:00
.gitignore Updated dockerfile and gitignore 2019-11-14 07:58:51 +00:00
consul-values.yml Update getting started 2019-11-14 16:55:17 +00:00
go.mod Updated for canary and broken service 2019-11-20 15:03:01 +00:00
go.sum Updated for canary and broken service 2019-11-20 15:03:01 +00:00
LICENSE [COMPLIANCE] Update MPL 2.0 LICENSE 2022-10-12 20:52:38 +00:00
README.md Updated to add more detail round missing sections 2019-11-18 14:28:13 +00:00

Service Mesh for the Developer Workflow

Abstract

Service mesh is often presented as a solution for network engineering and system operability, increasing security, reliability, and observability. However, service mesh is also an incredibly useful tool for developers, and understanding how to leverage this technology can dramatically simplify your day to day workflow.

By leveraging free and open-source tools and a scenario-based approach, we will illustrate how a service mesh can help with application resilience, observability, and debugging.

By the end of this workshop you will understand: How to use metrics and distributed tracing effectively Reliability patterns like retries, timeouts, and circuit breaking How to leverage Canary deployments How you can effectively debug distributed systems

The cloud-native, open-source technology used in this tutorial include: Envoy Prometheus Gloo shot Consul Service Mesh Loop Squash Open Census

Requirements

Ideally it will be possible to bundle these tools into a Docker Container to account for for different environments and minimum setup for the user.

  • Docker
  • Kubectl
  • VSCode / Vim
  • Squash
  • Gloo Shot
  • Loop
  • Consul (CLI)

Lesson Plan (total 1hr30 mins)

  • What is a Service Mesh (10 mins)
  • Setting up the environment (10 mins)
    • yard up
    • install gloo api gateway
    • expose service through gateway
    • Deploy your first application (10 mins)
  • Tracing
    • using tracing
    • make changes to service to apply tracing correctly
  • Deploy changes as canary
  • Add some resilience using service mesh (retry, timeout, etc)
  • Debug service
    • try with squash
    • try with loop