GitHub needs no introduction as the world's premier source code repository. However, over the past several years GitHub has transformed well beyond a great tool for managing source code. It now provides a compelling onestopshop of capabilities as part of its platform that enables you to cut loose your disparate jungle of other tooling. Being aware of and learning how to effectively use this Swiss Army Knife of GitHub capabilities can substantially reduce your overall development costs while also reducing your team's cognitive overhead.
Join us for an exciting session where we dive deep into the GitHub toolchain, designed to supercharge developer productivity and unite your teams around a powerful engineering platform. Discover how to optimize pull request lifecycles with protected branch configurations, organizational rulesets, and merge queues. We'll also delve into security vulnerability detection using Dependabot and GitHub Advanced Security Code Scanning workflows that developers will love. Don't miss this opportunity to transform your development process and take your GitHub skills to the next level!
In this session we'll take a tour of some features that you might or might not have heard of, but can significantly improve your workflow and day-to-day interaction with Git.
Git continues to see improvements daily. However, work (and life) can take over, and we often miss the changelog. This means we don't know what changed, and consequently fail to see how we can incorporate those in our usage of Git.
In this session we will look at some features you are probably aware of, but haven't used, alongside new features that Git has brought to the table. Examples include:
By the end of this session, you will walk away with a slew of new tools in your arsenal, and a new perspective on how this can help you and your colleagues get the most out of Git.
In the past decade, most organizations have invested in DevOps, and by now many of those efforts have failed to meet expectations of the executive sponsors. Organizations have brought in the latest and greatest tools and often sped up their development process without seeing a clear benefit. Some invested in culture only to see collaboration wane and any progress stall. The DevOps pendulum swings between focus on technology and culture. The buzzwords, rituals and tools keep changing, but the results often seem to worsen over time.
Optimizing any one part of a system is often suboptimal for the whole system. The goal should never be to adopt but to adapt to the opportunities and challenges of our organizations, but what are those? This talk will give attendees a framework to analyze the flow of work through their unique sociotechnical system, to understand the specific flow of value and propose metrics to identify and prioritize iterative improvements. The presentation will be technology agnostic but will focus on mapping capabilities that appropriate technical tools and skills should achieve together.
Continuous Delivery extends the spirit of agility, from development to production, in order to keep pace with the fast changing business demands. In order to succeed in that spirit to keep up with change, we need to bring in several sustainable practices. Without proper discipline and rigor the efforts for continuous deliver can soon turn into a nightmare for teams and organizations that rely on them.
In this presentation we will discuss a dozen practices, why we need to focus on each one of them, and how they impact the ability to keep pace with continuous delivery.
A lot of development teams have built out fully automated CI/CD pipelines to deliver code to production fast! Then you quickly discover that the new bottleneck in delivering features is their existence in longlived feature branches and no true CI is actually happening. This problem compounds as you start spinning up microservices and building features across your multirepo architecture and coordinating some ultrafancy release schedule so it all deploys together. Feature flags provide you the mechanism to reclaim control of the release of your features and get back to shortlived branches with true CI. However, what you're not told about feature flags in those simple “if/else” getting started demos is that there is an upfront cost to your development time, additional complexities, and some pitfalls to be careful of as you begin expanding feature flag usage to the organization. If you know how to navigate these complexities you will start to unleash true velocity across your teams.
In this talk, we'll get started with some of the feature flagging basics before quickly moving into some practical feature flagging examples that demonstrate its usage beyond the basic scenarios as we talk about UI, API, operations, migrations, and experimentation. We will explore some of the hard questions around “architecting feature flags” for your organization.
You've heard of Terraform, maybe even written some scripts using it. You've heard that Terraform is capable of dynamic behavior using blocks, for loops and counters. And you've glanced at the Terraform functions list, but wondered how one would ever go about using those?
We've got you covered.
In this session, we'll build a set of Terraform scripts that can be fed a YAML file, and using Terraform's dynamic capabilities, we'll build infrastructure as specced out in the YAML file.
We'll be covering a host of different topics in this session
Terraform's dynamic capabilities including dynamic blocks, for
and for_each
loops
Terraform's functions and datastructures
Canary Deployments are the last ingredient of any Continuous Delivery or Continuous Deployment rollout. A canary deployment is a deployment strategy that releases an application or service incrementally to a subset of users. All infrastructure in a target environment is updated in small phases (e.g., 2%, 25%, 75%, 100%). This control makes a canary release the lowest risk-prone compared to all other deployment strategies, like the blue-green strategy. If you need to back out of a production deployment quickly without much disruption, then canary deployments may be an excellent practice to set up.
We will treat this talk like a recipe so that you can set up a canary in your work environment.
This presentation will explore ArgoCD, a powerful, open-source, and declarative GitOps continuous delivery tool for Kubernetes. We’ll introduce GitOps and its importance in modern DevOps practices, followed by a high-level overview of ArgoCD and its key features, such as automated sync and rollback capabilities. The presentation will cover ArgoCD’s architecture, detailing its core components and workflow, and provide a guide on installation, initial configuration, and defining and managing applications.
Tools should aid and help a team to be productive and reach their full potential. We should never turn tools into a stick, to punish, rather than being a carrot to motivate and improve the capabilities of teams.
In this presentation we will discuss the dos and don't with continuous integration, look at some tools, and how to make good use of this wonderful agile practice.
Troubleshooting is not an ideal approach when several instances of multiple microservices run in production. Proactively observing and monitoring applications in production can not only remove a lot of stress, it can have a significant effect on the bottomline for organizations.
In this hands-on workshop workshop, we will focus on tools and techniques that help to continuously observe and monitor applications running on the cloud.
Troubleshooting is not an ideal approach when several instances of multiple microservices run in production. Proactively observing and monitoring applications in production can not only remove a lot of stress, it can have a significant effect on the bottomline for organizations.
In this hands-on workshop workshop, we will focus on tools and techniques that help to continuously observe and monitor applications running on the cloud.
Security is a fundamental concern and requirement in all aspects of software development today. And GitHub is the industry-leading collaboration platform for software development. So, it’s crucial that anyone working with/in GitHub understands how to use it securely. In this session, author and trainer Brent Laster will provide a brief overview of the key GitHub security features available to you for free and through GitHub Advanced Security.
This session will cover authentication via keys and tokens, guarding your branches and tags with protection rules and rulesets, code scanning, and secret scanning. We’ll also touch on security logging, creating security policies, and security alerts.
Agile development is feedback driven development. Feedback comes in different forms, but one very important feedback loop is from automated tests. We've figured out how to do unit tests effectively, but integration tests have been a challenge. Endless mocking and stubbing not only slows us down but also turns our tests suites into an unmaintainable monsters.
In this presentation learn how to effectively use Test Continuous to break out of the mess and truly implement a fast feedback loop for your microservices and enterprise applications.
Hear me out: We solved DevOps. I am not saying that everyone is doing it right (or even trying), but we have the solution if you want to do it right. Here is the theory, the technology, the communities, the docs, and the booksgo knock yourself out. Do DevOps: empower your teams, make deployments a breeze, build invincible CI/CD pipelines, and create production environments that are secure, stable, and observable. Done.
Now, in perfect alignment with DevOps and the Theory of Constraints, its time to turn our gaze to the next bottleneck: the production environments of our production environments. Theyre a mess. We accept soul-sucking toil, slow and unstable tests and builds, and constant distractions as the norm, just as we accepted the insufferable, manual throw garbage between silos all-night deployments of the pre-DevOps era. But, as with DevOps, we shouldnt take these for granted. Its time to rise again and resist our development environments' Pre-DevOps state. Lets engineer better developer productivity for all!
In this workshop, we'll cover the options, tips, and tricks for using GitHub Copilot to help us identify how to test code, generate tests for existing code, and generate tests before the code.
Join global trainer, speaker, and author of the upcoming book, Learning GitHub Copilot, Brent Laster as he presents material on multiple ways to leverage Copilot for testing your code on any platform and framework.
Have you wondered what options GitHub Copilot can provide for helping to not only write your code, but test your code? In this session, we'll examine some key ways that Copilot can support you in ensuring you have the basic testing needs covered. In particular, we'll cover:
The following are required to be able to do the labs in the workshop:
In this workshop, we'll cover the options, tips, and tricks for using GitHub Copilot to help us identify how to test code, generate tests for existing code, and generate tests before the code.
Join global trainer, speaker, and author of the upcoming book, Learning GitHub Copilot, Brent Laster as he presents material on multiple ways to leverage Copilot for testing your code on any platform and framework.
Have you wondered what options GitHub Copilot can provide for helping to not only write your code, but test your code? In this session, we'll examine some key ways that Copilot can support you in ensuring you have the basic testing needs covered. In particular, we'll cover:
The following are required to be able to do the labs in the workshop:
HuggingFace.co is the premier site for all things around large language models (LLMs). It has free and open source models and datasets to easily access, download and start working with. As well, it provides the well-known Transformers library of functions that you can use with Python to code up quick and simple apps that interface with LLMs for chatbots, sentiment analysis, classification, etc. And it also allows for direct access to use some models with no coding necessary.
Join expert Brent Laster for an exploration of the site and learn how to navigate it and use its many features. We'll also see how to use its models and the Transformers library with simple Python coding to do typical LLM interactions.
Join us for a hands-on workshop, GitOps: From Commit to Deploy, where you’ll explore the entire lifecycle of modern application deployment using GitOps principles.
We’ll begin by committing an application to GitHub and watching as your code is automatically built through Continuous Integration (CI) and undergoes rigorous unit and integration tests. Once your application passes these tests, we’ll build container images that encapsulate your work, making it portable, secure, and deployment-ready. Next, we’ll push these images to a container registry preparing for deployment
Next, you will learn how to sync your application in a staging Kubernetes cluster using ArgoCD (CD), a powerful tool that automates and streamlines the deployment process. Finally, we’ll demonstrate a canary deployment in a production environment with ArgoCD, allowing for safe, gradual rollouts that minimize risk.
By the end of this workshop, you’ll have practical experience with the tools and techniques that perform GitOps deployments, so you can take this information and set up your deployments at work.
1.Git
Join us for a hands-on workshop, GitOps: From Commit to Deploy, where you’ll explore the entire lifecycle of modern application deployment using GitOps principles.
We’ll begin by committing an application to GitHub and watching as your code is automatically built through Continuous Integration (CI) and undergoes rigorous unit and integration tests. Once your application passes these tests, we’ll build container images that encapsulate your work, making it portable, secure, and deployment-ready. Next, we’ll push these images to a container registry preparing for deployment
Next, you will learn how to sync your application in a staging Kubernetes cluster using ArgoCD (CD), a powerful tool that automates and streamlines the deployment process. Finally, we’ll demonstrate a canary deployment in a production environment with ArgoCD, allowing for safe, gradual rollouts that minimize risk.
By the end of this workshop, you’ll have practical experience with the tools and techniques that perform GitOps deployments, so you can take this information and set up your deployments at work.
1.Git
Its been 2 years since Large Language Models became a household name, and every company on the planet is expecting to see significant productivity
gains across multiple departments from using genAI-powered tools.
Yet, emerging research tells us that naively utilizing genAI can hurt the organizational productivity as much as it helps it.
This shouldnt come as a surprise as we have seen similar results with companies naively implementing novel technologies and methodologies before. We know how to do these things well, yet we keep falling into the trap of assuming that technology alone solves the problem and fail to account for the human factors of sociotechnical systems.
We also tend to believe that novel systems require novel governance and processes, causing us to solve and re-solve the same problems over and over again.
In this talk, we will cover some of the common causes of productivity loss via naive adoption of genAI tools, and how to take the human factors into account to intelligently design the sociotechnical systems to maximize genAI-powered productivity gains.
We have gone through a lot when it comes to configuring our computers with Java, with an editor, and maybe even setting up Git. We often take great care in ensuring that our PATH
and even JAVA_PATH
environments are clean and organized. Then, when we decide to install software that depends on the software that we already have installed, what does it do, reinstall that dependency! Not only that, it's somewhere else. Now we have multiple Java's with the same version. We have multiple pythons, Multiple everything. It's time to end this madness and aggravation and nix the old way and introduce a new way, NixOS.
In this presentation, we tell a story.
nix-shell
?In a world where automation is king, when it comes to configuration management, Ansible rules. Ansible, an opensource project from RedHat allows you to automate configuration including installing software, applying security patches, managing networks across the whole spectrum—be that locally, onprem, in the cloud.
In this exercise driven session, we’ll learn Ansible from the ground up. We’ll see how to declare your inventory, use modules to run arbitrary tasks on hosts, collect related tasks into playbooks, make reusable units of work using roles, and how to use variables. By the end of this session, you will walk away with a comprehensive understanding of how Ansible works, and how you can start to use it to automate away the mundane.
Detailed agenda:
Why Ansible?
How does Ansible work?
Ansible characteristics
Run ansible for the first time
Run an ansible module with args
Escalating privileges
Keeping track of your inventory
Groups of groups (of groups?)
Variables, specifically inventory variables
Extracting group and host variables into group/host variable files
Plays and playbooks
Our first play
Environment specific variables
Making a useful playbook
Jinja2 string interpolation
Roles
Using ansible.builtin.copy
and ansible.builtin.template
in roles
Using handlers
Using Ansible facts and filters
Using Ansible datastructures
Using tags
Encrypting passwords using ansiblevault
Checking your scripts
Benefits of Ansible
Tradeoffs
In a world where automation is king, when it comes to configuration management, Ansible rules. Ansible, an opensource project from RedHat allows you to automate configuration including installing software, applying security patches, managing networks across the whole spectrum—be that locally, onprem, in the cloud.
In this exercise driven session, we’ll learn Ansible from the ground up. We’ll see how to declare your inventory, use modules to run arbitrary tasks on hosts, collect related tasks into playbooks, make reusable units of work using roles, and how to use variables. By the end of this session, you will walk away with a comprehensive understanding of how Ansible works, and how you can start to use it to automate away the mundane.
Detailed agenda:
Why Ansible?
How does Ansible work?
Ansible characteristics
Run ansible for the first time
Run an ansible module with args
Escalating privileges
Keeping track of your inventory
Groups of groups (of groups?)
Variables, specifically inventory variables
Extracting group and host variables into group/host variable files
Plays and playbooks
Our first play
Environment specific variables
Making a useful playbook
Jinja2 string interpolation
Roles
Using ansible.builtin.copy
and ansible.builtin.template
in roles
Using handlers
Using Ansible facts and filters
Using Ansible datastructures
Using tags
Encrypting passwords using ansiblevault
Checking your scripts
Benefits of Ansible
Tradeoffs
In this presentation, we'll cover some of the latest developments and feature additions in GitHub Copilot as rolled out in recent months and at GitHub Universe. Join author, trainer, technologist, and author of the upcoming book “Learning GitHub Copilot” from O'Reilly, Brent Laster to learn what's new and exciting with this popular generative AI tool!
GitHub Copilot continues to evolve as a popular AI coding assistant, adding features and functionality regularly. But there are more significant changes that have been rolled out recently, including wider Copilot integration in the individual GitHub plan for things like indexing repos, pull request and issue summaries. Also, there's new functionality for reviewing code, agent edits, vision features, giving Copilot custom instructions that will apply to every chat, and more!