SlideShare a Scribd company logo
1
Confidential do not distribute 1
September 2022
Simplifying Hybrid
Kubernetes with
Weaveworks and EKS
Leonardo Murillo
Principal Partner Solutions Architect, Weaveworks
@murillodigital ⬝ leonardo@weave.works
2
Confidential do not distribute 2
Leo brings wide-ranging industry perspective, with over 20 years
of experience building technology and leading teams all the way
from Startups to Fortune 500s.
He is passionate about cloud native technologies, organizational
transformation and open source.
As former CTO of Qwinix Technologies he led worldwide teams
building cloud native software for large enterprises. In his role as
Principal Partner Solutions Architect at Weaveworks, he focuses
on helping solve application and infrastructure delivery
challenges on Kubernetes at scale.
Leonardo Murillo
Principal Partner Solutions Architect, Weaveworks
@murillodigital ⬝ leonardo@weave.works
3
Confidential do not distribute 3
What we’ll talk about today
● The GitOps Principles
● How GitOps helps with
○ Increasing Kubernetes reliability
○ Recovering EKS clusters in case of disaster
○ Governance, risk and compliance
● Hybrid Kubernetes simplified by GitOps
● EKS as foundation for Hybrid Solutions
● GitOps, development and the SDLC of containerized workloads on Kubernetes
4
Confidential do not distribute 4
The GitOps Principles
5
Confidential do not distribute 5
The GitOps Principles
Declarative configuration only
describes, it does not provide
instructions the way imperative
systems do.
1
6
Confidential do not distribute 6
The GitOps Principles
State does not change,
it evolves. The only way to
introduce changes to the
description is creating a
new version.
2
7
Confidential do not distribute 7
The GitOps Principles
Declared state is automatically
pulled, there is no external push
into the target system.
3
8
Confidential do not distribute 8
The GitOps Principles
State is maintained at all times,
and all necessary actions are
abstracted by the agents that
interpret it.
4
9
Confidential do not distribute 9
How does Weave GitOps apply these principles
Kubernetes manifests
as declarative
configuration
Weave GitOps Watches the repository and
agents continuously introspect the runtime state
and reconcile it with the described configuration
Stored in Git, every change
producing a new unique version
that is immutable
10
Confidential do not distribute 10
How does Weave GitOps apply these principles
The same pattern applies for
applications and infrastructure.
You can create and operate many
clusters from a management
cluster using declarative
configuration and Weave GitOps
continuous reconciliation.
“Leaf Clusters” can run EKS in
AWS, or EKS Distro anywhere
else!
11
Confidential do not distribute 11
Declarative EKS Provisioning
Cluster Provider
Describes the configuration of the cluster,
not the actions or resources specific to
satisfy that desired state within a specific
infrastructure provider
Interprets the cluster configuration and
takes the necessary, infrastructure specific
actions, required to materialize that desired
state.
Provisioning complexity is abstracted away.
Cluster configuration is generically applicable.
Declare once, apply everywhere (see the value to hybrid?)
12
Confidential do not distribute 12
Continuous Reconciliation towards Reliability
Reliability:
Probability that a system
performs correctly during
a specific time duration.
Probability that a system
performs correctly a user will
receive the expected and
acceptable experience during a
specific time duration.
(Think error budgets and site reliability
engineering)
What’s one of the easiest ways to
guarantee low error budgets and
satisfactory availability?
Automate: deployment, scaling
and recovery.
An agent’s continuous
reconciliation process
does just that.
13
Confidential do not distribute 13
Continuous Reconciliation towards Reliability
Update
Kubernetes
Objects
Pods
Services
Watch
Watch
Update
Controller
System
Resources
Containers
Volume
iptables
rules
14
Confidential do not distribute 14
GitOps and Disaster Recovery
Your entire system is declared in a
versioned and immutable source
of truth.
(Entire system = infrastructure,
applications, cloud resources,
everything)
Using GitOps, disaster recovery
means small configuration changes if
necessary to apply the full desired
state to a new provider or region.
This may not even be necessary if
disruption is not as vast that the
recovery itself did not happen fully
automatically by the GitOps
Reconciliation Loop.
1 2
15
Confidential do not distribute 15
GitOps and Disaster Recovery
Pull makes it easier
Since the target environments are
pulling configuration from a source of
truth, access controls and network
permissions are dramatically
simplified, no need to punch holes
into new environments or handle
ad-hoc credentials
What about data?
You will still need to apply best
practices in terms of data backups
and replication!
3 4
16
Confidential do not distribute 16
Environment Consistency and HA
The boundary between cluster
and underlying provider allows
you to create consistent
environments in terms of
configuration, while freely
switching the underlying
infrastructure provider.
It also becomes simpler to
establish redundancy and high
availability, by applying the
same configuration to multiple
providers or across regions
within the same infrastructure
provider.
Scalability becomes part of
your described desired state,
covering workloads (using
Kubernetes native objects such
as Deployments) as well as the
clusters themselves (using
Cluster Auto Scaler)
17
Confidential do not distribute 17
Immutability and traceability towards compliance
By using Git, every change
applied to a system can be
uniquely identified. Each
identifier is tied to a specific
user, and it represents the
unique and immutable state
at a point in time.
This has worked wonderfully in
application development and
with GitOps it applies to entire
systems.
18
Confidential do not distribute 18
Immutability and traceability towards compliance
What about compliance?
Declarative policy will continuously
inspect and validate runtime, and
reject, notify or otherwise take
actions to guarantee compliance.
19
Confidential do not distribute 19
How does this all tie together for simple Hybrid EKS?
20
Confidential do not distribute 20
The relevance of EKS (Managed, Distro, Anywhere)
● Observe
● Upgrade
● Patch
● Secure
Kubernetes does around 3
releases a year, your chosen
distro will need to track them.
Picking a Kubernetes
distribution is critical towards
reducing complexity down the
road.
Once your cluster(s) are running,
you will need to:
EKS Distro gives you a common Kubernetes platform with
secure opinions and built for scale, that you can run across any
target environments
21
Confidential do not distribute 21
Delivering Workloads to Hybrid Environments
Development
Team
Autonomy
Release
Promotion
Environment
Security
Advanced
Delivery
Pattern
22
22
1. Whitepaper: Best Practices for Hybrid Cloud Kubernetes
with EKS and Weave GitOps
https://bit.ly/hybrid-EKS
2. Contact us for a demo:
sales@weave.works
3. Join other events with us:
www.weave.works/events
Thank You
23
Confidential do not distribute
2
3
www.weave.works
Thanks

