Speaker

Bob Walker

Bob Walker

Field CTO at Octopus Deploy

Omaha, Nebraska, United States

Actions

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

Accidentally building a golden path for 100+ devs at a large bank

Automating a terrible process doesn't make it any less terrible. As DevOps and Platform engineers, we see this often. I worked on an app where deploying to production had a 60% chance of needing an emergency fix. This couldn’t go on. I automated the manual steps, but it didn’t solve the core issues.

The old process was scrapped, and a new one was built with input from many roles. Today, we’d call this the golden path. Building it was hard; getting teams to use it was harder.

This session shares lessons from building and adopting the golden path:
- Knowing when to improve or replace a process
- Highlighting the new process’s benefits
- Training and onboarding teams
- Managing edge cases
- Encouraging contributions while considering all needs
- Setting up guardrails to guide developers

Join to learn how to create and implement a sustainable process.

The target audience for this session is any platform or DevOps engineer responsible for building processes 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.

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

Over the past few years, a seismic shift has occurred in the technology landscape.
It seems like everyone is moving traditional Windows and Linux application hosts to modern solutions such as Containerization, Kubernetes, PaaS, and Hybrid Cloud models. That alone is complex enough, but the success of DevOps and the "you build it, you run it" mindset has added a new layer of complexity. Each self-managing feature team is forced to make numerous micro-decisions in transforming their applications.

When updating a few applications, that is not a big deal. However when replicated across multiple teams within the same organization, it becomes complex quickly. This complexity, often underestimated, has paved the way for the emergence of Platform Engineering—a discipline that does not seek to supplant DevOps but to augment and streamline its application across a growing enterprise. At its core, Platform Engineering concentrates on enhancing the Developer Experience (DevEx), which is pivotal for leveraging the full potential of DevOps at an organizational 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.

From EC2 to Kubernetes: Takeaways from a brownfield migration

From 2018 to 2019, we migrated our SaaS product from a conventional setup of 1800 EC2 instances to a dynamic and scalable architecture managed within Kubernetes Clusters.

This session will discuss the entire journey of our migration endeavor, from the nine-month conversion phase to the ongoing challenges encountered in the post-migration landscape. Topics discussed will be 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.

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.

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.

Focus on users, not traffic for canary based deployments

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.

Don't ignore your users

Many DevOps, CI/CD, and Platform Engineering initiatives dream of deploying to production in the middle of the day. But is it practical for your app? Not every application is alike, nor is every user. I learned this the hard way, treating an internal app like it was Facebook. I pushed for faster production, blind to the impact on users.

- What happens when you change an app midday?
- When is the best time to deploy without disrupting systems?
- Training demands time and resources.
- Constantly explaining new features overwhelms users.

Join this session as we set realistic goals and pave smoother paths. We’ll focus on faster deployments without losing sight of user needs. Topics include:

- Setting priorities based on your users and app.
- Navigating company policies, regulations, and contracts.
- Knowing when "good enough" is better than perfect.

Let’s find the balance between speed and user satisfaction.

This session is designed for any DevOps or Platform Engineer focused on building processes and paved paths for developers. Minimal experience is required, as it will be discussing lessons learned.

Agile + DevOpsDays Des Moines 2024 Sessionize Event Upcoming

October 2024 Des Moines, Iowa, United States

TechBash 2024 Sessionize Event Upcoming

September 2024 Mount Pocono, Pennsylvania, United States

ContainerDays Conference 2024 Sessionize Event Upcoming

September 2024 Hamburg, Germany

Nebraska.Code() 2024 Sessionize Event

July 2024 Lincoln, Nebraska, United States

KCDC 2024 Sessionize Event

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

Actions

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