Azure MVP - Doing cloudy DevOps things at Active Solution
Jakob Ehn works as a Cloud architecture and DevOps specialist at Active Solution. For more than 20 years, has has been building software solutions, educating developers and teams on Microsoft technologies through training, books, and conference talks.
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, Techorama, DevSum, CloudBrew, UpdateConf and SweTugg.
Area of Expertise
OpenAI and their language models GPT-3/4 has taken the world with storm. ChatGPT made the technology accessible and usable by anyone.
Developers can build applications on top of these large language models, in many cases we can quickly implement functionality that used to be very time consuming and expensive. Performing tasks such as text classification, summarization, sentiment analysis or generating new content is now available at your fingertips.
Join me for this session where you will get up to speed on how to build applications that uses the power of theses GPT models, with the Azure OpenAI Service. We'll discuss various options for how you can use Azure OpenAI Service with your own data.
Since the Microsoft acquisition, GitHub is investing heavily in Enterprise-grade features. A core feature is of course continuous integration and continuous delivery (CI/CD) which is now possible with GitHub Actions.
GitHub Actions makes it easy to automate software workflows, including CI/CD. These workflows can be triggered by any GitHub event such as a push, issue creation or a pull request.
Join me in this session to learn about the core features of GitHub Actions and how to build, test and deploy your code right from GitHub
Want to be able to work from anywhere, from any computer? Wouldn't it be nice to get started on a new project without having to install anything on your local machine, just have everything setup for you in a few minutes? And still have all the power that you are used to from your IDE.
Then dev containers and Github Codespaces are for you. Dev containers lets you specify your development environment as code, that anyone on your team can spin up and get started working on in a few seconds.
GitHub Codespaces then take this to the next level and lets you run your development environment in the cloud, just click a button and you have a new isolated development environment up and running in less than a minute! It's fully customizable, and you can still use VS Code as your IRDE just like you are used to.
Join me in this session and learn how you and your teams can benefit from using dev containers and GitHub Codespaces in your daily work
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!
GitHub is not just for your code!
It offers features for the whole software lifecycle, such as planning your work with GitHub Issues, building and shipping apps with GitHub Actions and state of the art security tools that will keep your code secure.
Add the ability to code in the cloud using GitHub Codespaces and you have an innovative and powerful collaboration platform for both individuals and teams
Join me in this session for a lap around all of the major features of GitHub
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.
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 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
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
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
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.
Azure MVP - Doing cloudy DevOps things at Active Solution