Speaker

Bob Walker

Bob Walker

Field CTO at Octopus Deploy

Omaha, Nebraska, United States

Bob Walker is a Field CTO Octopus Deploy. Bob started as a developer in the early days of .NET when web forms were the hottest new thing, and manual deployments were the norm. After one too many five-hour 2 AM Saturday deployments, he searched for any automation to stop that pain. His original focus was on automating database deployments. Since then, his passion has expanded from writing code to creating full CI/CD pipelines and implementing DevOps practices.

Area of Expertise

  • Information & Communications Technology

Topics

  • DevOps
  • DevOps Transformation
  • DevOps & Automation
  • DevOpsCulture
  • DevOps Skills
  • Backend Development
  • DevOps Journey
  • DevOps Enterprises
  • SecDevOps
  • Migrating to devops
  • Software Development
  • database lifecycle management
  • Cloud & DevOps
  • Platform Engineering
  • Continous Delivery
  • Continuous Deployment
  • Continuous Integration
  • Continuous Improvement
  • Continous Integration
  • Software Delivery
  • Kubernetes
  • gitops
  • continuous delivery
  • Kubernetes Deployments

What is this DevEx and Platform Engineering I keep hearing about?

Over the past few years, the intersection of digital transformation initiatives and DevOps practices has created a dynamic landscape for organizations. DevOps has empowered feature teams with the "you built it, you run it" mindset, pushing companies to transition from traditional Windows and Linux application hosts to modern solutions such as Containerization, Kubernetes, PaaS, and Hybrid Cloud models. This shift requires feature teams to make numerous micro-decisions in transforming their applications, a process that becomes even more complex when replicated across multiple teams within the same organization.

Contrary to popular belief, Platform Engineering doesn't replace DevOps; rather, it addresses common challenges that organizations face as they expand. By focusing on the Developer Experience (DevEx), Platform Engineering enables organizations to reap the benefits of DevOps at scale.

- Understanding the key attributes that make a platform engineering team successful in navigating the challenges of digital transformation and DevOps integration.
- Emphasizing the significance of prioritizing developer experience and treating processes as products in their own right. This approach ensures a seamless and efficient workflow for feature teams.
- Examining successful patterns as well as common pitfalls in platform engineering and developer experience, providing valuable insights to help organizations make informed decisions.
- Delving into the strategies for constructing golden paths that streamline development processes, making it challenging for developers to resist or deviate. This includes practical approaches to aligning teams with organizational goals.

This is an introductory talk for platform engineering. The target audience of this talk is any developer or DevOps engineer who is undergoing a digital transformation and needs to quickly "level-up" a lot of developers.

The Importance of Continuous Delivery in today's Cloud Hybrid world

Continuous delivery (CD) in software engineering promises streamlined processes for frequent and reliable software deployment. The transition from traditional application hosts to diverse platforms like cloud, containers, and Kubernetes has ushered in new challenges and opportunities. The ease of creating and destroying application copies raises the specter of hasty decision-making. Striking a balance between speed and stability is crucial in this evolving landscape.

The talk not only highlights the potential pitfalls but also offers practical insights. It stresses the importance of designing processes around continuous delivery and fostering collaboration through DevOps principles. The key takeaway is the necessity of creating a deployment pipeline tailored to the organization's unique needs. Attendees will gain valuable insights into managing organizational challenges, navigating the intricacies of CD, and constructing an effective deployment pipeline. Ultimately, the goal is to empower teams to confidently deploy changes on demand, fostering agility and alignment with business objectives.

Navigating the Seas of Transformation: Migrating from EC2 to Kubernetes

Embark on a transformation journey as we recount the pivotal steps in 2018 and 2019 to migrate our SaaS product from a conventional setup of 1800 EC2 instances to a dynamic and scalable architecture managed within Kubernetes Clusters.

This session will traverse the entire trajectory of our migration endeavor, from the arduous nine-month conversion phase to the ongoing challenges encountered in the post-migration landscape. Our narrative navigates through the intricate terrain of migrating existing customers, mitigating the impacts of noisy neighbors, devising efficient deployment strategies, and fine-tuning resource allocation to align with individual customer usage patterns.