More Related Content

PDF
Weave AI Controllers (Weave GitOps Office Hours)
PDF
Flamingo: Expand ArgoCD with Flux (Office Hours)
PDF
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
PDF
Six Signs You Need Platform Engineering
PDF
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
PDF
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
PDF
Flux Beyond Git Harnessing the Power of OCI
PDF
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Weave AI Controllers (Weave GitOps Office Hours)
Flamingo: Expand ArgoCD with Flux (Office Hours)
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Six Signs You Need Platform Engineering
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Flux Beyond Git Harnessing the Power of OCI
Automated Provisioning, Management & Cost Control for Kubernetes Clusters

More from Weaveworks (20)

PDF
How to Avoid Kubernetes Multi-tenancy Catastrophes
PDF
Building internal developer platform with EKS and GitOps
PDF
GitOps Testing in Kubernetes with Flux and Testkube.pdf
PDF
Intro to GitOps with Weave GitOps, Flagger and Linkerd
PDF
Implementing Flux for Scale with Soft Multi-tenancy
PDF
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
PDF
The Story of Flux Reaching Graduation in the CNCF
PDF
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
PDF
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
PDF
Flux’s Security & Scalability with OCI & Helm Slides.pdf
PDF
Flux Security & Scalability using VS Code GitOps Extension
PDF
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
PDF
Robust Network Security and Observability with GitOps and Cilium
PDF
Intro to GitOps & Flux.pdf
PDF
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
PDF
Building a Security First Approach Across Hybrid Cloud with GitOps and Policy...
PDF
Security & Resiliency of Cloud Native Apps with Weave GitOps & Tetrate Servic...
PDF
DevOps Automation with GitOps: Consistent and Secure End to End Deployments
PDF
Trusted Application Delivery: Achieving Ultimate Security
PPTX
Terraform and Weave GitOps: Build a Fully Automated Application Stack
How to Avoid Kubernetes Multi-tenancy Catastrophes
Building internal developer platform with EKS and GitOps
GitOps Testing in Kubernetes with Flux and Testkube.pdf
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Implementing Flux for Scale with Soft Multi-tenancy
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
The Story of Flux Reaching Graduation in the CNCF
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Flux’s Security & Scalability with OCI & Helm Slides.pdf
Flux Security & Scalability using VS Code GitOps Extension
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Robust Network Security and Observability with GitOps and Cilium
Intro to GitOps & Flux.pdf
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Building a Security First Approach Across Hybrid Cloud with GitOps and Policy...
Security & Resiliency of Cloud Native Apps with Weave GitOps & Tetrate Servic...
DevOps Automation with GitOps: Consistent and Secure End to End Deployments
Trusted Application Delivery: Achieving Ultimate Security
Terraform and Weave GitOps: Build a Fully Automated Application Stack
Ad

