InedoCon 2019 Day 1

Wed, May 22
07:45

    Registration and Breakfast - 40 mins

08:25

    Welcome Remarks - 5 mins

08:30
  • Added to My Schedule
    keyboard_arrow_down
    Alex Papadimoulis

    Alex Papadimoulis - Opening Remarks: Choosing Correctly in an adapt-or-die world

    schedule  08:30 - 09:20 AM place Courtyard by Marriott Portland City Center people 2 Interested

    Simplicity is dead. At least, that’s what never-ending stream of constantly changing software platforms would lead you to believe.

    Should you use function-based cloud computing? Platform-as-a-service? What about containers, or is it container orchestration? And this is all before you even get to the software itself, and the layers upon layers of abstractions and packages that need to be considered before even thinking about writing code that serves the business.

    We’re in the middle of development technology paradigm shift, living in an adapt-or-die world. But there are a lot of key decisions to make, and I’ve seen a lot of organizations make the wrong decisions and end up down a pretty grave path.

    Ultimately, they end up with mission-critical systems that are too brittle to change, and too broken not to. The clever engineers that design the systems eventually leave, and no one else is willing to fix the mess. What seemed like a nice technological win just ended up leaving the organization struggling to maintain the systems, while competitors run laps with better, easier-to-maintain systems.

    In this talk, I’ll show how, by continuing to partner with Inedo, you can not only avoid becoming a casualty of this paradigm shift, but how you can out-innovate and demonstrate to the powers-that-be that your software platform will let them run laps around their competitors.

    I’ll also talk about my vision for Inedo’s future, including our product roadmap and how we’ll continue helping organizations address constantly emerging technology.

    Sneak peek: it’s all about getting back simplicity and creating real value by building software

09:20
  • Added to My Schedule
    keyboard_arrow_down
    Aaron Jensen

    Aaron Jensen - The Enterprise Automation Journey

    schedule  09:20 - 10:10 AM place Courtyard by Marriott Portland City Center people 2 Interested

    When I first started at WebMD Health Services, there was very little automation. Getting a developer computer configured was a manual process that took multiple days. Building our monolithic application was different on developer computers and the build servers. Deploying was just file copies to shares. You never rolled back. Configuring servers and applications required someone to log into servers and point and click things with a mouse.

    Today, we went from one person trying to automate CI/CD processes to having a team building a CI/CD platform used across dozens of micro-services and a legacy monolithic application. Configuring a developer computer takes 15 minutes (and most of that time is spent cloning repositories and downloading binaries). Build processes are the same everywhere. Applications are packaged up, deployed, installed, and smoke tested, all automatically.

    In this session, I'll cover how we got to where we are, pitfalls along the way, and what helped us succeed.

    Aaron is a Software Architect at WebMD Health Services. He has been designing and building DevOps tools for over a decade. He is the creator of 10 open-source, PowerShell modules, including Carbon, one of the most-downloaded modules on the PowerShell Gallery.

    He loves open source software, PowerShell, and building tools. He lives in Portland, Oregon with his wife and two kids. In his spare time, he plays board games, studies Taekwondo, reads, snowboards, and watches too much TV. He wishes he had more time to play video games.

10:10

    Networking Break - 15 mins

10:25
  • Added to My Schedule
    keyboard_arrow_down
    Jody Dorchester

    Jody Dorchester - Driving Automation in government organizations

    schedule  10:25 - 11:15 AM place Courtyard by Marriott Portland City Center people 2 Interested

    Devops in general and automation in particular can present a daunting challenge for any organization. Add on top of this the size and structure of large government organizations and these challenges can compound. In this presentation Mr. Dorchester will present an outline of the project he was \ and still is involved in to take multiple development teams working on 100's of applications and move them into buildmaster in less than a year. We will discuss key technical and organizational element that were key to the success of the project and a general outline of how it was implemented.

11:15

    Birds-of-a-Feather - 45 mins

12:00

    Lunch - 60 mins

