Azure Friday: Safeguard your containerized workloads using AKS backupAzure Friday:

I am happy to share a new episode of Azure Friday. It was an honor to appear along side Senior Product Manager Rajat Shrivastava in this episode to talk about AKS Backup. I this episode we joined Scott Hanselman to explore the functionality of AKS backup in safeguarding containerized apps and their data on AKS.

Backup is frequently overlooked, only gaining significance when a failure necessitates recovery. In the realm of Containers and Kubernetes, it is often perceived as unnecessary. However, the reality is that backups are essential even for containerized environments. Microsoft has introduced a backup solution for Azure Kubernetes Service (AKS) and its workloads, leveraging Azure Backup.

In this episode we dove into the importance of backing up containers, even when they are predominantly stateless. The episode sheds light on why safeguarding containers is crucial and provides insights into the workings of AKS backup in ensuring the protection of workloads running on AKS.

In the episode we also explore questions you may have about backing up K8s and we dive into demos showing how to protect AKS with AKS backup and how to do a restore. We even took time to answer this common question “Do I really need to backup my K8s cluster if I am running stateless apps & have everything in code i.e. IaC, CI/CD, or GitOps?”. The answer is yes. In fact one should think of it this way: “GitOps & K8s Backup are like Seatbelts & Airbags”. Here is a graphic to break this down further:

You can check out the episode here:

Addtional resources on AKS and AKS Backup:
■ Backup for AKS: Cloud native, Enterprise ready, Kubernetes aware backup – https://aka.ms/azfr/766/01
■ What is Azure Kubernetes Service backup? – https://aka.ms/azfr/766/02
■ Cluster extensions – https://aka.ms/azfr/766/03
■ Prerequisites for Azure Kubernetes Service backup using Azure Backup – https://aka.ms/azfr/766/04
■ Create a Pay-as-You-Go account (Azure) – https://aka.ms/azfr/766/payg
■ Create a free account (Azure) – https://aka.ms/azfr/766/free

Read more

New Platform Engineering Course and Blog

Many organizations have embraced DevOps and adopted technologies like Kubernetes, cloud computing, and Infrastructure as Code (IaC) tools like Terraform or Pulumi. Despite these efforts, they often face challenges in delivering on the promises of DevOps and cloud-native. Platform engineering has emerged as the next step in the evolution, breaking down barriers and empowering developers to bring software to the market faster and more efficiently.

Recently I have been working on content to help educate and share my knowledge in this space. I am happy to announce two new pieces of content on Platform Engineering including a new course and a new blog.

Course: Platform Engineering: The Big Picture

Last week my 22nd course was published on Pluralsight! I am really excited about this course because it covers something that has been really hot in tech lately. It is about Platform Engineering. Platform Engineering has emerged as the next step in the evolution, breaking down barriers and empowering teams. Being someone that works with Kubernetes and cloud native this course was right up my alley because I work directly in this space.

The course is titled “Platform Engineering: The Big Picture“. This course will help you explore platform engineering and discover how it can elevate cloud-native development, making developers’ lives easier while achieving new heights in software delivery. Platform Engineering unifies and centralizes toolchains & workflows for self-service making developers’ lives easier while achieving new heights in software delivery.

In this course, you will gain an understanding about Platform Engineering, its benefits, architecture, tooling, workflow and how to adopt it.

Some of the major topics covered in the course include:

  1. A Platform Engineering overview and why it’s needed, how Platforms enhance DevOps and streamline cloud native.
  2. A comparison of DevOps, SRE, and Platform Engineering.
  3. You will learn about Platform Engineering Architecture, its tooling landscape, and Internal Developer Platforms.

Check out the “Platform Engineering: The Big Picture“ course here:

https://www.pluralsight.com/courses/platform-engineering-big-picture

I hope you find value in this new Platform Engineering course. Be sure to follow my profile on Pluralsight so you will be notified as I release new courses

Here is the link to my Pluralsight profile to follow me:

https://www.pluralsight.com/authors/steve-buchanan

Blog: 8 tools every platform engineer should know about

I am also excited to announce my second Platform Engineering-related blog post on Pluralsight. This one is titled: “8 tools every platform engineer should know about”. In Platform Engineering there are a lot of tools that can make up a platform. It can be confusing and hard to know what tools to focus on in the Platform Engineering space. In this blog post, I list 8 tools that are a must-know when you are in the Platform Engineering space.

👉 Read the blog post here:

https://www.pluralsight.com/resources/blog/it-ops/top-platform-engineering-tools

Read more

