Jakob Ehn

Information & Communications Technology

DevOps & Automation Software Development Software Architecture Azure DevOps Containers

Stockholm, Sweden

Jakob Ehn

Doing cloudy DevOps things at Active Solution

Jakob has 20 years of experience with professional software development, and currently works at Active Solution, specializing in DevOps and cloud architecture.

Jakob is a Microsoft Azure MVP (former ALM/DevOps MVP). He is a regular speaker at various conferences and user groups around the world, such as NDC, DevSum, CloudBrew, TechDays, WinOps, UpdateConf and SweTugg


Feel free to contact me about speaking engagements on topics such as Azure DevOps, Container/Docker/Kubernetes and Cloud Architecture

Current sessions

Exploring Infrastructure as Code

Are you tired of spending hours upon hours of your life, manually setting up environments for your IT systems? Or do you skip that and try to make do with just a “dev” and “prod” environment because it is too much of a hassle to set up a new one? Or maybe it is too expensive to run another one? Or maybe you have given up on the idea of multiple environments and decided to just deploy to production? Continuous Delivery FTW!!!

To be honest, we get it! Setting up and maintaining multiple environments and their infrastructure is a hassle. However, with “the cloud” and infrastructure provisioning being available through API calls, we can now speed up this process using Infrastructure as Code (IaC). This allows us to define our environments in code, and easily spin up, as well as remove, environments in minutes. Need a new test environment? No worries, just spin up a new one! Need a temporary environment to try out something new? No worries, just spin up a new one temporarily and remove it when you have tried out your idea! Why not spin up a new environment for each pull request to verify that it works? All this is possible if you have your infrastructure defined as code. Not to mention the ability to version manage it to allow you to keep track of what has changed.

In this workshop, we will have a look at the 3 most popular Infrastructure as Code (IaC) solutions available for creating infrastructure in Azure, Terraform, ARM templates and Pulumi.

The goal of this workshop is to have you define, create up, update, and remove whole system environments using all three IaC solutions. This will allow you to get a feel for how they work, where they differ, and which one would suit your situation the best. All 3 have strengths and weaknesses depending on what you are trying to do, so having a general knowledge of all 3 gives you the best chance to make a successful choice when you start your journey to define your infrastructure as code!


Keeping your builds green using Docker

With the number of technologies, lanaguages and platforms that is part of most projects today just keeps on increasing, beginning work on a new project can be daunting. We often end up spending a lot of time installing the correct version of SDK's and build tools until we can make the project build and run. And then we have the same requirements for our build environment, and too often we find that build failures are due to differences between the local development machines and the build server environment,

In this session you will learn how to use Docker to define and run your builds both locally and on the build server. By describing your builds in Dockerfile we can make sure that it will build anywhere, without any other dependencies than Docker.
We will also look at how we can run build agents inside a Docker container to make sure that our build infrastructure is immutable and reliable.


DevOps with Azure Kubernetes Service

So you have deployed your first application to Kubernetes. Great, now what? Developing and running an application on Kubernetes requires you to reason about and implement several things such as:

- Creating a CI/CD pipeline for safe deployments
- Monitoring the cluster and your applications
- Quickly respond to increased traffic by scaling the cluster and applications on demand
- Ensuring low latency, high availability and failover
- Securing the cluster and your container images against known vulnerability issues

Come to this session to learn how you can solve these thinkgs with Azure Kubernetes Service and Azure DevOps


Event-driven computing with Kubernetes

Event-driven architectures is very common in a microservices world, enabling flexible and decoupled designs for the applications that we build.

But eventing is also very useful when it comes to our infrastructure and CI/CD platforms. Being able to chain together containers in simple or complex workflows, triggered by different events coming from inside or outside the cluster, opens up a world of possibilites.

In this session we will look at two event-based platforms for Kubernetes:

* Brigade brings event-based scripting to Kubernetes, making it easy to chain together containers and run them serially or in parallell, triggered by events such as GitHub events, Docker pushes or any other trigger. We'll look at how we can automate deployments to Kubernetes when a Pull Request is created, and removes it once the PR is completed

* KEDA (Kubernetes-based Event Driven Autoscaling) enables autoscaling for event driven Kubernetes workloads. KEDA supports multiple event sources, such as Kafka, RabbitMQ and Azure Service Bus, and natively integrates with Azure Function tooling. Scaling out the number of pods based on the number of messages in our message queue is a perfect example of the powre that KEDA brings, which will be show during this session


Continuous Delivery with Kubernetes

Getting started with Kubernetes is now easy thanks to all the cloud providers that offer managed Kubernetes services. But understanding exactly how Kubernetes deployments work can be a bit intimidating, with many new concepts.

In this session you will learn how to continuously deploy a microservice application with multiple components and databases to Kubernetes with no downtime. We will look at how to implement rolling upgrades, canary releases and A/B testing in a production realistic way


From 0 to 60 with Azure Kubernetes Service

Join me for a hands-on, demo only, whirlwind tour of Azure Kubernetes Service!

We'll start with an existing application running locally, and by the end of the session the application will run in Azure Kubernetes Service. But not just that, on they way there we will:

* Setup a CI/CD pipeline for automated deployments
* Expose the application securely using Lets Encrypt certs
* Configure autoscaling in AKS to handle high load
* Extend to serverless using Azure Container Instances


Building resilient microservice applications with Dapr

Moving to microservices architecture brings with it a lot of complexity. Things like state management, service discovery and resilient service communication becomes very important and needs to be implemented properly when building distributed systems.

Dapr is a new portable, event-driven runtime that makes it easy for enterprise developers to build resilient microservices applications, by providing best practice implementations as building blocks that you can use in your distributed applications.

Join me in in this session to learn about how Dapr works, which problems it solves and how to get started with it.


Past and future events

Swetugg 2020

3 Feb 2020 - 4 Feb 2020
Stockholm, Sweden

CloudBrew 2019 - A two-day Microsoft Azure event

13 Dec 2019 - 14 Dec 2019
Mechelen, Flanders, Belgium

Update Conference Prague 2019

13 Nov 2019 - 15 Nov 2019
Prague, Hlavní město Praha, Czechia

2019 All Day DevOps

6 Nov 2019 - 7 Nov 2019

Microsoft TechDays 2019

22 Oct 2019 - 24 Oct 2019
Kista, Stockholm, Sweden

NDC Sydney 2019

14 Oct 2019 - 18 Oct 2019
Sydney, New South Wales, Australia

Swetugg 2019

7 Feb 2019 - 8 Feb 2019
Stockholm, Sweden

NDC London 2019

28 Jan 2019 - 1 Feb 2019
London, England, United Kingdom

Microsoft TechDays 2018

24 Oct 2018 - 25 Oct 2018
Kista, Stockholm, Sweden