01:00
  • Added to My Schedule
    keyboard_arrow_down
    Robert Vandehey

    Robert Vandehey - Using Proget and SynchroFeed to drive componentization and automation

    schedule  01:00 - 01:45 PM place Park Ballroom

    At Alkami, we have been componentizing our monolith application by breaking it down into packages. These packages are nuget packages for .NET libraries and choco packages for microservices and widgets. Proget is our package server which is fed artifacts from our Bamboo server. We then use a product we open sourced called SynchroFeed to validate packages and mirror packages to our external feeds. This presentation will highlight Alkami's CI/CD architecture using Bitbucket -> Bamboo -> Proget -> Whitesource -> SynchroFeed -> Team City for deployment and how it allowed us to handle the explosive growth in microservices.

  • Added to My Schedule
    keyboard_arrow_down
    Mark Johnson

    Mark Johnson - Provision and Manage Servers w/Otter, DSC, Git, and Chocolatey

    schedule  01:00 - 01:45 PM place Irvington people 2 Interested

    In this session, we will take a journey through the lifetime of a Chocolatey package across Windows servers in the enterprise. Some of the questions we will answer:
    - How can we publish a Chocolatey package and have it automatically deployed across different environments using Otter and PowerShell DSC?
    - How can we use Git to promote Chocolatey package configuration changes to different environments?
    - How can Otter detect Chocolatey package version drift and automatically remediate it?
    - How can we use Otter to take inventory of all installed Chocolatey packages?

02:00
  • Added to My Schedule
    keyboard_arrow_down
    Jody Dorchester

    Jody Dorchester - DaveBot - An example of Standards and Compliance enforcement in Buildmaster

    schedule  02:00 - 02:45 PM place Park Ballroom

    As the development cycle accelerates and teams become more automated the enforcement of standards needs to move in a more automated direction. Enter DaveBot. Davebot is a series of script that we have implemented in large organizations to allow us to move forward with CI and deployment automation while still keeping Architect and Auditing groups happy. Focused on an environment consisting of windows and web .net development on SQL servers the talk will present examples of the standards we current enforce and review the details of how these checks were implemented.

  • Added to My Schedule
    keyboard_arrow_down
    Kevin Griffin

    Kevin Griffin - Taking Down The Monolith One Package At A Time

    schedule  02:00 - 02:45 PM place Irvington people 2 Interested

    A monolithic applications are application where every moving part is in a single codebase. Multiple hands and teams are in and out on a regular basis. Releases are scheduled on monthly or quarterly cycle, and requires all hands on deck when going live. Fundamentally, monolithic applications are like a house of cards. One single change can topple everything.

    There are various ways to destructure the monolith for maintainability. But the easiest way to start is by decoupling the application into modular packages.

    In this session, we'll discuss what packaging is and how it fits into the mold software architecture. But most importantly, we'll look how to identify and move out areas of your monolith that can be maintained separately and reused on other projects.

03:00
  • Added to My Schedule
    keyboard_arrow_down
    John Rasch

    John Rasch - Adding CI/CD to a legacy application

    schedule  03:00 - 03:45 PM place Park Ballroom people 1 Interested

    Legacy applications are the bane of many engineers’ existence. As if updating their code wasn’t bad enough, deploying legacy applications is fraught with so many broken and manual processes that hardly anyone believes it ever worked.

    Some will advocate to throw all the legacy code away, and start anew with greenfield microservices. That could work, with a sufficiently powerful time machine. Others will encourage you to shove legacy applications in a container and hope that fixes things. Spoiler alert: it actually makes things worse.

    There is a better way, and in this talk I’ll walk you through a three-step process that you can do it.

    • Build automation; how to gather build artifacts from a variety of sources, even old VB6 build servers sitting in a closet
    • Deployment automation; carefully deploying these artifacts to the dozens of odd places and servers they need go to, and making sure the configuration files are kept perfect and tidy
    • Process automation; incorporating the manual and seemingly non-automatable tasks in to your automation pipeline
  • Added to My Schedule
    keyboard_arrow_down
    Chris Gardner

    Chris Gardner - A Journey through Creating and Consuming Custom NuGet Package

    schedule  03:00 - 03:45 PM place Irvington people 1 Interested

    It's time to start a new project. I import that library of shared functions I always seem to need. Then, I go to NuGet and grab any necessary packages. Until recently, I never thought about how I could combine these steps. However, this brave new world of DevOps forced me to address this concept, and I was amazed at the ease of creating NuGet packages and the power of the NuGet platform.

    In this talk, I'll guide you through my journey into creating and hosting custom NuGet packages. I'll start with the basics of NuGet package creation and hosting by turning a simple DLL into a NuGet package. From there, I'll talk about how you can make your package fit into your target project with configuration transforms, source code transforms, and specifying development dependencies. Finally, we'll discuss some of the advanced options that are available, such as wiring custom build steps into your project. You'll leave this session empowered to create your own amazing packages into your development environment.