Key Takeaways for Attendees:
- Insights into the rationale behind transitioning from EC2 instances to Kubernetes.
- Strategies for provisioning dedicated container instances to each customer while preventing interference from noisy neighbors.
- The rationale behind opting for managed services for our database and file storage needs.
- Challenges encountered during the transition from hosting on Windows to a Linux-based container environment.
- Best practices for routine maintenance tasks while respecting customers' maintenance windows.
- Navigating deployment challenges, leveraging "dogfooding" strategies, and implementing release rings.
- Techniques for dynamically adjusting CPU and RAM resources based on customer usage metrics.

Attendees will learn the intricacies of our transformative journey, offering invaluable insights and lessons learned that promise to empower your migration endeavors.

The target audience for this talk is someone aware of kubernetes basics, such as nodes, containers, and namespaces, but not an expert. It is designed for anyone who has been a developer, operations, or platform engineer for with 2+ years of industry experience.

Rollback Strategies with Kubernetes

Kubernetes offers a powerful rollback feature for container versions, facilitating easy reversion by modifying the manifest file and applying changes. However, the automatic execution of rollbacks raises questions about feasibility and advisability.

Many containerized applications leverage relational databases for data storage, as transitioning from relational to NoSQL databases entails significant costs and time investments. Rollback attempts with relational databases pose inherent risks of data loss or corruption.

This session explores effective strategies for mitigating rollback risks in applications reliant on relational databases. We will explore a comprehensive database change strategy supporting multiple application versions. Furthermore, we will examine how Kubernetes empowers the adoption of advanced deployment patterns, enabling thorough testing of changes in Production environments before user accessibility.

Key Learning Points for Attendees:

- Streamline rollback processes by omitting database-specific steps in deployment procedures.
- Implement the expand/contract pattern to decouple database alterations from application updates.
- Embrace Blue/Green or "Staging" deployment methodologies to test changes in Production before end-user interaction rigorously.

By the end of this talk, attendees will gain valuable insights into fortifying their deployment pipelines and enhancing the resilience of relational database rollbacks within Kubernetes environments.

This session is designed for developers, operations, or DBAs who have at least 1 to 3 years of experience and are looking to adopt a rollback strategy.

Streamlining Deployments: Lessons from Building a DevOps Paved Path for 150+ Developers

One of the primary goals of DevOps and platform engineering is to create efficient paved paths that alleviate the cognitive burden on developers and operations teams. This session will delve into the challenges and triumphs of establishing a robust database development and deployment process utilized by over 150 individuals across 12 diverse development and operations teams in a prominent banking institution.

This session will provide information on how to:
- Develop strategies to understand and address the diverse needs of different roles in the deployment process.
- Implement an iterative feedback loop to improve the deployment process continuously based on real-world experiences.
- Recognize when to set boundaries and say "no" to ensure a focused and efficient deployment process.
- Effectively communicate the benefits of the deployment process to gain support from all teams, including potential skeptics.
- Learn from past mistakes in onboarding new teams and adopt best practices for a smoother implementation.

The target audience for this session is any platform or devops engineer responsible for building processes or paved paths for their organization. The database deployments are a framing device. There is no specific technology requirements, and anyone with 1+ years of experience should benefit.

This talk is a modified version of a talk given at Redgate's SQL In the City Summit, PASS 2022, and DeliveryConf 2020.

Building Golden Paths to improve the developer experience

Over the past five years, we've seen a significant shift from traditional Windows and Linux application hosts to "cloud native" applications running on PaaS or Kubernetes clusters. But a new challenge has emerged. Each time a new application is created, developers have a wealth of tools to pick from.

Enter golden paths. Golden paths provide a route toward alignment. Say you have five teams, all using different Continuous Integration tools. You'd provide the best way to build, test, and package all the software and provide this as a golden path. It needs to be better than what developers currently do and easy to adopt, as you can't force it on a team.

In this session, we will walk through the steps required to build a golden path for dozens of development teams. We will discuss how to get started, listening to feedback and iterating, onboarding new teams, and the importance of documentation.

In this talk, attendees will learn:
- How to align your golden paths with your DevOps goals.
- How to reduce the overall cognitive load for teams starting a new application.
- How to treat those processes as a Product that is constantly changing and improving.

The target audience of this talk is anyone interested in creating processes for multiple teams to use for many years.

Dependable DevOps: Reaching Real Production Goals

