Speaker

Josh Michielsen

Josh Michielsen

Senior Principal Software Engineer @ Dataminr - Kubernetes (CKA), Go, Mentor

London, United Kingdom

Actions

Josh Michielsen is a software and platform engineer with over 15 years experience specialising in container orchestration, software development, continuous delivery, and cloud operations.

Josh is currently a Senior Principal Software Engineer at Dataminr working on developer tooling, developer experience, and deploying & managing Kubernetes at scale with a focus on operating AI workloads. He has previously worked at Weaveworks, Snyk, and Condé Nast with a breadth of experience across both product development and platform engineering, but but maintaining a central focus on Kubernetes and Cloud Native.

Josh is also a fierce advocate for open source and community within the field. He has been a core Kubernetes Community Days (KCD) UK conference organiser since its inception in 2021, has been involved in multiple meetup groups, and has spoken at numerous international conferences.

Area of Expertise

  • Information & Communications Technology

Topics

  • Software Development
  • Cloud Computing
  • Kubernetes
  • Golang
  • AWS
  • Continous Delivery

Finding a Needle in a Call Stack - Intro to Distributed Tracing

Microservices have transformed the way we think about software architecture and design. They enable developers to rapidly extend application functionality in the form of additional services, each of which can be scaled and deployed independently. Many highly successful software companies such as Netflix, Amazon, and Airbnb, have thousands of interconnected services which form the foundation of their products. These services often communicate over HTTP - passing messages between each other, synchronously and asynchronously, sometimes via message queues or brokers.

Of course, none of the benefits of microservices come without a cost. Networks are unreliable, and correlating thousands or millions of log entries between services can quickly become unmanageable. Therefore, understanding the source of an issue can be like finding a needle in a haystack. This is where distributed tracing comes in! Distributed tracing is the process of tracking requests through their lifetime within a complex distributed system, and has become a critical tool for debugging and understanding microservices.

In this session we will explore the basics of distributed tracing. We'll then take a look at the OpenTelemetry (formally OpenTracing) standard - a vendor neutral framework for distributed tracing instrumentation. Finally, we'll take a hands-on look at distributed tracing in action using Jaeger, a popular open source distributed tracing tool which is part of the Cloud Native Computing Foundation. By the end of this session I hope you will not only have a good understanding of distributed tracing, but will be equipped with the knowledge and inspiration to introduce it within your own applications.

Rapid API Development in Go

The Go programming language is a statically typed, compiled programming language designed at Google that was released in 2009. It grew quickly in popularity - holding a top 5 position in the most loved programming languages in the Stack Overflow developer survey for 5 consecutive years, and in 2018 was the fastest growing language on GitHub.

Much of Go's popularity can easily be attributed to it's clear and concise syntax, simple concurrency model, strong built-in tooling, and its ability to be easily compiled into a single statically linked binary. However, to me Go's greatest strength is its robust, "batteries included" standard library, which allows developers to rapidly build production ready applications with little to no external dependencies.

In this talk I will provide a brief overview of the Go programming language, and demonstrate how Go can be utilised to rapidly build production ready APIs with just the standard library - HTTP(S) server and all. Finally I will provide a brief demo of a simple API workflow, and talk about some small libraries and tools that can be used to improve the development process and general quality of life.

Kubernetes is in Vogue at Condé Nast International

Kubernetes solves a lot of problems (such as autoscaling and reliability), but also introduces complexity, especially for developers trying to manage their apps on K8s. Existing tools, such as kubectl and cluster dashboard, often fall short due to their complexity or lack of features.

The platform team at Condé Nast International operates a global platform serving over 60 developers, and a digital readership of more than 80m articles monthly. They aim to deliver self-service solutions to increase developer productivity, reduce mean time to recovery, and provide a "single pane of glass" overview of applications running on the platform, focussing on deployment, observability, and namespace management.

In this talk Josh discusses the pain experienced by developers using Kubernetes, details the existing solutions that were considered & where they fell short, and finally explores how CNI built a hybrid solution that utilised tools like Helm, along with a portal tailored to the needs of their users.

DDD Perth 2019 Sessionize Event

August 2019 Perth, Australia

Josh Michielsen

Senior Principal Software Engineer @ Dataminr - Kubernetes (CKA), Go, Mentor

London, United Kingdom

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top