Senior Customer Engineer @ Microsoft
Tampa, Florida, United States
Chris is a Senior Customer Engineer on the Fast Track for Azure team at Microsoft. Chris is an organizer for DevOpsDays Tampa Bay, Tampa Bay DevOps, and Tampa.Devs. 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
With the growing demand for web applications, developers face challenges in ensuring their ASP.NET Core apps on Azure scale efficiently to meet traffic spikes without compromising on performance and cost. When scaled apps aren't configured with Data Protection or caching, they can experience intermittent errors. This inconsistency arises as instances don't share the same resources, and user requests aren't always directed back to the same instances.
In this session, attendees will learn the steps to set up a horizontally scalable ASP.NET Core project on Azure. They will be introduced to techniques to deploy, scale, and troubleshoot their app seamlessly. The talk will also cover key configurations for ensuring secure form submissions, managing centralized caching and state. Additionally, attendees will understand the best practices in utilizing Azure resources such as Azure Cache for Redis and Azure storage for optimal scalability.
Don't let your app's performance lag behind its potential. Join us to unlock the secrets of scaling ASP.NET Core apps on Azure and stay ahead of the demand curve!
The rapid rise of microservices and cloud-native applications underscores a pressing opportunity for developers: achieving seamless scalability, portability, and amazing efficiency for .NET applications.
In this session, participants will be taken on a journey into the heart of containerizing .NET applications. From understanding the core tenets of container orchestration to discovering the secrets of achieving peak application performance within a container, this talk is a deep dive into the world of .NET and containers. We'll also touch upon ensuring top-notch security in a containerized ecosystem, and how to best leverage tools and technologies to supercharge your .NET container deployment.
Don't miss this opportunity to redefine your .NET development paradigm. Join us and be part of the container revolution, ensuring your .NET applications are future-ready!
As the adoption of cloud-native technologies accelerates and software delivery cycles shorten, traditional infrastructure management methods are proving inadequate. GitOps, a cutting-edge approach leveraging Git-based workflows for Infrastructure as Code (IaC), emerges as an effective solution for managing cloud infrastructure consistently, automatically, and auditably.
This session explores GitOps' fundamentals, illustrating how it reshapes cloud infrastructure management. We'll first decode GitOps' central concepts, contrasting its advantages over conventional infrastructure management practices.
We'll further spotlight the best practices and common pitfalls during an organization's GitOps adoption. Whether you're an infrastructure engineer, a DevOps practitioner, or a cloud native enthusiast, this talk offers valuable insights into GitOps and its potential to drive operational excellence in the cloud.
Playwright is a framework for building end-to-end tests for modern web applications that are resilient and run on any browser, any platform, and is cross language. Playwright tests are easy to author, fast to execute, and run on all popular web browsers.
In this session, we'll cover the basics of Playwright, create a new React project from scratch, and create end-to-end tests. We'll add them to our CI process so that the tests run automatically.
After this session, you'll understand why and how to use Playwright to test your applications.
In the dynamic world of software development, the concepts of Site Reliability Engineering (SRE), DevOps, and Platform Engineering have become increasingly prevalent, often used interchangeably and causing confusion among practitioners and organizations. This talk aims to demystify these terms and provide a clear understanding of their distinctions, objectives, and best practices for successful implementation.
We will begin by exploring the origins and core principles of each discipline, highlighting the differences in their focus and approaches. We will discuss how SRE emphasizes the reliability, scalability, and performance of software systems, while DevOps concentrates on bridging the gap between development and operations teams for seamless collaboration and continuous delivery. Moreover, we will examine how Platform Engineering focuses on creating robust, reusable infrastructure to empower developers to build, deploy, and operate their applications efficiently.
Join us for an enlightening journey into the world of SRE, DevOps, and Platform Engineering, and learn how to harness their potential to drive innovation, agility, and excellence in your software development lifecycle.
Delivering engaging presentations is essential for effective communication, yet traditional tools often hinder creativity and teamwork. Presenters grapple with rigid interfaces, limited sharing options, and the absence of version control—leaving them longing for a more agile and innovative solution. Fortunately, the answer lies in MARP, the trailblazing presentation tool that transforms the way we create and collaborate on slides. By harnessing the elegance of Markdown syntax and integrating with modern development workflows, MARP empowers you to craft visually stunning slides with unparalleled ease and efficiency.
In this session, we'll introduce you to MARP, the game-changer for presentation creation. We'll demonstrate how MARP's intuitive features, such as real-time preview, customizable styles, and integration with Visual Studio Code, revolutionize the slide-making process. But the innovation doesn't end there—MARP's compatibility with Git and GitHub Pages opens the door to even greater possibilities. Imagine hosting your presentations on GitHub Pages for easy sharing and automating updates with GitHub Actions—effortless and accessible presentations are now within reach!
Join us as we explore the full potential of MARP and guide you through the process of creating, hosting, and automating your slides. We'll delve into practical use cases, live demos, and best practices for using MARP in conjunction with GitHub Pages and GitHub Actions. Whether you're a developer, a technical writer, or an educator, this session will equip you with the knowledge to elevate your presentations and communication skills. Say goodbye to presentation woes and embrace the future of slide creation with MARP.
Infrastructure as Code is a methodology that is important in DevOps,. There are many flavors of IaC. During this session we’ll compare and contrast the different technologies and methodologies.
We will walk through a solution multiple times showing how things are implemented in each one and build / release the workflow.
After this session you'll understand:
- The Basics of IaC and IaC Workflows
- What is ARM, Bicep and Terraform
- How ARM, Bicep and Terraform Compare
Kubernetes is a platform many organizations choose for running scalable, reliable applications. However, configuring and running applications on Kubernetes can be complex and filled with pitfalls.
This session will focus on Kubernetes resiliency, from the Infrastructure to Components to the Applications themselves. We will talk about Kubernetes in general as well as AKS on Azure. We will talk about:
- Single points of failure
- Availability zones
- Node pools
- API server
- Pod disruption budgets
- Resource requests and limits
- liveness and readiness probes
After this session, you will know the things to look for in a cluster, and how to ensure your cluster and applications are more resilient.
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 JMeter tests with the Azure Load Testing service
- Learn how to integrate Infrastructure as Code and Continuous Load Testing on GitHub Actions
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
- Service Invocation
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.
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
- Private Registries
- CI/CD for Infrastructure as Code
- Repo structure and layout
After this Session you have the concepts and skills needed to build your infrastructure using Bicep.
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.
Running containers locally
Using container registries
Kubernetes Secrets and Network Policies
Kubernetes Persistent Volumes
Readiness and Liveness Probes in a Kubernetes cluster
Using Applications Logs
Upgrade and Rollback Applications
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
The Options Pattern
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
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.
- Practice Methodology
- Microsoft Certifications
- Linux Foundation Certifications
- Cloud Native Foundation Certifications
- Test Taking Tips
- Testing Center vs Taking it at home
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
- Port Forwarding
- Installing software
Dev Containers currently require:
VS Code Remote Containers extension
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 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.
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.
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.
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.
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
- Job Dependencies
- Matrix Builds
- Deployments to Container Registries & Azure
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.
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?
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
Cloud With Chris Upcoming
TechBash 2023 Upcoming
2023 All Day DevOps Upcoming
NDC Porto 2023 Upcoming
Techorama Netherlands 2023 Upcoming
BSides Orlando 2023 Upcoming
Securely deploying Infrastructure as Code
Starting an Allyship Journey
Working with Dev Containers
Organizer for DevOpsDays Tampa Bay
Building in the Cloud with Bicep
Feature Flags - The Art of the IF and Deployment
.NET Virtual Conference 2022
Feature Flags - The Art of the IF and Deployment
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
What is DevOps? - A discussion of what DevOps is and how everyone can benefit and participate in it.
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.
Azure DevOps - How and Why we want to close our feedback loops and enable faster development using Azure DevOps.
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.
Dependency Injection and Unit Testing in .Net Core - Looking at industry best practices as well as Unit Testing and mocking our .Net Core projects.
Good Software Development Practices - A discussion of the best practices in architecture and coding practices, including design patterns, naming, coding standards and more.
Application Insights – A Deep Dive - Diving in to how to leverage Application insights in your MVC and Angular applications.
Dependency Injection and Unit Testing
Unit Testing - How to write and name effective unit tests. Mocking, Faking, and using dependency injection.
Raspberry PI - Developing applications on the Raspberry Pi and using pins to communicate with sensors and motors.
Senior Customer Engineer @ Microsoft
Tampa, Florida, United States