15:00 - 15:45


DevOps Consultant / Trainer
Self Employed


Guray is an experienced DevOps engineer who has been working with containers in production for more than 5 years. The ecosystem around Docker and Kubernetes covers his interests like (Helm, Linkerd, Telegraf/InfluxDB, Grafana, Prometheus/Thanos, Terraform/Packer/Consul/Vault, Ansible, ...). He has been working with major cloud providers as well as a lot of others and on-prem environments, and working for automating them as well as using their SaaS offerings. He as given a number of trainings, workshops, and talks. He is also a HashiCorp Ambassador, Docker Istanbul Community Lead, and Google Developer Group Cloud Istanbul organizer. He has written 3 books about Docker, IoT/Python, and Raspberry Pi. He had also worked as a embedded system developer in IoT field before working as DevOps and utilizing the experience from these years, working with some companies in IoT industry to automate and optimize their DevOps process and cloud environments.

Talk: Development in Kubernetes: Containerizing with GEPP and developing with Telepresence, Skaffold, Tilt, Okteto, and Others

Containers have changed the way we are deploying our software. However, this process doesn't itself provide a significant improvement to the developer's life. This enabled a lot of tools to come into the scene and provide better developer experiences.
In many cases, developers need to run their apps in Kubernetes even before committing changes and without waiting CI/CD pipelines. Ideally, this should support fast iterations and create a feedback loop between clusters and developers. It is possible to run the code on Kubernetes, as well as in Developer's computer and response real requests from Kubernetes clusters so that dev-computer and real cluster parity may be removed.
In this talk, some of the tools that make development in Kubernetes easier will be shown with their outstanding features as well as demos pointing their some use-cases. In that case, containerizing services and deploying them to Kubernetes, as well as debugging and developing on Kubernetes are different parts of the workflow.
The talk will start with a tool to containerize and deploy an app to Kubernetes: GEPP, which is a tool initiated and maintained by the speaker that takes APIs or applications written in Python and generate Dockerfile, build a container image, tag image with current commit ID, create a local Kubernetes cluster with k3d, make a port forward config and give a link to connect Ingress controller from developer's notebook, deploy the app to local Kubernetes cluster and create Service & Ingress objects for it(and create their YAMLs), and create a JSON file for Terraform to deploy a Kubernetes cluster on Azure (AKS). All of these are fully automatic and doesn't require answering any questions or creating any config files manually.
Another part that streamlines developer experience is developing on Kubernetes and making it sustainable. For that purpose; Telepresence, Skaffold, Tilt, Draft, Squash, and Okteto will be shown and demos for Telepresence, Skaffold, and Tilt will be made. Details about which tool is more useful in which scenarios will be discussed to clarify real-life usage examples.
Developing on Kubernetes frequently differ when running on a local Kubernetes cluster or a remote one. The challenges of each setup will be introduced to provide a view of what is available.