04:00
  • Added to My Schedule
    keyboard_arrow_down
    Greg Divis

    Greg Divis - Reliable, self-service application and component delivery with universal packages

    schedule  04:00 - 04:45 PM place Park Ballroom people 2 Interested

    Simplify your complex, multi-component architectures using universal packages and feeds, and distribute your applications and components to consumers who can then decide how and when they upgrade. Consumers don’t necessarily need to be end-users, but could be other development products, installation tools, or technicians who perform work for the end user.

  • Added to My Schedule
    keyboard_arrow_down
    Kendall Miller

    Kendall Miller - How not to be the best app no one uses: Effective Onboarding for fun & profit

    schedule  04:00 - 04:45 PM place Irvington

    You've made a brilliant application - perhaps a new startup or a new major initiative within your enterprise. For it to be successful you need to get people from interested to effective before they lose interest.

    Without effective onboarding built into your app users will not stick with it long enough to discover the great features you've built.

    In this talk we'll dig into what it takes to design and optimize an effective onboarding process and equip you with a strategy for making incremental investments that can be fit into your development project.

05:00
  • Added to My Schedule
    keyboard_arrow_down
    Jeffery Hackert

    Jeffery Hackert - Is DevOps Still a Thing?

    schedule  05:00 - 05:50 PM place Courtyard by Marriott Portland City Center people 2 Interested

    It's been more than 10 years since the term DevOps was coined. Beginning with "10+ Deploys a Day", the desire to ship software faster in smaller batches has become a full-fledged industry. There are transformation consultancies, tools, job descriptions, certifications, and a host of books and articles aimed at explaining why we are doing it wrong and what we should be doing in order to get it right.

    In this talk, I will walk us from the original concerns to the current state of the movement. I'll point out trends that have shown value, talk about where teams, companies, and the industry often get stuck. I'll share my experiences working with Riot Games, Chef, Soylent, and a host of other companies who have helped shape (and sometimes confuse) the goals, the tooling, and the culture that we collectively call DevOps.

06:00

    Networking Reception - 90 mins

InedoCon 2019 Day 2

Thu, May 23
08:30
  • Added to My Schedule
    keyboard_arrow_down
    Anton Van Kan

    Anton Van Kan - A journey from Rsync to Proget Replication

    schedule  08:30 - 09:00 AM place Park Ballroom

    In a large organization moving towards to a "DevOps culture", we hit a lot of challenges with regards to moving our Nuget packages to our our hosting sites. This presentation will take you on our journey from using ProGet feed connectors with rsync file movement services to ultimately landing on ProGet replication where we now move these files globally with ease.