It seems like the dream of DevOps and CI/CD in today’s software world is to reach a point where you deploy to production 15 times a day. But, is that really feasible or necessary for your applications?

Today, automation is not about speed of release, but about ensuring a smooth, painless operation. Teams utilize automation to ensure that when the time comes, they are ready and aren’t exposing risks or accidentally creating more steps. When teams are getting ready to deploy to production, they face a number of critical considerations, including:

- Understanding dependencies between application downtimes and user frequency.
- When is the right time to deploy with legacy code and understanding what internal systems are impacted.
- Training, which adds time and resources.
- Explaining new features and functions frequently making it difficult for anyone to keep up.

In this session, we will walk through realistic goals and approaches to deploy to production faster and setting your team up for the potential to build once and deploy anywhere. We will discuss how creating smaller outage windows and only making small changes will help teams deliver faster while keeping systems and applications up and running.

In this talk, attendees will learn:
- How to successfully deploy faster
- How to automate deployments safely and efficiently
- How to align your DevOps team for CI/CD optimization

This session is targeted at anyone starting out with DevOps/Sofware Delivery or looking to refine their DevOps/Software Delivery goals. Other conferences/webinars this session has appeared is the DevOps Experience in November 2022 and internal training.

Hours to Minutes: Lessons Learned from Building an Automated CI/CD Pipeline

To get to production in today’s software world, how many manual steps are you required to do, and how long does it typically take your team? Too often, the answers to these questions are "several, and at least 4 hours, if not more." It doesn't have to be this way. Learning how to automate key bottlenecks within your CI/CD pipeline will save your organization valuable resources and your developers their sanity.

No one enjoys a 4+ hour deployment. It always seems to be a random script which causes the push to production to grind to a halt. I’ve been there, you’ve been there, we’ve all felt that pain. Deploying to production shouldn’t be a big production. Yet too often the first time a process or piece of code is tested is when it gets to production. It is also about more than just the tooling aspect of a deployment, but about shifting the mindset and changing the culture. We will discuss why consistency is so important and highlight some techniques you can use to accomplish this new mind set.

In this talk, I will walk through the deployment processes I have helped put in place along my career and the decisions that were made each step of the way. We’ll dissect the mistakes I made, how I went about building trust in the process, and the benefits.

In this talk, attendees will learn:
- How to identify problem areas and steps to overcome them
- How to identify pipeline bottlenecks that can be automated
- How to agree on goals and KPI metrics

This session is targeted at anyone looking to start their DevOps journey, configure a CI/CD pipeline, or wants to get into Platform Engineering. This session was provided to attendees at PASS Data Summit in November 2022.

Multi-Tenancy Architecture Lessons Learned

Architecting a multi-tenanted application is challenging. Decisions can impact developers and operations for the life of the application, which is measured in years, if not for over a decade.

Often, the hardest decision is which of the three common multi-tenancy architecture approaches is appropriate. A unique application and database per tenant, shared application and isolated database per tenant, or shared application and database. This decision is so challenging because there is no "one true approach." Each application's scenario is different.

I've witnessed the impact of those decisions firsthand. I've been exposed to each approach during my career as a software developer and architect. I spent over 20 years supporting six different multi-tenanted applications for companies working in advertising, telemarketing, oil, finance, government, and software.

In this session, we will walk through the lessons learned from working on those applications.

In this talk, attendees will learn:
- The pros and cons of each approach; unique application and database per tenant, shared application and isolated database per tenant, and shared application and database.
- When one approach is preferred over the other.
- How to handle unique configurations and requirements per tenant.
- The hidden costs and the long-term impacts.
- How advancements in tooling and platforms have made the unique application and database per tenant easier to support.

The target audience for this talk is architects, developers, and people in operations. The session is best for someone who has been in the IT industry for 1-2 years.

Kubernetes for the rest of us

Kubernetes, often perceived as a complex "black box," is a robust platform for container orchestration. This conference session is tailored for those who may not directly manage Kubernetes clusters but seek to understand its fundamental workings. This session aims teach attendees the basics on running a container in a Kubernetes cluster, particularly with an external database backend.