Azure Friday: Exploring Automated Deployments for AKS with Steve Buchanan and Scott Hanselman

Hey everyone, today I’m super excited to tell you about a recent episode of Azure Friday that I was lucky enough to be a guest on.

Azure Friday is a weekly video series hosted by the legendary Scott Hanselman, where he interviews experts and developers on various Azure-related topics. In this episode, we talked about Automated Deployments for AKS, a new feature that makes it super easy to deploy your apps to Azure Kubernetes Service.

If you’re not familiar with AKS, it’s a managed Kubernetes service that lets you run containerized applications on Azure without having to worry about the complexity of managing the cluster. It’s a great way to scale your apps and take advantage of the benefits of Kubernetes, such as high availability, load balancing, and service discovery.

But what if you’re not familiar with containers or Kubernetes? What if you just have some code in a GitHub repo and you want to run it on AKS? That’s where Automated Deployments for AKS come in. It’s a feature that simplifies the Kubernetes development process by taking care of the tedious work of containerization for you. It uses a tool called Draft, which automatically detects the language and framework of your app, creates a Dockerfile and a Helm chart for you, builds and pushes the image to Azure Container Registry, and deploys the app to AKS. All with just a few clicks in the Azure Portal.

Sounds amazing, right? Well, that’s what I wanted to show Scott in this episode. I had an app hosted in a GitHub repo that I wanted to run on AKS. The app was a simple web app that displayed some data from a database. I had already created a few resources in Azure, such as a resource group, an Azure Container Registry, and an AKS cluster. All I needed to do was use Automated Deployments for AKS to get this app from code to running on a cluster.

So how did it go? Well, you’ll have to watch the episode to find out. But spoiler alert: it was super easy and fast. In just a few commands, I went from code to an app running on AKS. Scott was impressed and so was I. We had a great time chatting about how Automated Deployments for AKS works under the hood, some of the benefits and limitations of using it, and how it can help developers get started with containers and Kubernetes.

Check out the episode here:

https://aka.ms/azfr/749

With Automated Deployments, Microsoft is opening up new avenues for developers to embrace the power of containers and AKS, enabling them to effortlessly build scalable and robust applications.

If you’re interested in learning more about Automated Deployments for AKS, you can check out the documentation here: https://learn.microsoft.com/en-us/azure/aks/automated-deployments. It’s available today in public preview, so you can try it out for yourself and see how easy it is to run your apps on AKS.

That’s all for today. I hope you enjoy this episode of Azure Friday as much as I did. It was an honor and a pleasure to be a guest on Scott’s show and talk about one of my favorite topics: Azure Kubernetes Service. If you have any questions or feedback, feel free to leave a comment or reach out to me on Twitter at @Buchatech. Thanks for reading and happy coding!

Read more

Combining Kubernetes Community and Careers

I was a guest on a very popular cloud podcast. This is one of the longest-running cloud podcasts around starting in 2011. It is the Cloudcast Podcast.

I was on episode #714 titled “Combining Kubernetes Community and Careers”. In this episode, I had a great time chatting with Aaron Delp about my journey in the Kubernetes community, building a personal brand through education and sharing, content creation, and maintaining a healthy work-life balance.

Here are the show notes breaking down the topics:

Topic 1 – Today we are going to be talking about careers and Kubernetes. Steve, welcome to the show! You have a super fascinating career journey, can you give everyone a quick introduction?

Topic 2 – I heard you over on the Kubernetes Unpacked podcast. First off, it’s hard to keep up with everything you are doing in the community these days. What is your current focus and passion? Have you reached 20 courses on Pluralsight yet?!

Topic 3 – How do you balance the day job (Program Manager for AKS) and the nights and weekends (PluralSight courses, blogging, podcasts, etc.)? Besides learning and sharing, what benefits are you seeing with this approach?

Topic 4 – I believe your journey parallels our journey here. We started the podcast to learn and give back to the community. Prior to the podcast, blogging was the big thing (we are completely aging ourselves I know) but I think it is safe to say blogging isn’t a primary source today. How would you recommend folks new to the industry get started sharing their journey? Where is the most “bang for your buck” these days?   

Topic 5 – Let’s talk about Kubernetes and specifically AKS, what are customers finding new and interesting? What are the leading solutions and integrations you see combined with AKS? How do you create a “stack” in AKS (GitHub Actions, Azure Container Registry, etc.)

You can listen to the full episode here:

https://www.buzzsprout.com/3195/12719684-combining-kubernetes-community-and-careers

Read more

Kubernetes Panel Event