Simplifying Hybrid Kubernetes with Weaveworks and EKS.pdf

  • 1. 1 Confidential do not distribute 1 September 2022 Simplifying Hybrid Kubernetes with Weaveworks and EKS Leonardo Murillo Principal Partner Solutions Architect, Weaveworks @murillodigital ⬝ leonardo@weave.works
  • 2. 2 Confidential do not distribute 2 Leo brings wide-ranging industry perspective, with over 20 years of experience building technology and leading teams all the way from Startups to Fortune 500s. He is passionate about cloud native technologies, organizational transformation and open source. As former CTO of Qwinix Technologies he led worldwide teams building cloud native software for large enterprises. In his role as Principal Partner Solutions Architect at Weaveworks, he focuses on helping solve application and infrastructure delivery challenges on Kubernetes at scale. Leonardo Murillo Principal Partner Solutions Architect, Weaveworks @murillodigital ⬝ leonardo@weave.works
  • 3. 3 Confidential do not distribute 3 What we’ll talk about today ● The GitOps Principles ● How GitOps helps with ○ Increasing Kubernetes reliability ○ Recovering EKS clusters in case of disaster ○ Governance, risk and compliance ● Hybrid Kubernetes simplified by GitOps ● EKS as foundation for Hybrid Solutions ● GitOps, development and the SDLC of containerized workloads on Kubernetes
  • 4. 4 Confidential do not distribute 4 The GitOps Principles
  • 5. 5 Confidential do not distribute 5 The GitOps Principles Declarative configuration only describes, it does not provide instructions the way imperative systems do. 1
  • 6. 6 Confidential do not distribute 6 The GitOps Principles State does not change, it evolves. The only way to introduce changes to the description is creating a new version. 2
  • 7. 7 Confidential do not distribute 7 The GitOps Principles Declared state is automatically pulled, there is no external push into the target system. 3
  • 8. 8 Confidential do not distribute 8 The GitOps Principles State is maintained at all times, and all necessary actions are abstracted by the agents that interpret it. 4
  • 9. 9 Confidential do not distribute 9 How does Weave GitOps apply these principles Kubernetes manifests as declarative configuration Weave GitOps Watches the repository and agents continuously introspect the runtime state and reconcile it with the described configuration Stored in Git, every change producing a new unique version that is immutable
  • 10. 10 Confidential do not distribute 10 How does Weave GitOps apply these principles The same pattern applies for applications and infrastructure. You can create and operate many clusters from a management cluster using declarative configuration and Weave GitOps continuous reconciliation. “Leaf Clusters” can run EKS in AWS, or EKS Distro anywhere else!
  • 11. 11 Confidential do not distribute 11 Declarative EKS Provisioning Cluster Provider Describes the configuration of the cluster, not the actions or resources specific to satisfy that desired state within a specific infrastructure provider Interprets the cluster configuration and takes the necessary, infrastructure specific actions, required to materialize that desired state. Provisioning complexity is abstracted away. Cluster configuration is generically applicable. Declare once, apply everywhere (see the value to hybrid?)
  • 12. 12 Confidential do not distribute 12 Continuous Reconciliation towards Reliability Reliability: Probability that a system performs correctly during a specific time duration. Probability that a system performs correctly a user will receive the expected and acceptable experience during a specific time duration. (Think error budgets and site reliability engineering) What’s one of the easiest ways to guarantee low error budgets and satisfactory availability? Automate: deployment, scaling and recovery. An agent’s continuous reconciliation process does just that.
  • 13. 13 Confidential do not distribute 13 Continuous Reconciliation towards Reliability Update Kubernetes Objects Pods Services Watch Watch Update Controller System Resources Containers Volume iptables rules
  • 14. 14 Confidential do not distribute 14 GitOps and Disaster Recovery Your entire system is declared in a versioned and immutable source of truth. (Entire system = infrastructure, applications, cloud resources, everything) Using GitOps, disaster recovery means small configuration changes if necessary to apply the full desired state to a new provider or region. This may not even be necessary if disruption is not as vast that the recovery itself did not happen fully automatically by the GitOps Reconciliation Loop. 1 2
  • 15. 15 Confidential do not distribute 15 GitOps and Disaster Recovery Pull makes it easier Since the target environments are pulling configuration from a source of truth, access controls and network permissions are dramatically simplified, no need to punch holes into new environments or handle ad-hoc credentials What about data? You will still need to apply best practices in terms of data backups and replication! 3 4
  • 16. 16 Confidential do not distribute 16 Environment Consistency and HA The boundary between cluster and underlying provider allows you to create consistent environments in terms of configuration, while freely switching the underlying infrastructure provider. It also becomes simpler to establish redundancy and high availability, by applying the same configuration to multiple providers or across regions within the same infrastructure provider. Scalability becomes part of your described desired state, covering workloads (using Kubernetes native objects such as Deployments) as well as the clusters themselves (using Cluster Auto Scaler)
  • 17. 17 Confidential do not distribute 17 Immutability and traceability towards compliance By using Git, every change applied to a system can be uniquely identified. Each identifier is tied to a specific user, and it represents the unique and immutable state at a point in time. This has worked wonderfully in application development and with GitOps it applies to entire systems.
  • 18. 18 Confidential do not distribute 18 Immutability and traceability towards compliance What about compliance? Declarative policy will continuously inspect and validate runtime, and reject, notify or otherwise take actions to guarantee compliance.
  • 19. 19 Confidential do not distribute 19 How does this all tie together for simple Hybrid EKS?
  • 20. 20 Confidential do not distribute 20 The relevance of EKS (Managed, Distro, Anywhere) ● Observe ● Upgrade ● Patch ● Secure Kubernetes does around 3 releases a year, your chosen distro will need to track them. Picking a Kubernetes distribution is critical towards reducing complexity down the road. Once your cluster(s) are running, you will need to: EKS Distro gives you a common Kubernetes platform with secure opinions and built for scale, that you can run across any target environments
  • 21. 21 Confidential do not distribute 21 Delivering Workloads to Hybrid Environments Development Team Autonomy Release Promotion Environment Security Advanced Delivery Pattern
  • 22. 22 22 1. Whitepaper: Best Practices for Hybrid Cloud Kubernetes with EKS and Weave GitOps https://bit.ly/hybrid-EKS 2. Contact us for a demo: sales@weave.works 3. Join other events with us: www.weave.works/events Thank You
  • 23. 23 Confidential do not distribute 2 3 www.weave.works Thanks