Speaker

Chris Ayers

Chris Ayers

Senior Customer Engineer @ Microsoft

Tampa, Florida, United States

Chris is a Senior Customer Engineer on the Fast Track for Azure team at Microsoft. He has a focus in modern applications built with DevOps, microservices, containers, Single Page Apps, RESTful APIs, and cloud technologies following agile practices. In his free time, Chris is a speaker at numerous meetups, an avid reader and a gamer.

Area of Expertise

  • Information & Communications Technology

Topics

  • .net
  • .net core
  • ASP.NET
  • Microsoft Azure
  • Powershell
  • MVC
  • Angular
  • devops
  • Microsoft Azure DevOps
  • Cloud & DevOps
  • DevOps Journey
  • DevOps Skills
  • Azure DevOps
  • DevOps & Automation
  • dotNet
  • dotnet core
  • Testing
  • ASP.NET Core
  • Raspberry Pi
  • IoT
  • Azure Key Vault
  • Git
  • GitHub
  • GitHub Actions
  • Containers
  • Containerization
  • Kubernetes
  • Azure Kubernetes Services (AKS)
  • Terraform
  • Bicep
  • Azure Bicep
  • ARM Templates
  • Security
  • Cloud App Security
  • Application Security
  • Azure Security

Continuous Load Testing with GitHub Actions

Load Testing is an important part of our solutions. I've seen many organizations save that until right before release, which can lead to major issues and increased costs. Just like with security, we should shift-left on testing and incorporate it into our DevOps processes. By combining ephemeral environments through Infrastructure with Code and automated testing, we can reduce costs while increasing our confidence in our solutions.
After this session you will learn:
- Understand Manual Testing vs Testing in pipelines
- Review the typical problems with load testing
- Learn how to create and utilize Selenium tests with the Azure Load Testing service
- Learn how to integrate Infrastructure as Code and Continuous Load Testing on GitHub Actions

DAPR - Building Distributed Applications

Dapr is a new runtime that helps build microservice applications. It provides building blocks built on best practices for building platform agnostic microservices.
After this session you will know
- What is Dapr and what does it solve?
- How to install Dapr locally and in a cluster
- How to use the Dapr Building blocks
- State Management
- Pub / Sub
- Secrets
- Input/Output
- Service Invocation

Securely deploying Infrastructure as Code

We routinely scan our code for vulnerabilities, but what about our infrastructure? Our infrastructure as code can have as many secrets as our codebase. Many organizations are using Terraform with automated pipelines like GitHub Actions. How do we automatically scan our Terraform modules for misconfiguration or secrets? How can we configure Terraform to store state securely in the cloud for each environment?

During this session we will examine how to leverage open source tools to:
Scan for security and configuration issues using tools like tfsec, terrascan, and checkov
Securely configure Terraform backends like AzureRM
Securely pass variables and input into Terraform
Securely deploy Terraform to clouds like Azure

After this session you will have the tools and examples to securely deploy terraform to the cloud.

Building in the Cloud with Bicep

Infrastructure as Code (IaC) is a vital part of the operational excellence we strive for in modern scalable solutions. IaC allows us to create repeatable environments and reduce environmental drift.
There are many flavors of IaC supporting Azure: ARM, Bicep, and Terraform.
Bicep simplifies the authoring experience over ARM with a cleaner syntax, improved type safety, and better support for modularity and code re-use. Bicep also differs from Terraform in how state is managed, simplifying the deployments.

In this session, we’ll cover:
- Bicep Basics and Advanced Topics
- Parameters and variables
- Conditionals
- Loops
- Modules
- Private Registries
- CI/CD for Infrastructure as Code
- Repo structure and layout
- Deployment

After this Session you have the concepts and skills needed to build your infrastructure using Bicep.

Hands-On with Docker and Kubernetes

This workshop will be hands on along with presentations and demos. We’ll cover the basics and more advanced topics, starting with the fundamentals of containers and moving onto Kubernetes, attendees will learn how to create containers and run them on Kubernetes.

This workshop is great for attendees who are beginners to containers but also relevant to those with some knowledge of containers/docker and have heard of Kubernetes but not really worked with it.

Docker fundamentals
Running containers locally
Using container registries
Kubernetes fundamentals
Networking concepts
Kubernetes Secrets and Network Policies
Kubernetes Persistent Volumes
Readiness and Liveness Probes in a Kubernetes cluster
Using Applications Logs
Upgrade and Rollback Applications

.NET Configuration In Depth

Working as a consultant, something I often saw was teams moving from .NET Framework to .NET Core and .NET 5/6. As they adopted these new versions, they kept similar patterns and libraries. The teams weren't taking full advantage of the improvements in .NET. One of those areas is Configuration.

Configuration holds our secrets, connection strings, application settings, and other data. We have checked it in, stored it in a web.config and transformed it in a pipeline. Today there are a variety of ways to configure our applications securely.

This session will cover:
Strongly typed configuration
Configuration providers - JSON, XML, INI files; Environment variables; Command Line;Azure App Config; Key Vault
Dependency Injection
The Options Pattern

