Senior Customer Engineer @ Microsoft
Tampa, Florida, United States
Chris is a Senior Customer Engineer on the Fast Track for Azure team at Microsoft, where he showcases his profound expertise in DevOps and cloud technologies. As a key organizer for DevOpsDays Tampa Bay and Tampa Bay DevOps, he plays a significant role in shaping the tech community in Tampa Bay. Furthermore, Chris's involvement with Tampa.Devs emphasizes his unwavering commitment to the local developer ecosystem. Specializing in modern applications built with DevOps principles and Azure cloud services, his knowledge also encompasses DevOps culture, CI/CD processes, infrastructure as code, cloud-native solutions, and DevSecOps. This ensures a comprehensive approach to development, security, and operations. Beyond his professional endeavors, Chris is a sought-after international speaker at various meetups/conferences, an avid reader, and an enthusiastic gamer.
Area of Expertise
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!
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
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.
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
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
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
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?
Come Cloud with Us User group Upcoming
NDC Sydney 2024 Upcoming
Granite State Code Camp 2023 Upcoming
Cloud With Chris Upcoming
Festive Tech Calendar 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