In February Come Cloud With Us is hosting a Kubernetes panel with some of the industry’s BEST Kubernetes experts. I am honored and humbled to be one of the panelists. This panel consists of K8s experts from Dell, Google, Microsoft, Intercept, United Wholesale Mortgage, and Admincontrol. This is a global panel with panelists and hosts from the United States, Norway, United Kingdom, and Canada. Several of the panelists are also authors, Microsoft MVP’s and CNCF Ambassadors.

Here is a breakdown of the hosts and the panelists:

The hosts:

Abdul Kazi – Cloud Expert

Chris Gill – Cloud Expert and Microsoft MVP

The K8s Panelists:
Kristina Devochko – Microsoft Azure MVP
Kaslin Fields – Developer Advocate at Google
Kat Cosgrove – Lead Developer Advocate at Dell
Steve Buchanan – Principal Program Manager at Microsoft
Nills Franssens – Director of Digital and Application Innovation at Microsoft
Richard Hooper – Microsoft Azure MVP
Glen Belton – Kubernetes Platform Engineer

The panel will discuss Kubernetes and answer attendee questions. This will be a virtual event. This will be an event that you DON’T want to miss! Mark your calendars for the event on Thursday, February 16, 2023 4:00PM-5:30PM CST!

Register for the event here:

https://www.meetup.com/comecloudwithus/events/290494259

***Update

If you missed the live panel here is the recording for it:

Read more

Cloudbusting Podcast Guest EP130 – Diving into Jucy Lucy, & Root Canal’s with a little Kubernetes, Azure Arc, & GitOps on the side

This was a fun podcast with Jez Ward, and Dave Chapman of Cloudreach. They run a podcast called Cloudbusting. On the podcast they focus on transformation, leadership, ways of working and emerging technology they explore the significant impact that cloud is having on people and businesses.

On this podcast episode, we set out to answer very important questions such as what are Jucy Lucy’s?, what are root Canals like today? oh, and yeah we also spend some time talking about what Containers, Kubernetes, & GitOps are and how they fit in the cloud.

Check out the podcast episode here:

https://www.cloudreach.com/en/podcasts/diving-into-kubernetes-azure-arc-gitops-episode-130

Read more

New Rancher Course Published for Multiple Kubernetes Management

My 14th course has been published on Pluralsight! This course is titled “Getting Started with Rancher” and can be found here: https://app.pluralsight.com/library/courses/rancher-getting-started

With the growth of Kubernetes, the complexity & needs have also grown. IT Professionals need help with the operational & security challenges of managing Kubernetes clusters across multiple clouds, on-premises, & the edge.

My new course will teach you how to use Rancher for multi-Kubernetes cluster management, streamlining Kubernetes cluster deployments, & unified multi-Kubernetes cluster app management. When you’re finished with this course, you’ll have the skills and knowledge of Rancher needed for multi-K8s cluster management.

There is a learning path on Pluralsight focused on Kubernetes management. This is my 3rd course in the Kubernetes Management path titled “Kubernetes Tooling and Techniques” on Pluralsight. My other courses in the path are: “GitOps: The Big Picture” and “Getting Started with Argo CD“. You can get to the path using this link: https://app.pluralsight.com/paths/skills/kubernetes-tooling-and-techniques

Again you can check out my new Rancher course here: https://app.pluralsight.com/library/courses/mulesoft4-big-picture

I hope you find value in this new Getting Started with Rancher course. Be sure to follow my profile on Pluralsight so you will be notified as I release new courses related to Kubernetes and other topics! 

Here is the link to my Pluralsight profile to follow mehttps://app.pluralsight.com/profile/author/steve-buchanan

Read more

Pluralsight Author Talk – GitOps: The Big Picture

Coming up soon I will be giving my first Pluralsight Author Talk. This live session will be on GitOps. I will cover a fundamental understanding of GitOps, the need for GitOps, GitOps architecture, GitOps workflow, GitOps principles, practices, & tooling such as Flux, Argo CD, AND Jenkins X.

More information here: https://www.pluralsight.com/events/2021/delta-author-talk-q4

Read more

How to get started with SAP on Azure Including Hands-On

SAP is the #1 business software in the world. You will find SAP applications running in a majority of Fortune 500 companies powering their business. Becoming an expert in SAP is a great career move for anyone in tech and business.

Azure is a major cloud player in the public cloud space. Microsoft has done a lot of work to make Azure the best fit for running SAP in the public cloud. Becoming an expert in Azure is also a great career move.