Feature Flags - The Art of the IF and Deployment

Feature flags have gained a lot of popularity with the rise of cloud-native applications. Feature Flags help increase agility, allowing you to deploy new features into a production environment for selected users. Feature Flags allow you to release features without restarting the app or deploying new code. They separate the release of new features from their code deployment.

After this session you'll not only be able to start implementing feature flags, but you'll also want to separate your releases from your deployments. You will understand:
- What feature flags are
- The types of feature flags
- Operationalizing Feature Flags
- Best practices around feature flags
- Implementing feature flags using
- Azure Application Configuration
- Launch Darkly

How I study for and Pass Certifications

Some people are good test takers, others aren’t. Leveraging the tools and resources available you can increase your chances of passing your next certification. During this session I’ll go over how I study and prepare for certifications.
We’ll cover:
- Resources
- Free
- Paid
- Practice Methodology
- Microsoft Certifications
- Linux Foundation Certifications
- Cloud Native Foundation Certifications
- Test Taking Tips
- Testing Center vs Taking it at home

Dev Containers in VS Code

The future on development is in dev containers: reproducible, versioned development environments that run on any machine with a Docker installation (Win/Mac/Linux).
If you want all users of your project to have a consistent, customized environment, dev containers can be added to your repositories. Dev Containers make onboarding new developers easy while reducing the time to get started.

After this session, you will be able to:
- Understand what dev containers are
- Know how to add and configure dev containers for a project
- Tool Installation
- Extensions
- Port Forwarding
- Installing software

Dev Containers currently require:
VS Code
VS Code Remote Containers extension
Docker Desktop

Devops is more than just Dev and Ops

DevOps is so much more than just a DevOps engineer or a DevOps team. You can do DevOps activities like automation or CI/CD without understanding the why of DevOps. We'll dive into why and how of DevOps and how it will benefit everyone in the organization. You'll walk away with a clear understanding of what devops is, how everyone in an organization can play a part with a production first, iterative mindset, and where to get started.

Monitoring and Troubleshooting with Azure Application Insights

Monitoring and troubleshooting a live, production application is vital. One of the most stressful things a team can do, is trying to diagnose a distributed system without adding to the disruptions. Application Insights, part of Azure Monitor, is a tool that can you can plug into your applications to get the data you need. It goes far beyond a simple, logging solution by automatically detect performance anomalies and providing a live view into your applications.

We will cover how to enable Application Insights in our applications, both on prem, or in the cloud. I'll share examples in C#, JavaScript, and Python. We'll explore the integrations with DevOps and development tooling. Together we’ll look at the way Application Insights provides a deep view into application performance, errors, and usage. Finally, we’ll look at how to detect anomalies before they become complete outages and get alerted.

After this session, you'll be able to use Application Insights to help you continuously improve performance and usability. When issues arise, you'll have the insights to resolve problems quickly.

Monitoring and troubleshooting a live, production application is vital. One of the most stressful things a team can do, is trying to diagnose a distributed system without adding to the disruptions. Application Insights, part of Azure Monitor, is a tool that can you can plug into your applications to get the data you need. After this session, you'll be able to use Application Insights to help you continuously improve performance and usability. When issues arise, you'll have the insights to resolve problems quickly.

Automate Azure DevOps

Need to setup a new project? Script and automate the creation of repos and git ignore files. Create your build pipelines, branch policies and release in a repeatable manner. Let's examine the Azure cli devops extension and REST apis to find out how to script almost everything in Azure DevOps.

Git Good with Advanced Git

Most of us use git every day, but how well do you know one of your most important tools besides cloning, committing, and pull requests? Are you comfortable rebasing? Do you really know the difference between Resetting or Reverting? Lets 'stash' some info and learn all the advanced features of one of our most used tools.

CI/CD with Github Actions

Learn about building and deploying applications using Github Actions. We will learn diverse ways to trigger our builds and build different types of applications.
We will work up from basics and fully understand how workflows run, how to select and call different actions, and how to handle configuration and secrets.
After this session you'll be able to build and deploy your software from GitHub. You will understand:
- GitHub Actions Runners
- YAML workflow syntax
- Workflow Triggers
- Variables
- Job Dependencies
- Conditionals
- Matrix Builds
- Outputs
- Environments
- Secrets
- Deployments to Container Registries & Azure

Dependency Injection and Unit Testing in .Net

A dive into dependency injection in .Net and ASP.Net applications. Followed by how dependency injection enables unit testing in .Net and EF core. Code examples of how to unit test at the controller, service, and data layers.

Starting an Allyship Journey

As someone that has been in my field for over two decades, it's hard not to notice that many of my coworkers have looked like me. Having diverse teams means we can more effectively learn from each other. Everyone has a different point of view, and by recognizing that and embracing it, we can drive creativity, innovation, productivity, performance, and personal relationships.

Learning about different cultures, races, genders and lifestyles makes me thankful for the opportunities I've had. I've also learned to recognize the challenges others face.

