{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2024.3.1"}, "schedule": {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/schedule/", "version": "0.4", "base_url": "https://cfp.cloud-native.rejekts.io", "conference": {"acronym": "cloud-native-rejekts-eu-2019", "title": "Cloud Native Rejekts", "start": "2019-05-18", "end": "2019-05-19", "daysCount": 2, "timeslot_duration": "00:05", "time_zone_name": "UTC", "colors": {"primary": "#FF0000"}, "rooms": [{"name": "Main Hall", "guid": "30461ec4-7af9-54d7-af3f-5582ac0b2359", "description": "This is the main room for talks, lightening talks and keynotes", "capacity": 300}, {"name": "Sidebar", "guid": "72cb61ea-5031-5a12-9a20-463e9174d69e", "description": null, "capacity": 65}], "tracks": [{"name": "Cloud Native", "color": "#F90000"}, {"name": "Break", "color": "#222222"}], "days": [{"index": 1, "date": "2019-05-18", "day_start": "2019-05-18T04:00:00+00:00", "day_end": "2019-05-19T03:59:00+00:00", "rooms": {"Main Hall": [{"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/DTLE89/", "id": 51, "guid": "2a8586f6-417f-5317-81b9-2b155670b1f3", "date": "2019-05-18T09:00:00+00:00", "start": "09:00", "logo": null, "duration": "00:45", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-51-day-1-registration-reception", "title": "Day 1 - Registration + Reception", "subtitle": "", "track": "Break", "type": "Opening", "language": "en", "abstract": "Doors and registration desk open to receive attendees.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "7af9516b-bf7a-5068-8263-ef85295e044f", "id": 53, "code": "TASRBN", "public_name": "TBA", "avatar": null, "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/CPJPCG/", "id": 49, "guid": "b129b01c-dc1d-5183-879a-bd9e24e8bb9d", "date": "2019-05-18T09:45:00+00:00", "start": "09:45", "logo": null, "duration": "00:10", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-49-cloud-native-rejekts-opening", "title": "Cloud Native Rejekts Opening", "subtitle": "", "track": "Cloud Native", "type": "Opening", "language": "en", "abstract": "We look to welcome and provide information to all attendees.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "4967f7d9-f800-5a78-a9e8-d2f363599a20", "id": 2, "code": "FBJ7DG", "public_name": "Chris Kuehl", "avatar": null, "biography": "Chris is a founder and CEO of Kinvolk. He's also helped found Cloud Native Rejekts and [All Systems Go!](https://all-systems-go.io/). He's been involved in open source communities for almost 18 years, getting his start in the GNOME project.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/VBYM33/", "id": 25, "guid": "ff4c09a5-0db7-53c9-927d-ce1ee092fda5", "date": "2019-05-18T10:00:00+00:00", "start": "10:00", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-25-using-bpf-to-debug-your-kubernetes-application", "title": "Using BPF to debug your Kubernetes application", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "I will demo how to use different BPF tools in the Kubernetes developer workflow. Then, I will explain how it works and what support it requires from the Kubernetes installation.", "description": "BPF tools for tracing your Linux system is an area with a lot of developments. This has happened in the bcc project and in bpftrace project. Until recently, bcc and bpftrace were designed to trace one Linux system. This is changing with kubectl-trace, a tool adapting bpftrace for the Kubernetes workflow.\r\n\r\nI\u2019ll present how to use kubectl-trace to trace a Kubernetes pod. I will also present new tools based on bcc to trace syscalls or files opened by a specific pod. Finally, I will explain how it works and what support it requires from the Kubernetes installation.\r\n\r\nSlides: https://tinyurl.com/rejekts-bpf-kubernetes", "recording_license": "", "do_not_record": false, "persons": [{"guid": "9da02c52-3fed-543e-8210-182d8174775b", "id": 12, "code": "VQDK33", "public_name": "Alban Crequy", "avatar": "https://cfp.cloud-native.rejekts.io/media/alban-avatar.jpg", "biography": "Originally from France, Alban currently lives in Berlin where he is a CTO & co-founder at Kinvolk. He is a contributor to rkt, a container runtime for Linux, Weave Scope, a container visualization & monitoring tool, and is actively working on BPF-related projects. Before falling into containers, Alban worked on various projects core to modern Linux; kernel IPC and storage, dbus performance and security, etc. His current technical interests revolve around networking, security, systemd and containers at the lower-levels of the system. Alban previously gave talks at several conferences including FOSDEM, Linux Plumbers, IO Visor Summit, Kubecons and LinuxCons.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/MKZDRL/", "id": 48, "guid": "c7b078b3-51c5-5079-93b7-edcf301aa635", "date": "2019-05-18T10:40:00+00:00", "start": "10:40", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-48-building-flexible-policy-with-opa-and-kubernetes", "title": "Building flexible policy with OPA and Kubernetes", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Have you ever been asked the question - \u201cHow do we make sure Kubernetes resources conform to our internal policies and procedures?\u201d. In this session we introduce, how you can audit, validate and mutate Kubernetes resources based custom semantic rules during create, update, and delete operations without recompiling or reconfiguring the Kubernetes API server using Gatekeeper - a policy controller for Kubernetes.", "description": "Every organization has rules, whether it be that each resource needs to be labelled a specific way or to only use images from specific container repositories. Some of these rules or policies are essential to meet governance or legal requirements and may be based on learning from past experiences. In this session we introduce, how you can audit, validate and mutate Kubernetes resources based custom semantic rules during create, update, and delete operations without recompiling or reconfiguring the Kubernetes API server. These policies are all backed by the Open Policy Agent (OPA), which is a lightweight, general-purpose policy engine for cloud-native environments. We will also demonstrate the work that is being done in the upstream community and provide working samples to start your journey building scalable policy on Kubernetes.\r\n\r\nOpen Source Repository - https://github.com/open-policy-agent/gatekeeper", "recording_license": "", "do_not_record": false, "persons": [{"guid": "73345965-5616-5ff2-99af-a69ee3b18685", "id": 21, "code": "7RYDG3", "public_name": "Rita Zhang", "avatar": "https://cfp.cloud-native.rejekts.io/media/ritazhang.jpg", "biography": "Rita Zhang is a software engineer at Microsoft, based in San Francisco bay area. She is on the Azure Cloud Native Compute team building features for Kubernetes upstream and for Azure Kubernetes Service. Rita is passionate about open source and running distributed workloads at scale.", "answers": []}, {"guid": "024d6146-1a26-5640-b30f-5ff8674b63fc", "id": 48, "code": "DVV3HE", "public_name": "Max Smythe", "avatar": null, "biography": "Max Smythe is a Software Engineer at Google working to make Kubernetes easier to manage at scale. He is excited about the potential Gatekeeper has to streamline compliance and make life easier on cluster admins. Previously he worked at a startup as a backend developer and in the VFX industry on films such as The Smurfs. He graduated from UC Irvine with a B.S. in Physics and a B.A. in Drama.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/XT9PEB/", "id": 39, "guid": "aceb88af-366f-52b0-b7dd-2c479393ee10", "date": "2019-05-18T11:35:00+00:00", "start": "11:35", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-39-evaluating-firecracker-as-a-container-runtime-engine", "title": "Evaluating Firecracker as a container runtime engine", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "I will explain the overview of the architecture around Firecracker and container runtimes. Then I will show demos for a proof-of-concept implementation.", "description": "Firecracker, an open-source project published by Amazon, opens up a lot of interesting perspective to the container ecosystem. It opens up use cases between containers and VMs, making use of KVM without relying on heavyweight Qemu instances. Its integration with the Kubernetes ecosystem has only started its first step with containerd. Obviously it\u2019s a good starting point. However, it's also time to think about how we should get the new shape of containers integrated with all other high-level container runtimes.\r\n \r\nIn this talk, I would like to talk about alternative ways of integration for getting Firecracker integrated with multiple container runtimes. A proof-of-concept implementation will be also presented during the talk.\r\n \r\nFrom the side of Firecracker, its integration with the Kubernetes ecosystem has only started its first steps, only with containerd & Kata containers. For the diversity of Kubernetes ecosystem, however, we should also think about how we should get Firecracker integrated with all other high-level container runtimes in the cloud-native ecosystem.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "b6ce0b49-2034-5460-8182-7dd29b191dc6", "id": 41, "code": "XU9RNT", "public_name": "Dongsu Park", "avatar": null, "biography": "Software Engineer at [Kinvolk](https://kinvolk.io)\r\nActive mainly on open source projects like [kube-spawn](https://github.com/kinvolk/kube-spawn) or [Flatcar Linux](https://flatcar-linux.org).\r\nGithub: https://github.com/dongsupark", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/GRK7DW/", "id": 13, "guid": "9cf60c74-ef2b-5316-94ce-fb7ac340fb88", "date": "2019-05-18T12:15:00+00:00", "start": "12:15", "logo": "https://cfp.cloud-native.rejekts.io/media/cloud-native-rejekts-eu-2019/images/GRK7DW/Screenshot_2019-05-18_at_03.03.26.png", "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-13-prometheus-as-exposition-format-for-ebpf-programs", "title": "Prometheus as exposition format for eBPF programs", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Because the kernel knows more than your programs.", "description": "Nowadays every application exposes their metrics via an HTTP endpoint readable by using Prometheus. Recently the exposition format got included into the OpenMetrics standard of the CNCF. Nevertheless, this very common pattern by definition only expose metrics regarding the specific applications being observed.\r\n\r\nThis talk wants to expose the idea, and a reference implementation, of a slightly different use case that uses **eBPF** programs as a source of information to allow the exposition and collection of kernel and application probes via a **Prometheus** endpoint.\r\n\r\nAfter having showed the architecture of the proposed reference implementation - a Kubernetes operator with a custom resource for BPF programs - we'll demo the entire solution to grab and present some metrics without having touched any application running on the demo cluster.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "1c8268fc-9b27-545d-8efc-6145df880b20", "id": 11, "code": "RBR93Z", "public_name": "Leonardo Di Donato", "avatar": "https://cfp.cloud-native.rejekts.io/media/leodido__levis.jpg", "biography": "Leonardo is an Open Source Software Engineer at Sysdig where he mainly takes care of Falco, a CNCF project. His interests range from theoretical aspects of computer science to machine learning to distributed systems. He is also involved in the Linux Foundation's eBPF project (IO Visor) as a maintainer of kubectl-trace project.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/BTN3CX/", "id": 53, "guid": "a384bbec-001f-549f-9cd8-68c1cf812af7", "date": "2019-05-18T12:50:00+00:00", "start": "12:50", "logo": null, "duration": "01:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-53-lunch", "title": "Lunch", "subtitle": "", "track": "Break", "type": "Break", "language": "en", "abstract": "Lunch time!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "7af9516b-bf7a-5068-8263-ef85295e044f", "id": 53, "code": "TASRBN", "public_name": "TBA", "avatar": null, "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/LH3PPX/", "id": 15, "guid": "89f31994-2bdc-58e7-ad62-6924737c7040", "date": "2019-05-18T14:20:00+00:00", "start": "14:20", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-15-highly-effective-kubernetes-deployments-with-gitops", "title": "Highly Effective Kubernetes Deployments with GitOps", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "I will describe a GitOps based deployment workflow that makes your Kubernetes deployments secure, auditable, and simpler and the process the process and tools you need to put it in place on any cloud.", "description": "Over the last year, I\u2019ve had the privilege of working with a number of development teams as they modernize workloads, make them cloud native, and move them to Kubernetes.  In this talk, I\u2019ll talk about how many are converging on a GitOps workflow to make their Kubernetes deployments secure, auditable, and simpler and describe the end to end process and tooling you can use to achieve this. This is a practical cloud neutral talk and you\u2019ll walk away with tools and techniques you can apply to your own Kubernetes deployments.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "d2080e02-4614-5a82-a3da-a39c3a773243", "id": 4, "code": "NCHM9U", "public_name": "Edaena Salinas", "avatar": "https://cfp.cloud-native.rejekts.io/media/Edaena_Salinas.jpg", "biography": "Edaena Salinas is a software engineer at Microsoft, where she has worked on web applications on front- and back-end development since 2014. Her research interests include software engineering, web development, artificial intelligence, testing, and DevOps.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/VNXFFH/", "id": 34, "guid": "b3867ba4-c8b9-53ec-8271-da8f3a21737c", "date": "2019-05-18T15:00:00+00:00", "start": "15:00", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-34-building-a-ci-pipeline-for-kubernetes-distributions-on-the-cheap", "title": "Building a CI pipeline for Kubernetes distributions on the cheap", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Setting up a CI pipeline for Kubernetes distribution environment can be a daunting - and possibly costly - task, especially when you need to run tests for every change in a distribution focused on high-availability. \r\n\r\nIn this talk, I will explain how we built a CI system at Kinvolk based on Concourse CI, where we spin up multiple, parallel multi-node Kubernetes clusters in isolation on a single bare metal machine, in order to automatically run tests for bare-metal Kubernetes deployments. I will discuss the architectural and design choices, the tools that were used, the challenges we faced, and how we addressed them.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "f7d6c265-ac5a-5e3a-82d8-a5ba20716dc1", "id": 22, "code": "MBHBEC", "public_name": "Kosy Anyanwu", "avatar": "https://cfp.cloud-native.rejekts.io/media/me.jpg", "biography": "Kosisochukwu is a Software Engineer working on cloud infrastructure projects at Kinvolk. She spends much of her time exploring and tinkering with stuff just out of curiosity to learn. She usually works with Go and Python and likes to automate things. Previously, she worked as a Web developer fixing bugs and building out features and as a DevOps Engineer, supporting and automating infrastructure. \r\nWhen she is not working, you can find her listening to music and doing karaoke, bowling, playing table tennis or volleyball, hanging out and exploring with friends.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/HVZJJ7/", "id": 24, "guid": "4114e902-b8ad-5851-ba72-680ef8980e4c", "date": "2019-05-18T15:40:00+00:00", "start": "15:40", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-24-observing-enterprise-kubernetes-clusters-at-scale", "title": "Observing Enterprise Kubernetes Clusters At Scale", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Observing Kubernetes clusters at scale can be challenging. While most companies operate a small number of Kubernetes clusters, Giant Swarm is responsible for hundreds. This scale makes maintaining a responsible level of observability harder.\r\n\r\nWe aim to present our observability journey, particularly with Prometheus.\r\n\r\nThis will cover our architectural choices in the past, such as building tooling for managing Prometheus for on-demand Kubernetes clusters, our current usage and drawbacks we\u2019d like to address, and our plans for the future, such as horizontal scaling and Cortex.\r\n\r\nWe will also cover our continuous improvement process using post mortems and continuous delivery, which allows us to evolve our metrics, new exporters, and alerting as we discover blind spots.\r\n\r\nThis talk presents our learnings of handling observability at scale, with in-depth examples from our infrastructure.", "description": "Giant Swarm operates Kubernetes clusters for enterprise, offering a control plane for Kubernetes as a product, and 24/7 support for any managed Kubernetes clusters. As part of this offering, a high degree of observability and monitoring is necessary to respond to and debug operational issues.\r\n\r\nIn this talk, we will present the learnings from our observability journey to the community, with a focus on how we\u2019ve progressed with Prometheus. This will detail our path to our current usage of Prometheus, our current architecture and drawbacks, and our plans for the future.\r\n\r\nAs part of this discussion, we\u2019ll cover our architectural choices for monitoring our Kubernetes management platform, before moving onto our current setup and areas we\u2019d like to improve. Towards how we\u2019d like to improve, we\u2019ll go into our plans to horizontally scale our Prometheus setup, as well as integrate with Cortex.\r\n\r\nWe will also dive into our use of post mortems and continuous delivery to provide continuous improvement. This will touch on some related aspects, such as how our alerting has evolved over time, and how we have implemented new Prometheus exporters to improve the observability of Kubernetes, such as through exposing network and DNS metrics.\r\n\r\nOur main aim with this talk is to present how we\u2019re managing observability in a holistic sense. We also believe that the community would be enriched by our learnings, as they can see which decisions we made have had positive outcomes (and which ones haven\u2019t!).", "recording_license": "", "do_not_record": false, "persons": [{"guid": "9174bbea-e208-5cda-9327-d6875e2eca47", "id": 27, "code": "9QEYKY", "public_name": "Joe Salisbury", "avatar": "https://cfp.cloud-native.rejekts.io/media/headshot.jpg", "biography": "Joe works at Giant Swarm, where he is responsible for helping the team build tools to help the developers that build the tools to help developers.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/VNVWCU/", "id": 45, "guid": "86872a02-80c2-5594-af23-283eaf7554de", "date": "2019-05-18T16:35:00+00:00", "start": "16:35", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-45-artifact-registries-extending-oci-image-and-distribution", "title": "Artifact Registries; Extending OCI Image and Distribution", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Container Registries store the images we build, secure, sign, geo-replicate and deploy. They support production workloads we configure authentication for each service and user that must access them.  \r\nJoins as we share the work to extend OCI distribution and image specs to support new artifact types such as Helm and CNAB. We'll demonstrate how you can author and store new artifacts, leveraging the investments of OCI compliant registries enabling you to focus on the apps and artifacts, without having to manage the infrastructure.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "ab0cf144-78d1-5e76-b131-fd161c766c0e", "id": 46, "code": "J8XUAJ", "public_name": "Steve Lasker", "avatar": "https://cfp.cloud-native.rejekts.io/media/LaskerHeadshot2.jpg", "biography": "Steve is a Program Manager for the [Azure Container Registry](https://aka.ms/acr), focusing on Container Lifecycle Management. Prior to joining Microsoft, Steve worked in consulting and broadcast engineering where he learned the life of living on the road, building sustainable systems that can be quickly troubleshot and repaired as fans don't like waiting for more than a commercial to get back to the Super bowl.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/C7HJP8/", "id": 20, "guid": "42f7da5e-0b3e-5423-af7c-f4b3b888b45c", "date": "2019-05-18T17:15:00+00:00", "start": "17:15", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-20-deep-dive-deploying-kubernetes-on-bare-metal-using-the-cluster-api", "title": "Deep Dive: Deploying Kubernetes on Bare Metal Using the Cluster API", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Relative to cloud infrastructure, bare metal environments are more varied and do not expose a unified API. The Cluster API unifies infrastructure management with Kubernetes-native resources, but our previous attempts to use it in bare metal environments show that actuators alone have significant limitations. Kubernetes webhooks offer an alternative that separates the provisioning of Infrastructure from the deployment of Kubernetes, while keeping the declarative model and common tooling provided by the Cluster API.", "description": "Today, the Cluster API project has provider implementations for a variety of cloud environments. Users are interested in using the Cluster API to operate clusters in heterogeneous bare metal environments. While machine provisioning varies widely across these environments, software provisioning remains largely the same. Because of this commonality, the cost of maintaining a separate provider for each environment outweighs the benefits.\r\n\r\nAttendees will learn how a single Cluster API provider can be used to operate clusters across different bare metal environments. We will show how to implement a webhook to provision machines in a bare metal environment, and how to integrate it with the Cluster API provider. We will also explain in depth the challenges of deploying Kubernetes in a uniform way across different environments using existing tooling (e.g. kubeadm).", "recording_license": "", "do_not_record": false, "persons": [{"guid": "c6ffb3b7-e1e7-5daa-a1a6-837c2f998224", "id": 20, "code": "QYGGGQ", "public_name": "David Watson & Jason DeTiberus", "avatar": null, "biography": "Jason has been working on Kubernetes lifecycle management tooling for the past four years. His work currently includes helping to commoditize the lifecycle management of upstream Kubernetes through sig-cluster-lifecycle sponsored projects at VMware. Before becoming more directly involved in the upstream Kubernetes community he bootstrapped the initial Ansible-based OpenShift v3 lifecycle management tooling.\r\n\r\nDavid has been a part of the Kubernetes community for over three years, focusing on scalability, reliability, and automation. At Samsung he works on enabling hybrid cloud environments and managed control planes. Previously he developed hardware monitoring and reliability services for AWS, and distributed filesystems for IBM.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/88DYSP/", "id": 30, "guid": "d79d3830-4603-5436-998a-8634efbd3b3b", "date": "2019-05-18T17:55:00+00:00", "start": "17:55", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-30-lessons-learned-while-scaling-kubernetes-to-5k-nodes", "title": "Lessons learned while scaling Kubernetes to 5k nodes", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "In this talk, we will explore our journey scaling from a couple of hundred nodes to several thousand Kubernetes nodes. Tales will be told on how to scale etcd itself and what a health check every 30 seconds does to the apiserver when running at several thousand nodes.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "fb110b00-cdcc-5205-80a3-5ce6b4004891", "id": 33, "code": "MEXK7F", "public_name": "Thomas Graf", "avatar": "https://cfp.cloud-native.rejekts.io/media/portrait.jpg", "biography": "Thomas Graf is Co-Founder & CTO at Isovalent and creator of the Cilium project. Before this, Thomas has been a Linux kernel developer at Red Hat for many years.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}, {"index": 2, "date": "2019-05-19", "day_start": "2019-05-19T04:00:00+00:00", "day_end": "2019-05-20T03:59:00+00:00", "rooms": {"Main Hall": [{"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/VTTMJ9/", "id": 52, "guid": "20433c15-4ebd-5ac6-9a77-0bde2a82e53e", "date": "2019-05-19T09:00:00+00:00", "start": "09:00", "logo": null, "duration": "01:00", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-52-day-2-registration-and-reception", "title": "Day 2 - Registration and Reception", "subtitle": "", "track": "Break", "type": "Opening", "language": "en", "abstract": "Doors and registration desk open to receive attendees.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "7af9516b-bf7a-5068-8263-ef85295e044f", "id": 53, "code": "TASRBN", "public_name": "TBA", "avatar": null, "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/QGAV7J/", "id": 6, "guid": "aed51c66-fe8f-5d95-a049-0acd07ea3608", "date": "2019-05-19T10:00:00+00:00", "start": "10:00", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-6-getting-developers-to-adopt-your-service", "title": "Getting Developers to Adopt Your Service", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Why should I use it?! Introducing new solutions, new technologies or new processes can meet resistance among your developers. Especially when it is a hyped technology such as Kubernetes. \r\n\r\nListen to what Jessica and her team learned while building Kubernetes as a Service for developers at Meltwater. How human challenges become technical choices, and how communication and education can achieve high adoption rate.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "acf139e2-6877-569b-8124-5af476fb2b9b", "id": 8, "code": "DK8AE8", "public_name": "Jessica Andersson", "avatar": "https://cfp.cloud-native.rejekts.io/media/jessica.andersson.512x512.png", "biography": "Jessica is an infrastructure engineer with a great interest in large scale systems. She is passionate about the technology as well as the processes around software development. She has been with Meltwater for three years and the last year has been spent running and providing Kubernetes as a Service for 40+ teams within the organisation. Jessica is also very engaged in the local Meetup community, as an attendee, speaker and organiser.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/NUPMTF/", "id": 38, "guid": "12fea7bb-f3ad-503f-8090-f92874c8167f", "date": "2019-05-19T10:40:00+00:00", "start": "10:40", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-38-the-app-developer-s-kubernetes-toolbox", "title": "The App Developer's Kubernetes Toolbox", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "If you're developing applications on top of Kubernetes, you may be feeling overwhelmed with the vast number of developer tooling in the ecosystem at your disposal. Kubernetes is moving at a rapid pace, and it's becoming impossible to keep up with the latest and greatest development environments, debuggers, and build, test and deployment tools.\r\n\r\nIn this talk, we'll share from our experience building applications on top of Kubernetes at Bitnami. We'll take a look at the landscape and answer questions like \"should my team be using minikube or a shared Kubernetes environment?\", \"what's the difference between Skaffold, Draft and Telepresence?\" and \"should I be building an operator or a Helm chart?\". We'll try to discern which tools best fit a scenario or workflow by looking at real-world examples of Kubernetes applications.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "a77eb012-ae3f-5d36-a8f0-a3458bf38c9b", "id": 40, "code": "UAQZB9", "public_name": "Adnan Abdulhussein", "avatar": "https://cfp.cloud-native.rejekts.io/media/2015-09-23_05.22.54.jpg", "biography": "Adnan Abdulhussein is a Software Engineer at Bitnami, where he works on building tools to make apps easier to run on Kubernetes. He contributes to the Kubernetes community as a co-chair of SIG-Apps and a core maintainer of the Helm project. Adnan is passionate about cloud-native infrastructure, developer tools & experience, open source and the possibility of time travel. He holds a BSc in Computer Science from the University of Bristol.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/KMUEGQ/", "id": 3, "guid": "0fcffaa6-0c74-5be2-8e42-880a60d46456", "date": "2019-05-19T11:35:00+00:00", "start": "11:35", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-3-knowing-what-your-kubernetes-cluster-is-doing", "title": "Knowing what your Kubernetes cluster is doing", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "While running Kubernetes in production, how do you know what the cluster is doing? In this talk Federico will show you how he and his team are using kube-state-metrics in combination with other exporters and logs to get insights into the multi-tenant Kubernetes cluster they run for 40+ development teams at Meltwater. He will focus on metrics for the higher level Kubernetes objects as well as the cloud environment they run the cluster in.", "description": "This talk builds on and extends two other talks from previous KubeCon events:\r\n\r\n  - Reveal Your Deepest Kubernetes Metrics (KubeCon 2018 Europe)\r\n  - Monitor The World Meaningful Metrics for Kubernetes Applications and Clusters (KubeCon 2018 NA)\r\n\r\nIt will start where the other talks end and show real world examples of using metrics from kube-state-metrics for the higher abstraction level Kubernetes objects in combination with other exporters such as aws-limits and log files to get insights into the Kubernetes cluster we are running internally for other development teams at Meltwater. By running Kubernetes in production for over a year we have learnt (sometimes the hard way) to focus on the overall state of the cluster without loosing the possibility to dig into specific details as well as knowing about the state of the cloud environment the cluster runs in. The hard way gave us learnings on which metrics we were lacking and which ones were not needed.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "895fcaca-1ed0-5dc2-b70d-9412408893b3", "id": 5, "code": "T3Q7FB", "public_name": "Federico Hernandez", "avatar": null, "biography": "Federico has both worked as a developer and infrastructure engineer - writing, building and running large scale systems. He has spent the last year developing and providing Kubernetes as a Service for 40+ teams internally within Meltwater. Federico is also an avid OSS enthusiast and has been a maintainer for a smaller OSS cli tool for a decade.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/7YSFAF/", "id": 36, "guid": "f300d756-34bb-56ee-b7df-aeda6bffd2db", "date": "2019-05-19T12:15:00+00:00", "start": "12:15", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-36-hardware-vulnerabilities-in-cloud-native-environments", "title": "Hardware vulnerabilities in cloud-native environments", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "In late 2017 and throughout 2018 we witnessed the advent of a new class of CPU-level information disclosure vulnerabilities, commonly known as \u201cSpectre\u201d, \u201cMeltdown\u201d, and (later in 2018) \u201cLevel 1 Terminal Fault\u201d (l1tf in short, also known as \u201cForeshadow\u201d). \r\n\r\nThis talk will give a brief introduction of related CPU design concepts and their concrete exploitation by the above-mentioned vulnerabilities, and discuss available mitigations.\r\n\r\nAfter we\u2019ve established (or refreshed) our knowledge of the problem field, the main part of the talk will focus on keeping your Kubernetes clusters secured from those vulnerabilities: we will take a full-stack approach and look at common OS  and container abstraction layers in cloud-native scenarios individually - bare metal kernel space, user space, (optional) virtualization, and container runtime  - to discuss weaknesses and mitigations at each of the layers.", "description": "The talk aims to raise awareness as well as spread in-depth understanding of the impact CPU information disclosure flaws have on Kubernetes and its workloads.\r\n\r\nOur motivation is to educate our audience to empower folks to be able able to judge by themselves whether their workloads are secure, and to provide options and mitigations should workloads be at risk. Knowledge from this session will help the community to better understand this new vulnerability class, and to maintain security in Kubernetes deployments.\r\n\r\nThe talk will roughly follow the path of our blog post on the impact of hardware security vulnerabilities in cloud-native environments: https://kinvolk.io/blog/2019/03/hardware-vulnerabilities-in-cloud-native-environments/ .", "recording_license": "", "do_not_record": false, "persons": [{"guid": "8fc37fa6-6f5e-581b-b218-673bff634946", "id": 38, "code": "REYW9K", "public_name": "Thilo Fromm", "avatar": "https://cfp.cloud-native.rejekts.io/media/avatar.png", "biography": "Thilo started his FOSS life as a Linux kernel developer / systems architect more than 15 years ago. After an initial focus on embedded systems he worked for multiple cloud providers specialising in virtualization, both as an engineer and in technical management. In early 2019 Thilo joined Kinvolk, adding lower level OS knowledge to aid our mission of keeping Kubernetes safe and secure.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/PTN7FW/", "id": 54, "guid": "45323dab-c29b-5679-85d0-a30e9f9aa23d", "date": "2019-05-19T12:50:00+00:00", "start": "12:50", "logo": null, "duration": "01:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-54-lunch", "title": "Lunch", "subtitle": "", "track": "Break", "type": "Break", "language": "en", "abstract": "Lunch time!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "7af9516b-bf7a-5068-8263-ef85295e044f", "id": 53, "code": "TASRBN", "public_name": "TBA", "avatar": null, "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/ZW8MXF/", "id": 47, "guid": "b4d05548-d305-5b29-8632-7c7dcb90d396", "date": "2019-05-19T14:20:00+00:00", "start": "14:20", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-47-kubernetes-operators", "title": "Kubernetes Operators", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "What even are Kubernetes Operators? Kernel modules for extending Kubernetes.", "description": "The Operator pattern for custom Kubernetes controllers extends the platform to automate the management of stateful, complex applications -- think databases, file stores, and other critical components that often have their own notions of clustering. Operators provide a philosophy and a toolkit for extending Kubernetes orchestration to this class of application, as well as, recursively, mechanisms for managing the lifecycle of the Kubernetes platform itself. This talk, a freestyle rap based on a rejected Kubecon proposal, will examine and demo Kubernetes Operators and make you want to use Operators and write one for your own application.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "c509a781-8fcc-5c2e-a3d7-580557f2e502", "id": 47, "code": "DCCZD9", "public_name": "Josh Wood", "avatar": "https://cfp.cloud-native.rejekts.io/media/jx-idca.jpg", "biography": "Josh Wood is a Developer Advocate for Red Hat\u2019s OpenShift Container Platform. Josh has worked in a variety of roles throughout his career, holding diverse titles from systems admin to product director and CTO. He was formerly responsible for documentation at CoreOS. Josh is passionate about constructing the future of utility computing with open source technologies like Kubernetes. When procrastinating, Josh enjoys photographing polydactyl cats and writing short autobiographies.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/RNVGKN/", "id": 42, "guid": "a2954b2a-fb92-545e-a352-5a586b005391", "date": "2019-05-19T15:00:00+00:00", "start": "15:00", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-42-visualizing-canary-rollouts-with-istio-and-helm", "title": "Visualizing Canary Rollouts with Istio and Helm", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Istio is one of the most important things to happen to continuous delivery/deployment since Kubernetes. In this talk, you'll learn how to leverage Helm and Istio to create reliable automated deployment. To help us visualize the rollout we've built an interactive, open-source app and will ask audiences to help decide if a rollout continues or not.", "description": "The secret sauce uses a little-known feature of Helm to create arrays of Kubernetes stacks and Codefresh to manage custom health-checks and keeping the rollouts synchronized.\r\n\r\nYou don't want to miss this very visual and interactive talk.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "a0bb8a23-2bb7-585f-8540-16871241a6f9", "id": 44, "code": "TA3TDK", "public_name": "Dan Garfield", "avatar": "https://cfp.cloud-native.rejekts.io/media/Dan_Garfield_600x600.jpg", "biography": "Dan Garfield is a full-stack engineer, Google Developer Expert, and member of the Forbes Technology Council. As a Kubernaut and CI/CD expert, Dan has built tools for advanced deployment methodologies with Kubernetes, Helm, and Istio. His code and talks have been featured at conferences including Kubecon, Dev Week, Google Cloud Summit, SwampUp, Redis Conf and many more.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/9LP3TL/", "id": 32, "guid": "a77956d7-662a-5128-8fc2-8c6385ce3491", "date": "2019-05-19T15:40:00+00:00", "start": "15:40", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-32-preemptive-autoscaling-on-any-cloud", "title": "Preemptive Autoscaling on any Cloud", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Cerebral is an open source, provider agnostic, preemptive Kubernetes cluster autoscaler with pluggable metrics backends and scaling engines. In this talk, we'll do a deep dive into Cerebral and contrast its methodology with that of the Kubernetes Cluster Autoscaler, which scales only after seeing that pods cannot be scheduled.", "description": "Cluster autoscalers automatically adjust the number of nodes in your cluster without operator intervention. Scaling up is important to meet resource demand while scaling down is useful for cost savings when nodes are underutilized. Within the Kubernetes ecosystem, there are various methods for achieving autoscaling.\r\n\r\nWe\u2019ll do a deep dive into Cerebral, an open source, provider agnostic, preemptive autoscaler with pluggable metrics backends and autoscaling engines. We\u2019ll demo how to use it with a standard backend such as Prometheus, as well as explore use cases for custom backends: scaling based on a growing application queue, for example. This methodology will be contrasted with others such as the Kubernetes Cluster Autoscaler. The audience will also leave with an understanding of different scaling strategies: random, least waste, cost-optimized, and so on.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "facc74a1-d2ca-59e9-b974-c0379960b0fb", "id": 35, "code": "TNDFKX", "public_name": "Matt Kelly", "avatar": null, "biography": "Matt Kelly is a Software Engineer at Containership, where he works on open source software to make multicloud Kubernetes easy.", "answers": []}, {"guid": "ed84c34d-9dbd-5825-b308-2d67b688ce3b", "id": 52, "code": "L7XVYZ", "public_name": "Ashley Schuett", "avatar": null, "biography": "Software engineer", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/GMZRW7/", "id": 21, "guid": "d818dcec-f8bb-5bc0-84be-820fed3c68d8", "date": "2019-05-19T16:35:00+00:00", "start": "16:35", "logo": null, "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-21-always-up-to-date-dissecting-a-kubernetes-upgrade", "title": "Always up-to-date - Dissecting A Kubernetes Upgrade", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "The Cloud Native community pushes updates very frequently, sometimes for security reasons other times to deliver new features. This means we need to continuously upgrade Kubernetes and the related Cloud Native Stack.\r\n\r\nKubernetes has created a nice way to roll out new application versions, but what about the upgrade of the orchestrator itself, the core addons running on the cluster, or even the infrastructure holding it. \r\n\r\nThanks to running clusters for multiple customers all over the world Giant Swarm has created a system to roll out any piece of the infrastructure stack without impact to the customer\u2019s workloads. Our approach is relying on a set of operators to gracefully control the entire process making it reliable and reproducible.\r\n\r\nThe audience will see the different decisions that have been taken and which problems have been faced over time.", "description": "Giant Swarm manages cloud infrastructure for enterprises. It means we are in charge of providing Kubernetes clusters to our customers, as well as managing them so they are always running and up to date. \r\n\r\nSince Cloud Native environments are composed of a mixture of different components, people usually struggle to have everything up to date. In order to make it safe and robust, we have created a versioned system where all components of the platform are tracked under a bundle. It brings some benefits like immutability and testability. \r\n \r\nA bundle is made of a list of components like the VM, underlying operative system, the Kubernetes release, container runtime, load balancers, VPC peerings, DNS server, etc. Every component defines the version and the changelog since the last occurrence. \r\n\r\nBehind the curtain, a control plane in the form of a Kubernetes cluster holds a system of interconnected operators in charge of ensuring the desired state of the tenant clusters. A custom resource holds the entire configuration of the clusters including the version bundle. Every time there is a component(s) released we create a new bundle. After it is tested, it is promoted to the end user who can trigger the upgrade in her existing clusters. \r\n\r\nAs this approach is similar to upstream cluster API efforts, we believe that the community can benefit from our learnings after two years of building and running this architecture. The audience will see which decisions we made, and why using Kubernetes to manage Kubernetes clusters is a great approach in order to keep the clusters up to date in such a dynamic environment.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "6cc20c04-2a53-54d0-a110-cec63d1549be", "id": 24, "code": "F3MYLR", "public_name": "Fernando RIpoll", "avatar": null, "biography": "Fernando Ripoll is a solution engineer at Giant Swarm. His background is as a full stack developer using technologies like Symfony, NodeJS, Golang, Ruby, Kubernetes, MongoDB, and HTML5. Throughout his career, Fernando has become more interested in distributed systems and especially how containers and Kubernetes have changed the developer experience. He is currently helping some big players jump into Kubernetes and containers by championing the change from old practices to reveal the benefits of cloud environments.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/ZJKBJX/", "id": 12, "guid": "877a5fac-bc92-5746-b32d-db9ed9106768", "date": "2019-05-19T17:15:00+00:00", "start": "17:15", "logo": null, "duration": "00:05", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-12-openmetrics-prometheus-unbound", "title": "OpenMetrics: Prometheus Unbound", "subtitle": "", "track": "Cloud Native", "type": "Lightning talk", "language": "en", "abstract": "The State of the Art of **OpenMetrics** and some fundamentals about it.", "description": "Nowadays every application exposes their **metrics** via an HTTP endpoint readable by using **Prometheus**. Recently the **exposition format** got included into the **OpenMetrics standard** of the **CNCF**. But why a standardization process was needed and is good? And what are the **novelties** and **differences** OpenMetrics introduces?\r\n\r\nThis lightning talk will answer those questions while presenting the upcoming OpenMetrics official standard.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "1c8268fc-9b27-545d-8efc-6145df880b20", "id": 11, "code": "RBR93Z", "public_name": "Leonardo Di Donato", "avatar": "https://cfp.cloud-native.rejekts.io/media/leodido__levis.jpg", "biography": "Leonardo is an Open Source Software Engineer at Sysdig where he mainly takes care of Falco, a CNCF project. His interests range from theoretical aspects of computer science to machine learning to distributed systems. He is also involved in the Linux Foundation's eBPF project (IO Visor) as a maintainer of kubectl-trace project.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/M3QJJY/", "id": 55, "guid": "cfe39134-833f-5bfd-ad84-c3950044457d", "date": "2019-05-19T17:30:00+00:00", "start": "17:30", "logo": null, "duration": "00:05", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-55-which-service-mesh-should-i-use-", "title": "Which service mesh should I use?", "subtitle": "", "track": "Cloud Native", "type": "Lightning talk", "language": "en", "abstract": "Not sure which service mesh is right for you? In the emerging landscape of service meshes, which should you choose? In this lightning talk, we will demo, Meshery, an open source, multi-mesh playground that deploys different types of service meshes on-demand.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"guid": "306b545f-a674-5ba5-b2cf-c7016084e953", "id": 56, "code": "GZQTEM", "public_name": "Lee Calcote", "avatar": "https://cfp.cloud-native.rejekts.io/media/avatars/GZQTEM_rl50gKU.jpg", "biography": "Lee Calcote is an innovative product and technology leader, passionate about developer platforms and management software for clouds, containers, functions and applications. As founder of Layer5, advanced and emerging technologies have been a consistent focus through Calcote\u2019s tenure at SolarWinds, Seagate, Cisco and Schneider Electric. An advisor, author, and speaker, he is active in the tech community as a Docker Captain and Cloud Native Ambassador.\r\n\r\n<b>Contact/Social</b>\r\n<ul style=\"white-space: nowrap;\">\r\n \t<li><a href=\"http://calcotestudios.com/talks\">Talks</a></li>\r\n \t<li><a href=\"https://gingergeek.com/\">Website</a></li>\r\n \t<li><a href=\"mailto:leecalcote@gmail.com\">Email</a></li>\r\n \t<li><a href=\"http://www.twitter.com/lcalcote\" target=\"_blank\">Twitter</a></li>\r\n \t<li><a title=\"Join my LinkedIn network\" href=\"http://www.linkedin.com/in/leecalcote\" target=\"_blank\">LinkedIn</a></li>\r\n</ul>", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/SFTA7W/", "id": 19, "guid": "0cba15c8-6f45-52c0-8a89-abaeddcf4ca3", "date": "2019-05-19T17:40:00+00:00", "start": "17:40", "logo": null, "duration": "00:05", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-19-zero-downtime-upgrades-of-kubernetes", "title": "Zero downtime upgrades of Kubernetes", "subtitle": "", "track": "Cloud Native", "type": "Lightning talk", "language": "en", "abstract": "The Kubernetes project releases a new version every 3 month as well as several bug fix releases in between. You need and want to upgrade your clusters. How do you do that with zero-downtime and no impact on your production workloads? In this lightning talk I will show how my team has come up with a procedure to upgrade a cluster and monitor the upgrade itself. In particular to avoid impact due to nodes becoming \"Not Ready\".", "description": "The team at Meltwater develops and provides  Kubernetes as a Service in a multi-tenant setup internally for 40+ development teams. The base cluster is deployed with Kops and then enhanced with add-ons by the team. During our first \"kops rolling-update\" runs we have experienced nodes going into \"Not ready\". Mainly do to bug #48638/#41916 and the way nodes reach the masters through DNS round-robin. Though our way of doing the upgrade was \"triggered\" by kops, we think the process and its steps, in particular the way we monitor the upgrade itself and the API functionality during the upgrade, could be interesting and applied to any Kubernetes instance.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "a2325ca8-1ad2-5e8c-8045-a573ebf14f91", "id": 19, "code": "7ANSCW", "public_name": "Simone Sciarrati", "avatar": null, "biography": "I have worked with large scale distributed systems for the last 10+ years, from online gaming to data intensive applications. In the last couple years I have been focusing on building a Kubernetes platform to accelerate the development teams in Meltwater. In my spare time, while not riding my Ducati on a race track I practice the fine art of tsundoku.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/ZKNBXH/", "id": 26, "guid": "1f84a899-e45d-5aba-9fb0-db45c57d46ec", "date": "2019-05-19T17:55:00+00:00", "start": "17:55", "logo": "https://cfp.cloud-native.rejekts.io/media/cloud-native-rejekts-eu-2019/images/ZKNBXH/porter-notext.png", "duration": "00:30", "room": "Main Hall", "slug": "cloud-native-rejekts-eu-2019-26-build-cloud-native-application-bundles-with-porter", "title": "Build Cloud Native Application Bundles with Porter", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Learn how to use Porter to create and deploy Cloud Native Application Bundles without knowing the CNAB spec.", "description": "When we deploy to the cloud, most of us aren't dealing with just a single cloud provider or even deployment tool. It seems like even the simplest of applications today need a load balancer, SSL certificates, persistent file storage, DNS, and somewhere in there is your application.\r\n\r\nThat is a lot to figure out! The Cloud Native Application Bundles specification was created to help address that problem, helping you manage everything in a single package and focus on what you know best: your application. [Porter](https://porter.sh) is a tool that delivers an easy to use, declarative approach to building these bundles. Porter helps you build bundles without needing to be a CNAB expert. Come learn how Porter makes it easier to manage cloud native applications in the messy imperfect hybrid cloud world that we live in.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "61e1c6f0-9c2b-57b2-a0a2-eb4a290ff112", "id": 30, "code": "BLZKXR", "public_name": "Carolyn Van Slyck", "avatar": null, "biography": "Carolyn is a software developer based in the wilds of suburban Chicago, working remote on the Microsoft R&D DeisLabs Team. Her passion is developer tools, and building vibrant inclusive communities around them. In between code reviews, Carolyn enjoys hauling her cookies around the world to share her love of open-source, containers, and excessive emoji. \ud83c\udf08 \u2728", "answers": []}, {"guid": "832ca31d-366a-5daa-b3b7-5d50f9145cc2", "id": 28, "code": "FXUHJS", "public_name": "Jeremy Rickard", "avatar": "https://cfp.cloud-native.rejekts.io/media/IMG_8270.JPG", "biography": "Jeremy is a Software Engineer at Microsoft Azure working on Open Source Software related to Kubernetes and Containers!", "answers": []}], "links": [], "attachments": [], "answers": []}], "Sidebar": [{"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/LEQHTE/", "id": 23, "guid": "e007f184-ffbc-52db-8d8f-4dfefb862657", "date": "2019-05-19T11:35:00+00:00", "start": "11:35", "logo": null, "duration": "00:30", "room": "Sidebar", "slug": "cloud-native-rejekts-eu-2019-23-monitoring-the-nats-messaging-system-at-scale-with-elastic-beats", "title": "Monitoring the NATS messaging system at scale with Elastic Beats", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "In a world where stateless applications are optimized to run blazing fast, message exchanging cannot be allowed to affect their performance. Having the ability to publish more than 7 million of messages per second, NATS is the sprinter of the messaging queues.\r\n\r\nWhereas benchmarks are good indicators for choosing a tool there is no way to confirm its value without monitoring its performance in production. In our team, we use EFK stack to monitor a bunch of microservices running on top of Kubernetes, since EFK tends to be the de facto way to monitor containerized microservices.\r\n\r\nEverything started with a task: Ship NATS monitoring data to Elasticsearch. What we achieved: Extending Beats, the Elastic data shipper, with a NATS dedicated module.\r\n\r\nJoin us in this session to learn more about the journey, how to add value to a CNCF project and give back to the community.\r\n\r\nPS. There will be a demo!", "description": "In this session we plan to cover the whole process of turning an internal requirement into a very meaningful integration between a CNCF incubating project (NATS) and a CNCF silver member\u2019s project (Elastic Beats).\r\n\r\nFirst part of the session is going to be about the problem we had to solve. As a team working on Kubernetes microservices, we are using NATS as a messaging queue to ensure the resiliency of the critical paths. Furthermore, we rely on EFK to monitor our stack. Consequently, monitoring of NATS had to be achieved through EFK stack as well.\r\n\r\nIn the second part of the session we will describe how we came up with the solution, trying to motivate the audience to follow the same successful path when facing similar situations. After investigating our available options, we noticed that Beats project, the Elastic data shipper, could fit in our case if NATS monitoring was supported. And here comes the motivational part. Those days, during an organized hackathon we grabbed the opportunity to work into creating our own NATS Beat which was later added to the official list of community Beats. Today, after Beats maintainers\u2019 request, NATS has its own module in the core of Beats project.\r\n\r\nFinal part of the session will be dedicated on how to actually use Beats for shipping monitoring data of a running NATS server to an Elasticsearch instance. The audience will have the opportunity to realize the value of NATS module and the benefit of putting effort in community projects.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "0876fa5b-e64f-5c9e-a2d7-e470806b3e5b", "id": 50, "code": "JLJTGV", "public_name": "MICHAEL KATSOULIS", "avatar": null, "biography": "Michael is a cloud software engineer, backed with working knowledge in telecommunications systems, currently focusing in SDN/NFV area. Leveraging Linux power and open source tools he always tries to combine work in internal projects with open source contributions.", "answers": []}, {"guid": "f223fbba-d109-5175-8079-c8c43458c44a", "id": 51, "code": "SQ9L8Q", "public_name": "Stamatis Katsaounis", "avatar": "https://cfp.cloud-native.rejekts.io/media/stamatis_katsaounis.png", "biography": "Stamatis is a software engineer, focused mainly on the Cloud. He is an active member of the OPNFV community with contributions to various OPNFV projects. He experiments with OpenStack and Kubernetes deployments and is a Linux enthusiast. He speaks C, Bash and Python. Lately, he is a frequent visitor of Go playground.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/MWPDUY/", "id": 22, "guid": "2d316767-da18-5483-be88-1c6acc5357ef", "date": "2019-05-19T12:15:00+00:00", "start": "12:15", "logo": "https://cfp.cloud-native.rejekts.io/media/cloud-native-rejekts-eu-2019/images/MWPDUY/tdd-is-dead.png", "duration": "00:30", "room": "Sidebar", "slug": "cloud-native-rejekts-eu-2019-22-test-driven-development-is-dead", "title": "Test Driven Development Is Dead", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "Test Driven Development and Code Coverage as a concept and practice is approaching 20 years and we've moved on. Sufficiently advanced monitoring is indistinguishable from testing and in this talk I'll prove it.", "description": "In this session we'll uncover why both Unit Testing and Integration Testing as a practice doesn't actually help engineers or operations understand how their applications run in production nor does it help them sleep at night when PagerDuty goes off at 3am. We'll discuss how modern software delivery organizations are leveraging advances in monitoring and logging systems to analyze the behavior of their production systems in near real time and uncover the mysticism surrounding observability. We'll smash the ban hammer on those bits of code which should never be tested and show real world examples of tooling such as Opentracing and Prometheus that enable organizations to focus on what matters: is my production application working like it should.\r\n\r\nUltimately, sufficiently advanced monitoring is indistinguishable from testing and in this talk I'll prove it.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "ad0add1c-dde2-512a-bd1b-bfa4c4068ee0", "id": 25, "code": "ZACDYF", "public_name": "Kevin Crawley", "avatar": "https://cfp.cloud-native.rejekts.io/media/IMG_0418.jpg", "biography": "Kevin has been distinguished by by his peers as a Docker Captain for his work with the community and the successful implementation of Docker in production at several organizations over the past 5 years. He has spoken international on topics such as leveraging open source tools, AI and automation for real time monitoring of cloud native applications. He is a developer evangelist for Instana, an APM service provider and enjoys contributed to discussions around distributed computing, microservices, containers, monitoring, logging, deployment automation, observability, public speaking, alert fatigue and human ops.\r\n\r\nKevin is the lead organizer for this years DevOpsDays Nashville, and he also organizes several local meetup groups in the Nashville, TN area including Docker, Go, and Serverless and has spoken at many other groups including Java, Javascript, PHP, and DevOps. \r\n\r\nAt his previous jobs he\u2018s designed and built distributed scheduling systems utilizing Symfony (PHP), Amazon SQS, DynamoDB, and Redshift. His most recent project he was responsible for designing, building and delivering a modern software delivery platform using Go/Angular which was integrated with Docker Swarm and Gitlab. This application is capable of delivering phoenix environments and a fully configurable production pipeline. This application manages the SDLC of over 1000 containers and dozens of engineers building on a Kafka, Cassandra, and Spring Boot ecosystem.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/W3VULB/", "id": 40, "guid": "ab63e6d7-b771-5a65-8771-570c50bed2ab", "date": "2019-05-19T14:20:00+00:00", "start": "14:20", "logo": null, "duration": "00:30", "room": "Sidebar", "slug": "cloud-native-rejekts-eu-2019-40-moving-the-cni-to-user-space", "title": "Moving the CNI to User Space", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "In this presentation we will explain why and how container networking is moving from the kernel into user space through projects such as the Contiv-VPP CNI plug-in (which leverages the Linux Foundation's fd.io project).", "description": "Existing container networking solutions rely on Linux Kernel networking (using iptables, eBPF, Open vSwitch etc.) .  This constrains both performance and flexibility. \r\n\r\nUser-Space networking offers better performance (especially when combined with technologies such as vector-based forwarding such as d.io VPP) and enables new features to be developed and deployed without requiring changes to the Linux kernel.\r\n\r\nContiv-VPP is a CNI plugin for Kubernetes that leverages fd.io VPP and which provides a full implementation of Kubernetes network policy and of Kubernetes services (usually implemented by kube-proxy, which programs Linux kernel netfilter rules).\r\n\r\nWe will provide a detailed description, and live demos of Contiv-VPP, and will discuss the challenges we encountered in our implementation.\r\n\r\nFinally we will show how user space networking enables Cloud-native Network Functions such as firewalls and VPN gateways.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "86c9bf95-d42a-5e93-8e97-f69494ada24c", "id": 43, "code": "N8SHUA", "public_name": "Giles Heron", "avatar": "https://cfp.cloud-native.rejekts.io/media/giheron2.jpeg", "biography": "Giles Heron is a Principal Engineer at Cisco Systems, and is based in London.  His current focus is on high-performance container-networking solutions.  Before joining Cisco Giles was Principal Network Architect at BT, and was responsible for the end-to-end architecture of BT's 21st Century Network.\r\n\r\nGiles has over 25 years' experience in the networking arena, having started as a software engineer coding X.25, SNA and IP protocol stacks, and then having made the transition into network architecture.  Giles is the co-inventor of the MPLS pseudowire technology, and served as co-chair of the IETF L2VPN Working Group.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/talk/XFNRUH/", "id": 14, "guid": "b04c03df-88da-5b12-970b-9fcbdf031d86", "date": "2019-05-19T15:00:00+00:00", "start": "15:00", "logo": null, "duration": "00:30", "room": "Sidebar", "slug": "cloud-native-rejekts-eu-2019-14-consistent-user-authentication-in-multi-cloud-hosted-kubernetes-clusters", "title": "Consistent user authentication in multi-cloud hosted Kubernetes clusters", "subtitle": "", "track": "Cloud Native", "type": "Talk", "language": "en", "abstract": "As hosted Kubernetes solutions mature, it becomes ever more compelling to operate clusters across multiple cloud providers. A general point of friction can often be the differences in how you are able to authenticate to those clusters. Cloud providers tend to integrate their own proprietary solutions and hosted control planes lack the flexibility to use authentication providers and audit sinks.", "description": "During this talk I will show how a reverse proxy in front of the Kubernetes API can implement uniform OIDC authentication across hosted Kubernetes solutions.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "883ac47a-da68-504f-b1c2-384490744b56", "id": 13, "code": "CYZ3HV", "public_name": "Christian Simon", "avatar": null, "biography": "Christian can rely on his experiences from working as a Jack of all trades Linux sysadmin for 15+ years. This hands-on practices is backed by his academic work around security practices. Lately he\u2019s focused on providing modern DevOps environments through the heavy use of containers.\r\nAs soon as he is away from his laptop he enjoys beers and pork dishes (due to his Bavarian roots), visiting if not organising gigs or music festivals and keeping fit with swimming, hiking, skiing and lately playing field hockey.\r\n\r\nPrevious talks: \r\nPuppetconf 2017:  From Roller Coasters to Meerkats- 3 Generations of Production Kubernetes Clusters\r\nhttps://www.youtube.com/watch?v=ThbcHUj70EA\r\nKubecon EU 2018 / Containerdays 2018: Why running kubelet on your vacuum robot is (not) a good idea\r\nhttps://www.youtube.com/watch?v=ea0UzDpk6PE", "answers": []}], "links": [], "attachments": [], "answers": []}]}}]}}}