09:00
  • Added to My Schedule
    keyboard_arrow_down
    Kevin Griffin

    Kevin Griffin - ProGet: Essentials and Advanced Feed Management - AM option

    schedule  09:00 AM - 12:00 PM place Park Ballroom

    ProGet: Essentials and Advanced Feed Management​

    • Certifications Awarded Upon Completion: ProGet 101 & ProGet 201

    • Audience: Operations, Release Engineer / DevOps Team

    • Students will learn why public package managers cannot be used for distributing internal packages or libraries. We will walk through the features available within ProGet, and build a first feed with ProGet. In the second half, students will work through several advanced level features of ProGet. Features include package promotion, retention policies, vulnerability assessment and testing, license filtering, multi-site feed replication, and multiple feeds.

    Certification Workshops are included with the purchase of your InedoCon 2019 conference ticket. InedoCon attendees will receive the same quality certification experience that Inedo offers clients in our on-site training.

  • Added to My Schedule
    keyboard_arrow_down
    Mark Johnson

    Mark Johnson - BuildMaster 101: Fundamentals

    schedule  09:00 AM - 12:00 PM place Irvington people 2 Interested

    BuildMaster 101: Fundamentals

    • Audience: Developers, Release Engineers, Ops, QA, Managers

    • Students will learn about the pains of software deployments without automated tools. BuildMaster comes to the rescue by giving development teams an efficient system for implementing automated builds. In this lesson, you will walk through the fundamentals of using BuildMaster.

    • Certifications Awarded Upon Completion: BuildMaster 101

    Certification Workshops are included with the purchase of your InedoCon 2019 conference ticket. InedoCon attendees will receive the same quality certification experience that Inedo offers clients in our on-site training.

12:00
  • Added to My Schedule
    keyboard_arrow_down

    Lunch Break

    schedule  12:00 - 01:30 PM place Laurelhurst
01:30
  • Added to My Schedule
    keyboard_arrow_down
    Kevin Griffin

    Kevin Griffin - ProGet: Essentials and Advanced Feed Management​ - PM option

    schedule  01:30 - 04:30 PM place Park Ballroom

    ProGet: Essentials and Advanced Feed Management​

    • Certifications Awarded Upon Completion: ProGet 101 & ProGet 201

    • Audience: Operations, Release Engineer / DevOps Team

    • Students will learn why public package managers cannot be used for distributing internal packages or libraries. We will walk through the features available within ProGet, and build a first feed with ProGet. In the second half, students will work through several advanced level features of ProGet. Features include package promotion, retention policies, vulnerability assessment and testing, license filtering, multi-site feed replication, and multiple feeds.

    Certification Workshops are included with the purchase of your InedoCon 2019 conference ticket. InedoCon attendees will receive the same quality certification experience that Inedo offers clients in our on-site training.

  • Added to My Schedule
    keyboard_arrow_down
    Mark Johnson

    Mark Johnson - BuildMaster 201: Pipelines

    schedule  01:30 - 03:30 PM place Irvington people 2 Interested

    BuildMaster 201: Pipelines

    • Audience: Developers, Release Engineers, Ops, QA, Managers

    • Prerequisite: "BuildMaster 101: Fundamentals"

    • Students will go more in-depth into how a BuildMaster pipeline works. Topics include stages, approvals, deployment windows, variables, and more. At the end of this module, you should be comfortable designing a pipeline end-to-end.

    • Certifications Awarded Upon Completion: BuildMaster 201

    Certification Workshops are included with the purchase of your InedoCon 2019 conference ticket. InedoCon attendees will receive the same quality certification experience that Inedo offers clients in our on-site training.

  • Added to My Schedule
    keyboard_arrow_down
    Kendall Miller

    Kendall Miller - Effective Application Telemetry for Monitoring, Managing, and Scaling Systems

    schedule  01:30 - 05:30 PM place Laurelhurst

    Effective Application Telemetry for Monitoring, Managing, and Scaling Systems

    • Audience: Product Managers, Technical Leads, and Infrastructure Engineers

    • In this workshop, hosted by the owner of Gibraltar Software we will see how Gibraltar worked with Inedo to build telemetry into BuildMaster and ProGet to:

      • Enable self-support and remote support even for complicated application scenarios

      • Provide performance data for capacity planning and management

    • Additionally, we'll cover how to:

      • Diagnose and Troubleshoot BuildMaster and ProGet using Loupe

      • Connect BuildMaster and ProGet to your own Loupe service for centralized alerts and diagnostics

      • Analyze ProGet usage and performance and scalability with Loupe

    • Finally, we'll show how you can add Loupe to your own .NET or Java application to get the same benefits in your own application

    Certification Workshops are included with the purchase of your InedoCon 2019 conference ticket. InedoCon attendees will receive the same quality certification experience that Inedo offers clients in our on-site training.