- Core Kubernetes Concepts: Explore essential concepts such as services, pods, nodes, clusterIPs, ingress controllers, secrets, deployments, and more. Gain a foundational understanding of how these components interact within the Kubernetes ecosystem.
- Deployment Strategies and CI/CD Pipelines: Unpack deployment strategies and dive into (CI/CD) pipelines. Understand the role of automation in managing containerized applications and discover where the emerging GitOps methodology fits into the Kubernetes landscape.
- Hands-On Learning Strategies: Equip yourself with practical knowledge by exploring ways to advance your understanding. Learn how to install and manage a Kubernetes cluster locally, providing a hands-on experience to solidify your comprehension.

By the session's end, participants will have a foundational grasp of Kubernetes concepts, insights into deployment strategies and CI/CD pipelines. Whether you're a developer, part of an operations team, or simply curious about container orchestration, this session simplifies Kubernetes, making its powerful capabilities accessible to all.

This session is designed for anyone who is aware of kubernetes and containers but isn't directly responsible for hosting or managing the cluster.

Navigating Cloud-Native Transitions: Strategies, Patterns, and Risk Mitigation

The transition to cloud-native architectures has witnessed a rapid acceleration in recent years, with numerous companies embracing Kubernetes, hybrid cloud models, and dedicated cloud providers on a weekly basis. Terms like containerization, cloud-first, serverless, and microservices have become commonplace in discussions surrounding this shift.

However, amidst this momentum, the imperative to mitigate risks looms large. The notion of executing a "big bang" cut-over is fraught with peril, as there exists a 0% chance that everything will proceed flawlessly. Nonetheless, there are various patterns and practices that can be employed to minimize such risks. It's worth noting that transitions of this nature are not unprecedented in the software industry, occurring roughly every five to ten years.

In this session, we delve into real-world use cases of past transitions to offer insights for planning your own cloud-native journey. Key topics to be addressed include:

- Evaluating whether to re-write applications or update them to be cloud-native.
- Strategies for managing legacy and new applications concurrently throughout the transition.
- Adopting the strangle pattern to incrementally migrate functionality to newer applications.
- Emphasizing the significance of integration and acceptance testing.
- Prioritizing a seamless transition, even if it entails temporarily incorporating undesired functionality or tolerating "bugs."

By exploring these themes and drawing from practical experiences, attendees will gain actionable guidance for navigating their cloud-native transitions effectively.

Optimizing Canary Deployments for User-Centric Success

In today's tech landscape, canary deployments are more accessible than ever before. With modern tooling, it's simple to direct a portion of traffic to the latest code iteration. However, the conventional approach of traffic percentage allocation may overlook crucial considerations regarding user experience.

Canary deployments offer a robust strategy for minimizing deployment risks, but engineering teams encounter various challenges in their implementation:

- Ensuring backward compatibility in code and database modifications.
- Determining optimal timing for scaling up traffic exposure.
- Understanding the broader user impact when only a subset receives new features.
- Addressing post-deployment issues effectively.

This session delves into a user-centric perspective on canary deployments, aiming to achieve deployment objectives while mitigating user confusion. Attendees will gain insights into adaptable strategies applicable to diverse applications. Key takeaways include:

- Recognizing the limitations of traffic percentage-based strategies.
- Leveraging user segmentation by factors such as location, team affiliation, or job role.
- Implementing release rings tailored for Software as a Service (SaaS) providers.
- Offering opt-in mechanisms for users to trial new features.
- Embracing the expand and contract pattern for seamless database alterations.

KCDC 2024 Sessionize Event Upcoming

June 2024 Kansas City, Missouri, United States

Open Source Summit North America 2024 Sessionize Event

April 2024 Seattle, Washington, United States

KCD Texas 2024 Sessionize Event

April 2024 Austin, Texas, United States

TechBash 2023 Sessionize Event

November 2023 Mount Pocono, Pennsylvania, United States

CNCF-hosted Co-located Events North America 2023 Sessionize Event

November 2023 Chicago, Illinois, United States

KCDC 2023 Sessionize Event

June 2023 Kansas City, Missouri, United States

TechBash 2019 Sessionize Event

November 2019 East Stroudsburg, Pennsylvania, United States

KCDC 2019 Sessionize Event

July 2019 Kansas City, Missouri, United States

Bob Walker

Field CTO at Octopus Deploy

Omaha, Nebraska, United States

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top