Both SAP and Azure are in high demand and will be for the foreseeable future. Building a combined SAP and Azure skillset to become an SAP on Azure SME can have a huge positive impact on your career.

Considering the number of organizations that run SAP with most of them looking to migrate it to the public cloud or deploy SAP new on the public cloud means you would be a key to these organizations if you have SAP on Azure skills.

One of the challenges with SAP has always been-how can one get experience with it and get some hands-on with it? It is no secret that SAP is expensive and therefore is not the easiest to get access to for anyone that is ramping up on it. In this blog, I will highlight some options for learning SAP on Azure as well as how to get some hands-on with it.

First off Microsoft has an SAP on Azure certification. This is AZ-120: Planning and Administering Microsoft Azure for SAP Workloads. This certification is for anyone that wants to demonstrate knowledge of both SAP and Azure along with the ability to run SAP on Azure public cloud. If you are a SAP Basis person, on-premises SAP administrator, Azure administrator, sysadmin, cloud admin, solution architect, business analyst, and more then this certification and career path is for you. Skills measured by this AZ-120 exam include:

Migrate SAP Workloads to Azure
Create an inventory of existing SAP landscapes
Design a migration strategy
Design an Azure Solution to Support SAP Workloads
Design a core infrastructure solution in Azure to support SAP workloads
Design Azure infrastructure services to support SAP workloads
Design a resilient Azure solution to support SAP workloads
Build and Deploy Azure for SAP Workloads
Automate deployment of Virtual Machines (VMs)
Implement and manage virtual networking
Manage access and authentication on Azure
Implement and manage identities
Monitor SAP workloads on Azure
Validate Azure Infrastructure for SAP Workloads
Perform infrastructure validation check
Perform operational readiness check
Operationalize Azure SAP Architecture
Optimize performance
Migrate SAP workloads to Azure

One option for learning more about SAP on Azure is to check out my Pluralsight course on this here: https://app.pluralsight.com/library/courses/sap-azure-big-picture, check out this SAP on Azure book here: https://www.amazon.com/SAP-Azure-Implementation-Guide-business/dp/1838983988, and this blog post with more info on the SAP on Azure certification here: https://app.pluralsight.com/guides/cloud-certifications-:-azure-for-sap-workloads-specialty-(az-120).

Now comes the hands on part with SAP!

SAP Docker Containers:

SAP has some express and developer editions of their software available as Containers. These are hosted on Dockerhub. It’s really cool that that SAP has made some of their solutions available as Docker containers. This makes it really easy to spin up the solutions and get started with them right away without having to load a server and install the SAP software. All you need is Docker Desktop to run these locally.

You could also run these containers in the cloud as well. It is critical to note that you still need a considerable amount of resources (CPU, RAM, Disk space) to support running the SAP solutions as containers. Do not cut corners on this. Allocate the required amount of resources. Overall this is a great option if you want to get the SAP software up and running as fast as possible to focus on getting hands-on with the SPA software itself. Here are the container options:

Full SAP software Trials and Downloads:

This option is a full download of the SAP software that you install on a virtual machine running in Azure. As opposed to the SAP containers you will need to go through the process of deploying a VM, configuring any prereqs, and then installing the SAP software. Overall if you want to get the experience of configuring the VM’s and installing the SAP software then this is a great option. Here is the option:

Azure Cloud Options:

The first option SAP Cloud Appliance Library (SAP CAL) is a service from SAP that allows you to select a preconfigured SAP solution on your cloud of choice letting SAP deploy the SAP solution in your cloud subscription for you. This option includes trials of the SAP software. This a great option to get hands-on experience in Azure. It does not help you gain experience with deploying and configuring the Azure estate though and that is something you will need to do on a real project.

The last two options will take you through the journey of using Infrastructure as Code (IaC) to deploy the estate needed to support SAP running in the cloud, the VM’s that will run the SAP software, and deployment of trial SAP software.

Overall the first option SAP CAL is a great way to quickly get started with SAP on Azure and see what the experience is like. The last two options are the best giving you hands-on both with Azure and with SAP the closest you will get to the real world. 

  • SAP Cloud Appliance Library (SAP CAL)
    • SAP CAL is an online library of preconfigured and ready-to-use SAP solutions on a trial basis. SAP CAL gives you a quick & easy way to spin up SAP solutions directly in Azure and other clouds. It includes SAP S/4HANA, SAP HANA Express Edition, and more. 
    • https://cal.sap.com
  • Infrastructure as Code to deploy SAP in Azure
  • SAP Deployment Automation Framework
    • Terraform to deploy the architecture needed for SAP and the SAP virtual machines. Ansible to configure the virtual machines and install the SAP on Azure software.