I choose to be an ally; a person who makes an intentional decision to understand, empathize, and act in support of others. Diversity and Inclusion happens one person at a time. Change happens one person at a time. Let's talk about taking those first steps.

- Why Me?
- How do I get started?
- Unconscious Bias
- What is Covering?
- What is Allyship?

Terraform on Azure

Using Terraform on Azure, using the AzureRM provider, has historically lagged a little behind some of the native Azure ARM APIs. Microsoft has released a new provider for Terraform, the AzApi provider that is a thin layer over the ARM Apis.
This will session will:
- cover the differences between the AzureRM and AzAPI Providers
- Authenticating to Azure
- Working with resources
- Working with state and AzApi
After this session you understand the new provider and why you might want to leverage this in your solutions.

Come Cloud with Us User group Upcoming

Not scheduled yet.

Cloud With Chris Upcoming

December 2023

DeveloperWeek 2023 Upcoming

February 2023 Oakland, California, United States

NDC Security 2023 Upcoming

January 2023 Oslo, Norway

CodeMash 2023 Upcoming

January 2023 Sandusky, Ohio, United States

Granite State Code Camp 2022

November 2022 Manchester, New Hampshire, United States

TechBash 2022

November 2022 Mount Pocono, Pennsylvania, United States

.NET Conf 2022

November 2022

DevOpsDays Tampa Bay

Organizer for DevOpsDays Tampa Bay

October 2022 Tampa, Florida, United States

Momentum 2022

October 2022 Cincinnati, Ohio, United States

#TampaCC

October 2022 Tampa, Florida, United States

Code PaLOUsa 2022

August 2022 Louisville, Kentucky, United States

KCDC 2022

August 2022 Kansas City, Missouri, United States

Azure Day Rome 2022

June 2022 Rome, Italy

CodeStock 2022

April 2022 Knoxville, Tennessee, United States

Microsoft Azure + AI Conference Spring 2022

April 2022 Las Vegas, Nevada, United States

DeveloperWeek 2022

February 2022 Oakland, California, United States

.NET Virtual Conference 2022

January 2022

Automation + DevOps Summit

November 2021 Nashville, Tennessee, United States

KCDC 2021

September 2021 Kansas City, Missouri, United States

Music City Tech 2021

September 2021

Code PaLOUsa 2021

August 2021

Cloud Lunch and Learn

January 2021

Orlando Codecamp & Tech Conference 2020

March 2020 Sanford, Florida, United States

Azure Advent Calendar

Video posted at: https://www.youtube.com/watch?v=W-i6s46uxdM&t=1s

December 2019 Tampa, Florida, United States

Tampa Code Camp 2019

Automate Azure DevOps - https://speakerdeck.com/cayers/automate-azure-devops
DevOps Is More Than A Title - https://speakerdeck.com/cayers/devops-is-more-than-a-title

October 2019 Tampa, Florida, United States

philly.NET Code Camp 2019.2

October 2019 Malvern, Pennsylvania, United States

Tampa Bar Camp 2019

What is DevOps? - A discussion of what DevOps is and how everyone can benefit and participate in it.

October 2019 Tampa, Florida, United States

Global DevOps Bootcamp

Local Keynote - Global DevOps Bootcamp is a global event that will be held on Saturday June 15th and is all about DevOps on the Microsoft Stack. Centrally organized by Xpirit and Solidify and offered to you by Nebbia Technology. During this 1-day event we will join (Microsoft) DevOps communities all around the world to talk, learn and play with DevOps concepts.

June 2019 Orlando, Florida, United States

Azure Global Bootcamp

Azure DevOps - How and Why we want to close our feedback loops and enable faster development using Azure DevOps.

April 2019 Tampa, Florida, United States

Orlando Code Camp

Application Insights - A discussion of what Application Insights can do, and how you can leverage it in your applications. There will be some demos in the Azure Portal as well as Visual Studio and Visual Studio Code in ASP.

March 2019 Orlando, Florida, United States

The .NETwork

Dependency Injection and Unit Testing in .Net Core - Looking at industry best practices as well as Unit Testing and mocking our .Net Core projects.

February 2019 Tampa, Florida, United States

Tampa Code Camp 2018

Functional Programming - Pure functions and the benefits of functional programming in C# and Javascript.
Good Software Development Practices - A discussion of the best practices in architecture and coding practices, including design patterns, naming, coding standards and more.

October 2018 Tampa, Florida, United States

Tampa Azure Meetup

Application Insights – A Deep Dive - Diving in to how to leverage Application insights in your MVC and Angular applications.

September 2018 Tampa, Florida, United States

Tampa Code Camp 2017

Dependency Injection and Unit Testing

October 2017 Tampa, Florida, United States

Tampa Bar Camp 2017

Unit Testing - How to write and name effective unit tests. Mocking, Faking, and using dependency injection.

October 2017 Tampa, Florida, United States

Tampa Bar Camp 2016

Raspberry PI - Developing applications on the Raspberry Pi and using pins to communicate with sensors and motors.

October 2016 Tampa, Florida, United States

Chris Ayers

Senior Customer Engineer @ Microsoft

Tampa, Florida, United States