SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
Telepresence Deep Dive
Rafael Schloming & Luke Shumaker
datawire.io
Project Goals
How it works
Use Cases: Real & Imagined (aka Roadmap)
Future
Demo?
datawire.io
Telepresence Goals
datawire.io
Fast high quality feedback for developers!
datawire.io
Crystal ball for code changes!
datawire.io
Crystal ball for code changes!
datawire.io
Choose any two
Realistic
Feedback
Fast
Feedback
Time for
“Real Work”
datawire.io
Telepresence Goal
Fast and Realistic Feedback without spending half
your time fixing Build System Rot
datawire.io
How does it work?
datawire.io
Strategy
Fast: run the code locally, use all your favorite tools
Realistic: wire the local code to a remote cluster
Rot Proof: use low level abstractions (network, process, and file system) instead of
forking app level configuration
datawire.io
Your Code
datawire.io
Your Code
datawire.io
Your Code
datawire.io
Your Code
datawire.io
Your Code
datawire.io
Your Code
reverse tunnel (sshd) over
a kubectl port-forward
datawire.io
Your Code
reverse tunnel (sshd) over
a kubectl port-forward
ssh
datawire.io
Your Code
reverse tunnel (sshd) over
a kubectl port-forward
sshfs
ssh
datawire.io
Your Code
reverse tunnel (sshd) over
a kubectl port-forward
sshfs
ssh
datawire.io
Your Code
reverse tunnel (sshd) over
a kubectl port-forward
hijack dns & cluster IP ranges (iptables, pf
via sshuttle) and divert to cluster
sshfs
ssh
datawire.io
Adapters & Extension Cords
datawire.io
Use cases
datawire.io
Use Case 1: Development with your IDE & debugger
● The first popular use case
● Easy to explain
● We’d love more documentation on how you do this!
● Extra popular with the Java developers
○ https://www.telepresence.io/tutorials/intellij
○ https://www.telepresence.io/tutorials/java
datawire.io
Use Case 2: Full Stack Development
● Single Page App -> API Gateway -> Serverside “Presentation” Logic -> …
datawire.io
Use Case 3: Webhooks
● Other Site -> API Gateway -> webhook-handler -> ...
datawire.io
Use Case 4: Automated testing with CI
● Telepresence inside your CI so tests can use remote dependencies
● Insures integration testing on local dev environments & within CI is identical
● Avoids the “lets use mocks as a substitute for integration testing” trap
datawire.io
Use Case 5: Developing/Testing Ambassador
● Ambassador is our API Gateway built on Envoy Proxy
● Integrates deeply with k8s
● Use Telepresence Heavily for Dev & CI
○ Run ambassador on laptop for dev
○ With telepresence, it behaves just like it’s in the cluster
○ Tests run on laptop to generate traffic
● Advantages
○ Fast dev, fast test suite
○ Easy debugging (if there’s a test failure, you can easily access services)
○ Single source of truth between dev & CI
datawire.io
Adapters & Extension Cords are Useful!
datawire.io
Going forward
datawire.io
Telepresence does a bunch of useful things today
● Inbound network
● Execution (env vars, filesystem)
● Outbound network
datawire.io
Decomposition
● The UI / interface is monolithic
● The implementation is monolithic
● We’ve started decomposing some of the implementation so we can build a better
UX
○ Inbound
○ Execution
○ Outbound
datawire.io
Your Code
reverse tunnel (sshd) over
a kubectl port-forward
hijack dns & cluster IP ranges (iptables, pf
via teleproxy) and divert to places
sshfs
ssh
datawire.io
What can we do with decomposition?
● Make telepresence multi-user friendly
○ Avoid the need to provision clusters or namespaces per dev
● Make telepresence require less privileges
● Pipe inbound/outbound to/from different clusters:
○ Shadow or dynamically route requests from prod
○ Send output to staging
● Override remote services piecemeal
○ Send some outbound connections to local docker containers
● Extension points for “developer discovery”
● Union clusters?
○ Run code against arbitrary combination of staging and prod
datawire.io
Adapters & Extension Cords are Brittle :-(
datawire.io
Not easy to Diagnose
datawire.io
Reliability and stability
● Telepresence is very environmentally sensitive
○ Mac OS X has 3 or 4 different DNS implementations!
○ VPNs
○ Linux distros
○ …
● Want to do a better job capturing these different environments for automated
tests
datawire.io
Testing
datawire.io
“Test bench” : A bench with many
devices sitting on it, which
each run the tests.
“Bench test” : When you time the
tests, in order to catch
performance regressions.
testbench:
Run tests in many environments
We learned that a “testcase” is an environment, as much as it is
set-of-actions or a use-case.
testbench is a new tool to run the test suite in many environments
An “environment” is a virtual machine that has been set up a
certain way
datawire.io
testbench: Run tests in many environments
datawire.io
Environments are a
neato text format
Python configparser (INI-ish) format inherited
from mkosi
[Distribution]
Distribution=fedora
[Output]
Bootable=yes
Cache=
/home/testbench/.cache/pip
[Partitions]
RootSize=4G
[Packages]
Packages=
# Base OS
@core
@standard
@development-tools
# For tests/utils.py
git
# Python
python3-setuptools
python3-virtualenv
# For Telepresence
conntrack-tools
docker
fuse
kubernetes-client
sshfs
torsocks
WithNetwork=yes
environments/fedora.mkosi
datawire.io
Environments are a
neato text format
Python configparser (INI-ish) format inherited
from mkosi
In conjunction with .postinst shell script
[Distribution]
Distribution=fedora
[Output]
Bootable=yes
Cache=
/home/testbench/.cache/pip
[Partitions]
RootSize=4G
[Packages]
Packages=
# Base OS
@core
@standard
@development-tools
# For tests/utils.py
git
# Python
python3-setuptools
python3-virtualenv
# For Telepresence
conntrack-tools
docker
fuse
kubernetes-client
sshfs
torsocks
WithNetwork=yes
environments/fedora.mkosi
#!/bin/sh
sudo groupadd docker
gpasswd -a testbench docker
systemctl enable NetworkManager
systemctl enable docker
environments/fedora.postinst
datawire.io
Environments are a
neato text format
Python configparser (INI-ish) format inherited
from mkosi
In conjunction with .postinst shell script
Actually, it’s garbage
[Distribution]
Distribution=fedora
[Output]
Bootable=yes
Cache=
/home/testbench/.cache/pip
[Partitions]
RootSize=4G
[Packages]
Packages=
# Base OS
@core
@standard
@development-tools
# For tests/utils.py
git
# Python
python3-setuptools
python3-virtualenv
# For Telepresence
conntrack-tools
docker
fuse
kubernetes-client
sshfs
torsocks
WithNetwork=yes
environments/fedora.mkosi
#!/bin/sh
sudo groupadd docker
gpasswd -a testbench docker
systemctl enable NetworkManager
systemctl enable docker
environments/fedora.postinst
datawire.io
Environments are a
neato text format
Python configparser (INI-ish) format inherited
from mkosi
In conjunction with .postinst shell script
Actually, it’s garbage
But we don’t yet know what a good format looks
like
We don’t know which things are invariant, and
which things we want control of
Inspirations:
● Like mkosi?
● Like osi-mk?
● Like Dockerfile?
● Like HashiCorp Packer?
● Like Travis CI matrix?
● Some combination of ideas taken from the
above?
datawire.io
Other problems with testbench of today
(AKA “next steps”)
● Can’t run on macOS hosts (sorry, macOS devs)
datawire.io
Other problems with testbench of today
(AKA “next steps”)
● Can’t run on macOS hosts (sorry, macOS devs)
● Can’t run macOS guests (sorry, GNU/Linux devs)
● Can’t specify network configurations
● Can’t specify remote Kubernetes setup
○ Uses Kubernaut, maybe Kubernaut will grow support for
different cluster configs
datawire.io
Community
● CircleCI is totally invisible to people who aren’t part of the
github.com/telepresenceio organization
● CircleCI only runs for pull requests originating from the original repo
○ Some tests run against a GKE cluster--we don’t want that abused
■ Move to Kubernaut
○ Tests involve pushing to a Docker registry--we don’t want the docker.io/datawire repo
abused
■ Set TELEPRESENCE_REGISTRY= when testing locally
datawire.io
Demo
datawire.io
Get Involved!
● Join our community!
○ Short write ups (a couple paragraphs) of how you use Telepresence are incredibly helpful!
○ Looking for more volunteers to lead / organize parts of Telepresence
○ Write code, help test, do UX testing
● Learn more about the project:
○ www.telepresence.io
○ Join the Slack: http://d6e.co/slack
○ Follow us on Twitter (@telepresenceio)
○ Stop by the Datawire booth (S47) to talk with us about how you can get involved!

Contenu connexe

Tendances

DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDocker, Inc.
 
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Thomas Shaw
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Docker, Inc.
 
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker, Inc.
 
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...Docker, Inc.
 
DockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDocker, Inc.
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!Docker, Inc.
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPThomas Graf
 
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Global Operations with Docker for the Enterprise - Nico Kabar, DockerGlobal Operations with Docker for the Enterprise - Nico Kabar, Docker
Global Operations with Docker for the Enterprise - Nico Kabar, DockerDocker, Inc.
 
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...Cohesive Networks
 
Craig Box (Google) - The road to Kubernetes 1.0
Craig Box (Google) - The road to Kubernetes 1.0Craig Box (Google) - The road to Kubernetes 1.0
Craig Box (Google) - The road to Kubernetes 1.0Outlyer
 
Pragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecturePragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecturePiotr Pelczar
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Dockertoffermann
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1Docker, Inc.
 
Let's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a CertificateLet's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a CertificateSteffen Gebert
 
In-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker ContainersIn-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker ContainersNeil Gehani
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJulien Pivotto
 
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun guptaDocker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun guptaDocker, Inc.
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
 

Tendances (20)

DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @Orbitz
 
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016
 
Jenkins & IaC
Jenkins & IaCJenkins & IaC
Jenkins & IaC
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...
 
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker Platform Internals: Taking runtimes and image creation to the next lev...
 
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
 
DockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with Docker
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
 
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Global Operations with Docker for the Enterprise - Nico Kabar, DockerGlobal Operations with Docker for the Enterprise - Nico Kabar, Docker
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
 
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
AppSec USA 2014 talk by Chris Swan "Implications & Opportunities at the Bleed...
 
Craig Box (Google) - The road to Kubernetes 1.0
Craig Box (Google) - The road to Kubernetes 1.0Craig Box (Google) - The road to Kubernetes 1.0
Craig Box (Google) - The road to Kubernetes 1.0
 
Pragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecturePragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecture
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
Let's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a CertificateLet's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a Certificate
 
In-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker ContainersIn-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker Containers
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries Workshop
 
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun guptaDocker for Java Developers - Fabiane Nardon and Arun gupta
Docker for Java Developers - Fabiane Nardon and Arun gupta
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 

Similaire à [KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Shumaker

Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing Ran Levy
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Jérôme Petazzoni
 
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...DynamicInfraDays
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroPaul Boos
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life DevOps.com
 
Corwin on Containers
Corwin on ContainersCorwin on Containers
Corwin on ContainersCorwin Brown
 
Road to sbt 1.0 paved with server
Road to sbt 1.0   paved with serverRoad to sbt 1.0   paved with server
Road to sbt 1.0 paved with serverEugene Yokota
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Ambassador Labs
 
Declarative Infrastructure Tools
Declarative Infrastructure Tools Declarative Infrastructure Tools
Declarative Infrastructure Tools Yulia Shcherbachova
 
Deploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuDeploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuTom Barber
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
Devops interview questions 1 www.bigclasses.com
Devops interview questions  1  www.bigclasses.comDevops interview questions  1  www.bigclasses.com
Devops interview questions 1 www.bigclasses.combigclasses.com
 
DevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkinsDevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkinsBenoit Wilcox
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
 

Similaire à [KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Shumaker (20)

Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
 
Docker 101
Docker 101 Docker 101
Docker 101
 
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
 
Container Days
Container DaysContainer Days
Container Days
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for Distro
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
 
Corwin on Containers
Corwin on ContainersCorwin on Containers
Corwin on Containers
 
Road to sbt 1.0 paved with server
Road to sbt 1.0   paved with serverRoad to sbt 1.0   paved with server
Road to sbt 1.0 paved with server
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
Declarative Infrastructure Tools
Declarative Infrastructure Tools Declarative Infrastructure Tools
Declarative Infrastructure Tools
 
Deploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuDeploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with Juju
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Devops interview questions 1 www.bigclasses.com
Devops interview questions  1  www.bigclasses.comDevops interview questions  1  www.bigclasses.com
Devops interview questions 1 www.bigclasses.com
 
DevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkinsDevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkins
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 

Plus de Ambassador Labs

Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Ambassador Labs
 
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...Ambassador Labs
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toilAmbassador Labs
 
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Ambassador Labs
 
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...Ambassador Labs
 
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex GervaisAmbassador Labs
 
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard LiAmbassador Labs
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? Ambassador Labs
 
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes Ambassador Labs
 
Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy Ambassador Labs
 
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...Ambassador Labs
 
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYCThe Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYCAmbassador Labs
 
Ambassador Kubernetes-Native API Gateway
Ambassador Kubernetes-Native API GatewayAmbassador Kubernetes-Native API Gateway
Ambassador Kubernetes-Native API GatewayAmbassador Labs
 
Micro xchg 2018 - What is a Service Mesh?
Micro xchg 2018 - What is a Service Mesh? Micro xchg 2018 - What is a Service Mesh?
Micro xchg 2018 - What is a Service Mesh? Ambassador Labs
 
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)Ambassador Labs
 
Webinar: Code Faster on Kubernetes
Webinar: Code Faster on KubernetesWebinar: Code Faster on Kubernetes
Webinar: Code Faster on KubernetesAmbassador Labs
 
QCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentQCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentAmbassador Labs
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Ambassador Labs
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...Ambassador Labs
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsAmbassador Labs
 

Plus de Ambassador Labs (20)

Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
 
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
 
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
 
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
 
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0?
 
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
 
Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy
 
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
 
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYCThe Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
 
Ambassador Kubernetes-Native API Gateway
Ambassador Kubernetes-Native API GatewayAmbassador Kubernetes-Native API Gateway
Ambassador Kubernetes-Native API Gateway
 
Micro xchg 2018 - What is a Service Mesh?
Micro xchg 2018 - What is a Service Mesh? Micro xchg 2018 - What is a Service Mesh?
Micro xchg 2018 - What is a Service Mesh?
 
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
 
Webinar: Code Faster on Kubernetes
Webinar: Code Faster on KubernetesWebinar: Code Faster on Kubernetes
Webinar: Code Faster on Kubernetes
 
QCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentQCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented Development
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 

Dernier

The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 

Dernier (20)

The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 

[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Shumaker

  • 1. Telepresence Deep Dive Rafael Schloming & Luke Shumaker
  • 2. datawire.io Project Goals How it works Use Cases: Real & Imagined (aka Roadmap) Future Demo?
  • 4. datawire.io Fast high quality feedback for developers!
  • 8. datawire.io Telepresence Goal Fast and Realistic Feedback without spending half your time fixing Build System Rot
  • 10. datawire.io Strategy Fast: run the code locally, use all your favorite tools Realistic: wire the local code to a remote cluster Rot Proof: use low level abstractions (network, process, and file system) instead of forking app level configuration
  • 16. datawire.io Your Code reverse tunnel (sshd) over a kubectl port-forward
  • 17. datawire.io Your Code reverse tunnel (sshd) over a kubectl port-forward ssh
  • 18. datawire.io Your Code reverse tunnel (sshd) over a kubectl port-forward sshfs ssh
  • 19. datawire.io Your Code reverse tunnel (sshd) over a kubectl port-forward sshfs ssh
  • 20. datawire.io Your Code reverse tunnel (sshd) over a kubectl port-forward hijack dns & cluster IP ranges (iptables, pf via sshuttle) and divert to cluster sshfs ssh
  • 23. datawire.io Use Case 1: Development with your IDE & debugger ● The first popular use case ● Easy to explain ● We’d love more documentation on how you do this! ● Extra popular with the Java developers ○ https://www.telepresence.io/tutorials/intellij ○ https://www.telepresence.io/tutorials/java
  • 24. datawire.io Use Case 2: Full Stack Development ● Single Page App -> API Gateway -> Serverside “Presentation” Logic -> …
  • 25. datawire.io Use Case 3: Webhooks ● Other Site -> API Gateway -> webhook-handler -> ...
  • 26. datawire.io Use Case 4: Automated testing with CI ● Telepresence inside your CI so tests can use remote dependencies ● Insures integration testing on local dev environments & within CI is identical ● Avoids the “lets use mocks as a substitute for integration testing” trap
  • 27. datawire.io Use Case 5: Developing/Testing Ambassador ● Ambassador is our API Gateway built on Envoy Proxy ● Integrates deeply with k8s ● Use Telepresence Heavily for Dev & CI ○ Run ambassador on laptop for dev ○ With telepresence, it behaves just like it’s in the cluster ○ Tests run on laptop to generate traffic ● Advantages ○ Fast dev, fast test suite ○ Easy debugging (if there’s a test failure, you can easily access services) ○ Single source of truth between dev & CI
  • 28. datawire.io Adapters & Extension Cords are Useful!
  • 30. datawire.io Telepresence does a bunch of useful things today ● Inbound network ● Execution (env vars, filesystem) ● Outbound network
  • 31. datawire.io Decomposition ● The UI / interface is monolithic ● The implementation is monolithic ● We’ve started decomposing some of the implementation so we can build a better UX ○ Inbound ○ Execution ○ Outbound
  • 32. datawire.io Your Code reverse tunnel (sshd) over a kubectl port-forward hijack dns & cluster IP ranges (iptables, pf via teleproxy) and divert to places sshfs ssh
  • 33. datawire.io What can we do with decomposition? ● Make telepresence multi-user friendly ○ Avoid the need to provision clusters or namespaces per dev ● Make telepresence require less privileges ● Pipe inbound/outbound to/from different clusters: ○ Shadow or dynamically route requests from prod ○ Send output to staging ● Override remote services piecemeal ○ Send some outbound connections to local docker containers ● Extension points for “developer discovery” ● Union clusters? ○ Run code against arbitrary combination of staging and prod
  • 34. datawire.io Adapters & Extension Cords are Brittle :-(
  • 36. datawire.io Reliability and stability ● Telepresence is very environmentally sensitive ○ Mac OS X has 3 or 4 different DNS implementations! ○ VPNs ○ Linux distros ○ … ● Want to do a better job capturing these different environments for automated tests
  • 38. datawire.io “Test bench” : A bench with many devices sitting on it, which each run the tests. “Bench test” : When you time the tests, in order to catch performance regressions. testbench: Run tests in many environments We learned that a “testcase” is an environment, as much as it is set-of-actions or a use-case. testbench is a new tool to run the test suite in many environments An “environment” is a virtual machine that has been set up a certain way
  • 39. datawire.io testbench: Run tests in many environments
  • 40. datawire.io Environments are a neato text format Python configparser (INI-ish) format inherited from mkosi [Distribution] Distribution=fedora [Output] Bootable=yes Cache= /home/testbench/.cache/pip [Partitions] RootSize=4G [Packages] Packages= # Base OS @core @standard @development-tools # For tests/utils.py git # Python python3-setuptools python3-virtualenv # For Telepresence conntrack-tools docker fuse kubernetes-client sshfs torsocks WithNetwork=yes environments/fedora.mkosi
  • 41. datawire.io Environments are a neato text format Python configparser (INI-ish) format inherited from mkosi In conjunction with .postinst shell script [Distribution] Distribution=fedora [Output] Bootable=yes Cache= /home/testbench/.cache/pip [Partitions] RootSize=4G [Packages] Packages= # Base OS @core @standard @development-tools # For tests/utils.py git # Python python3-setuptools python3-virtualenv # For Telepresence conntrack-tools docker fuse kubernetes-client sshfs torsocks WithNetwork=yes environments/fedora.mkosi #!/bin/sh sudo groupadd docker gpasswd -a testbench docker systemctl enable NetworkManager systemctl enable docker environments/fedora.postinst
  • 42. datawire.io Environments are a neato text format Python configparser (INI-ish) format inherited from mkosi In conjunction with .postinst shell script Actually, it’s garbage [Distribution] Distribution=fedora [Output] Bootable=yes Cache= /home/testbench/.cache/pip [Partitions] RootSize=4G [Packages] Packages= # Base OS @core @standard @development-tools # For tests/utils.py git # Python python3-setuptools python3-virtualenv # For Telepresence conntrack-tools docker fuse kubernetes-client sshfs torsocks WithNetwork=yes environments/fedora.mkosi #!/bin/sh sudo groupadd docker gpasswd -a testbench docker systemctl enable NetworkManager systemctl enable docker environments/fedora.postinst
  • 43. datawire.io Environments are a neato text format Python configparser (INI-ish) format inherited from mkosi In conjunction with .postinst shell script Actually, it’s garbage But we don’t yet know what a good format looks like We don’t know which things are invariant, and which things we want control of Inspirations: ● Like mkosi? ● Like osi-mk? ● Like Dockerfile? ● Like HashiCorp Packer? ● Like Travis CI matrix? ● Some combination of ideas taken from the above?
  • 44. datawire.io Other problems with testbench of today (AKA “next steps”) ● Can’t run on macOS hosts (sorry, macOS devs)
  • 45. datawire.io Other problems with testbench of today (AKA “next steps”) ● Can’t run on macOS hosts (sorry, macOS devs) ● Can’t run macOS guests (sorry, GNU/Linux devs) ● Can’t specify network configurations ● Can’t specify remote Kubernetes setup ○ Uses Kubernaut, maybe Kubernaut will grow support for different cluster configs
  • 46. datawire.io Community ● CircleCI is totally invisible to people who aren’t part of the github.com/telepresenceio organization ● CircleCI only runs for pull requests originating from the original repo ○ Some tests run against a GKE cluster--we don’t want that abused ■ Move to Kubernaut ○ Tests involve pushing to a Docker registry--we don’t want the docker.io/datawire repo abused ■ Set TELEPRESENCE_REGISTRY= when testing locally
  • 48. datawire.io Get Involved! ● Join our community! ○ Short write ups (a couple paragraphs) of how you use Telepresence are incredibly helpful! ○ Looking for more volunteers to lead / organize parts of Telepresence ○ Write code, help test, do UX testing ● Learn more about the project: ○ www.telepresence.io ○ Join the Slack: http://d6e.co/slack ○ Follow us on Twitter (@telepresenceio) ○ Stop by the Datawire booth (S47) to talk with us about how you can get involved!