That brings us to the end of this blog post. I hope you find this helpful with tips on how to get started with SAP on Azure including some hands on! Thanks for reading.

Read more

Use Azure Container Registry with Azure Kubernetes Service

When working with Containers a common need is to store Container images somewhere. Container Registries are the go-to for this. Docker hub is an example of a Container Registry and it is the most well-known Container Registry.

What is a Container Registry?

A Container Registry is a group of repositories used to store container images. A container repository is used to manage, pull or push container images. A Container Registry does more than a repository in that it has API paths, tasks, scanning for vulnerabilities, digital signature of images, access control rules and more.

Container registries can be public or private. For example, a public registry is Docker Hub and anyone can access its container repositories to pull images. A private registry is one that you would host either on-premises or on a cloud provider. All of the major cloud providers including Azure has a Container Registry offering.

Integrate ACR with AKS

With AKS it is a good idea to use a private container registry to host your container images. The process is used Docker to build your image>push the image to your Azure Container Registry>Pull the image from the registry when deploying a Pod to your AKS cluster.

There are 3 ways to integrate AKS with Azure Container Registry. I typically only use one way and will focus on that in this blog post.

2 of the ways you can integrate AKS with Azure Container Registry. The first is through an Azure AD service principal name (SPN) that assigns the AcrPull role to the SPN. More on this here. You would use this first way in scenarios where you only have one ACR and this will be the default place to pull images from.

The second is to create a Kubernetes ServiceAccount that would be used to pull images when deploying pods. With this you would add “kind: ServiceAccount” to your Kubernetes cluster and it would use the ACR credentials. Then in your pods yaml files you would need to specify the service account for example “serviceAccountName: ExampleServiceAccountName”.

The way I like to integrate AKS with Azure Container Registry is to use Kubernetes Secret of type docker-registry. With this option basically, you create a secret in the Kubernetes cluster for your Azure Container Registry. You then specify the secret in your pod yaml files. This allows you to have multiple container registries to pull from. This option is also quick and easy to setup.  Ok.

To get started you need to build your Docker image and push it up to your Azure Container Registry. In this blog post, I will not cover deploying ACR, or building the Docker image assuming you have already done these things. Now let’s set up the ACR and AKS integration using a docker-registry Kubernetes secret.

1. For the first step, you will need the credentials to your Azure Container Registry. To get this go navigate to:

Azure Portal (portal.azure.com) > Container registries > YOURCONTAINERREGISTRY | Access keys

2. The second step push your Docker image up to your ACR.

# Log into the Azure Container Registry
docker login ACRNAMEHERE.azurecr.io -u ACRUSERNAMEHERE -p PASSWORDHERE

# Tag the docker image with ACR
docker tag DOCKERIMAGENAMEHERE ACRNAMEHERE.azurecr.io/DOCKERIMAGENAMEHERE:v1

# Push the image to ACR
docker push ACRNAMEHERE.azurecr.io/DOCKERIMAGENAMEHERE:v1

3. The third step create the docker-registry Kubernetes secret by running following syntax from Azure Cloud Shell:

kubectl create secret docker-registry NEWSECRETNAME --docker-server ACRNAMEHERE.azurecr.io --docker-username ACRUSERNAMEHERE --docker-password YOURPASSWORDGOESHERE

4. The fourth step is to create the Yaml file for your pod. The following is an example:

apiVersion: v1
kind: Pod
metadata:
  name: myapp
spec:
  containers:
  - name: myapp
    image: ACRNAMEHERE.azurecr.io:myapp:v1
  imagePullSecrets:
  - name: NEWSECRETNAME

The following is an example of a yaml file with a service, deployment, and pod:

apiVersion: v1
kind: Service
metadata:
  name: eotdservice
spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: eotd
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: eotddeployment
  labels:
    app: eotd
spec:
  replicas: 4
  selector:
    matchLabels:
      app: eotd
  template:
    metadata:
      labels:
        app: eotd
    spec:
      containers:
      - name: eotd   
        image: ACRNAMEHERE.azurecr.io/eotd:v1
        imagePullPolicy: Always
        ports:
        - containerPort: 80
      imagePullSecrets:
       - name: NEWSECRETNAME

5. The fifth and final step is to deploy the pod to your AKS cluster by running the following syntax from Azure Cloud Shell.

kubectl apply -f YOURPODNAME.yaml

That wraps up this blog post. Thanks for reading and happy containerizing!

Read more