{"id":"tag:speakerdeck.com,2005:\/jmickey","link":[{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com"}},{"@attributes":{"rel":"self","type":"application\/atom+xml","href":"https:\/\/speakerdeck.com\/jmickey.atom"}}],"entry":[{"id":"tag:speakerdeck.com,2005:Talk\/773809","published":"2021-09-16T17:35:08-04:00","updated":"2021-09-16T17:36:14-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/ebpf-ing-what-an-introduction-to-ebpf"}},"title":"eBPF-ing What? An Introduction to eBPF","content":"eBPF is quickly becoming one of the rising stars within the cloud-native observability and security ecosystem. eBPF is a Linux kernel sub-system that allows you to develop and execute sandboxed programs within the Linux kernel, without ever having to touch the kernel source code. \n\neBPF has applications in the areas of networking, performance profiling, monitoring, and security. In this talk, attendees will learn how they can get started with leveraging the power of eBPF in Kubernetes cluster security. \n\nWe'll be starting with an introduction to eBPF and its architecture, then we'll learn how we can write our first eBPF program. From there, we're going to jump into some of the practical security applications of eBPF within the context of a Kubernetes. The possibilities are many, but time is unfortunately few - but by the end of this session you will be equipped with the requisite knowledge and inspiration to get started with eBPF in your own Kubernetes environments!","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/571882","published":"2019-11-07T10:03:48-05:00","updated":"2019-11-07T10:09:20-05:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/operating-a-global-cloud-platform"}},"title":"Operating a Global Cloud Platform","content":"Cond\u00e9 Nast International is home to some of the largest online publications in the world - including Vogue, GQ, Wired, and Vanity Fair. In an effort to provide a cohesive vision for these brands across more than 30 markets, a global, centralised platform was required. Utilising AWS and Kubernetes at its core, the platform officially launched in September 2018 and serves over 80 million unique monthly users. \n\nOf course, operating Cloud Native Infrastructure is more than just spinning up a container orchestrator! Auxiliary services are required in order to operate it effectively and provide developers with a true platform experience. The aim of this talk is to \"go beyond the cluster\", focusing on the problems that need to be solved before your platform can be truly considered \"production ready\".  I will be discussing how Cond\u00e9 Nast International effectively operates multiple Kubernetes clusters across the world, paying special attention to observability, testing, application delivery, and developer experience. I will also explore the mistakes made along the way, and how we learned from those mistakes.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/554957","published":"2019-09-21T11:10:04-04:00","updated":"2019-09-21T11:10:38-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/rapid-api-development-in-go"}},"title":"Rapid API Development in Go","content":"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.\n\nMuch 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.\n\nIn 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.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/545838","published":"2019-09-04T19:24:10-04:00","updated":"2019-09-19T08:42:59-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/utilising-oss-to-operate-a-centralised-globally-distributed-cloud-platform"}},"title":"Utilising OSS to Operate a Centralised, Globally Distributed Cloud Platform","content":"Cond\u00e9 Nast International is home to some of the largest online publications in the world - including Vogue, GQ, Wired, and Vanity Fair. In an effort to provide a cohesive vision for these brands across more than 30 markets, a truly global platform was required. Utilising AWS and Kubernetes at its core, the platform officially launched in September 2018 and serves over 200 million unique visitors\/month.\n\nOf course, operating Cloud Native Infrastructure is more than just spinning up a container orchestrator! Auxiliary services are required in order to operate it effectively and provide developers with a true platform experience. Open Source Software (OSS) forms the backbone for much of what we do. As such, this talk will be focusing on how Cond\u00e9 Nast International utilises OSS to effectively operate multiple Kubernetes clusters across the world, paying special attention to observability, testing, application delivery, and developer experience.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/536543","published":"2019-08-03T03:03:42-04:00","updated":"2019-08-20T20:45:46-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/finding-a-needle-in-a-call-stack-intro-to-distributed-tracing"}},"title":"Finding a Needle in a Call Stack - Intro to Distributed Tracing","content":"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. \n\nOf 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.\n\nIn 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.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/536548","published":"2019-08-03T03:13:03-04:00","updated":"2019-08-20T20:46:09-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/kubernetes-in-docker-killing-bugs-with-kindness"}},"title":"Kubernetes in Docker - Killing Bugs with KINDness","content":"Abstract: KIND - Kubernetes IN Docker - is a relatively new tool for running Kubernetes clusters within Docker. KIND enables engineers to spin up local development cluster in under a minute, utilising Docker containers as \"nodes\". KIND was originally born as a method of running conformance tests for the Kubernetes project itself, and has quickly gained in popularity within the community thanks to its fast startup time, ease of use, and growing feature set. In this talk I will briefly look at how KIND differs from other local cluster tools, discuss a range of possible use-cases for KIND - both for local development and within CI\/CD pipelines, and finally demonstrate how you can get starting using KIND.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/478801","published":"2018-11-28T08:12:50-05:00","updated":"2019-08-21T08:53:51-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/lessons-learnt-over-70-interviews-in-just-5-weeks"}},"title":"Lessons Learnt: Over 70 Interviews in Just 5 Weeks","content":"5 weeks, 39 unique companies, and over 70 remote interviews. In this talk Josh will be sharing some of the lessons he learnt, and mistakes he made while searching for a job in the UK. He will present some interesting data on the interviews, discuss what he did right and wrong, the pain points he suffered, what he enjoyed, and finally - offers some advice for hiring managers and job seekers alike.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/466676","published":"2018-09-27T04:59:17-04:00","updated":"2019-08-21T08:55:46-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/devops-is-dead-long-live-devops"}},"title":"DevOps is dead, long live DevOps!","content":"DevOps began as a philosophy. A technological way of life that valued inclusion and collaboration in order to breakdown organisation barriers for the betterment of ops and dev engineers, and ultimately the bottom line of the company they work for. So where did it all go sideways? Is the traditional meaning of DevOps dead before it even had a chance to thrive? In this talk Josh will talk briefly about the history of DevOps, and the landscape as it stands today, and what the future holds for the philosophy-turned-buzzword we call DevOps.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/448385","published":"2018-06-11T14:36:54-04:00","updated":"2018-06-11T14:37:41-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/getting-started-with-asp-dot-net-core-2-dot-0-and-azure-app-service"}},"title":"Getting started with ASP.NET Core 2.0 & Azure App Service","content":"A live demonstration showcasing a deployment pipeline that takes an open-source ASP.NET Core 2.0 application (running on .NET Core 2) from Dev to Prod utilising Travis CI and Azure App Services.","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/434946","published":"2018-03-22T03:54:55-04:00","updated":"2019-08-21T08:56:30-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/introduction-to-terraform"}},"title":"Introduction to Terraform","content":"Introduction to Terraform - presented at the Perth Python & Django meetup on March 1 2018. Demo code repo can be found here: https:\/\/github.com\/jaymickey\/terraform-demo","author":{"name":"Josh Michielsen (@jmickey)"}},{"id":"tag:speakerdeck.com,2005:Talk\/448386","published":"2018-06-11T14:40:37-04:00","updated":"2018-06-11T14:41:18-04:00","link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/speakerdeck.com\/jmickey\/real-world-app-deployment-processes-at-bright-people"}},"title":"Real World App Deployment Processes @ Bright People","content":"CI and CD of both massive legacy and greenfield applications in a Windows world. Automated build and deployment process using TeamCity and Octopus Deploy.","author":{"name":"Josh Michielsen (@jmickey)"}}],"title":"Josh Michielsen (@jmickey) on Speaker Deck","updated":"2021-09-16T17:35:08-04:00"}