Glue Work Makes the Dream Work Taylor Barnett (@taylor_atx) Glue DevOpsDays Texas

Hypothesis: People dislike glue work because of bad, past experiences @transposit @taylor_atx

The road to improving our experience of glue work has been narrow, slow, and with many road blocks @transposit @taylor_atx

What is Glue? @transposit Glue @taylor_atx

Glue (verb): To integrate different parts of a system together that would otherwise be incompatible @transposit @taylor_atx

“…the less glamorous - and often less-promotable - work that needs to happen to make a team successful.” -Tanya Reilly @transposit @taylor_atx

Glue can be a lot of different activities Human Design Code @transposit @taylor_atx

Patchwork of tools and services @transposit @taylor_atx

Glue is complex @transposit @taylor_atx

We often to have to solve for glue ourselves @transposit @taylor_atx

“And you may ask yourself, “Well… how did [we] get here?” -Talking Heads @transposit @taylor_atx

First there was AWS… @transposit @taylor_atx

Software supply chain @transposit @taylor_atx

We’ve solved old problems, but discovered new problems @transposit @taylor_atx

APIs, APIs, APIs @taylor_atx

Where do we go from here? @transposit @taylor_atx

Learn how to “outsource” well @transposit @taylor_atx

Vendor Engineering @transposit @taylor_atx

Compatibility Use cases Team buy-in @transposit @taylor_atx

Ask good questions to gauge compatibility and fit What friction you can deal with and what is a dealbreaker? @transposit @taylor_atx

Calculate and qualify the cost to develop and operate Remove as much as labor as possible @transposit @taylor_atx

Consider the true cost of ownership and advocate internally Manage up to executive and finance teams @transposit @taylor_atx

Reward team members for doing this work well @transposit @taylor_atx

@transposit @taylor_atx

! @transposit 503 Service Unavailable @taylor_atx

S3 Outage in 2017 @transposit @taylor_atx

When they break, we could break @transposit @taylor_atx

Failure will happen, learn to handle it gracefully @transposit @taylor_atx

Things will go down, but how do we handle it and grow? @transposit @taylor_atx

This is where the interesting problems live! @transposit @taylor_atx

Problems like: - Connections

  • Progressive data presentation
  • Rate limiting
  • Versioning
  • Internet connectivity
  • Caching
  • Retry mechanisms
  • Validation
  • Error codes and messages
  • Service outages
  • SDK quality
  • Testing
  • Authentication @transposit @taylor_atx

Some services or endpoints are offline: - Don’t disable everything! - Frontend circuit breakers - Non-critical services should fail silently, disable others intelligently - Don’t lead users down a broken path, disable what you can - Set expectations @transposit @taylor_atx

Authentication: - 6+ different common authentication types - How are they all being handled safely? @transposit @taylor_atx

Connections: - What if someone has a slower data connection? - How do things load or fail? - Progressive data presentation @transposit @taylor_atx

Rate limiting: - API retry issues - Requires some restraint and strategy - When do you tell the user? ! @transposit 429 Too Many Requests @taylor_atx

Decoupling: - Decoupling services from vendors - Important that your glue code isn’t so tightly glued - API calls directly to an API without a thin wrapper make it hard to switch vendors @transposit @taylor_atx

Find ways to abstract the glue code @transposit @taylor_atx

SDKs, libraries HashiCorp Terraform, Waypoint Netlify @transposit @taylor_atx

Comprehensive Developer Native Elegant Multi-runtime Multi-vendor -Stephen O’Grady, Redmonk @transposit @taylor_atx

This is the future of Glue with better developer and operator experiences @transposit @taylor_atx

Focus @transposit @taylor_atx

We get to reach for the Dream @transposit @taylor_atx

Learn how to “outsource” well Failure will happen, learn to handle it gracefully Find ways to abstract the glue code @transposit @taylor_atx

Thanks, y’all! Twitter: @taylor_atx Email: taylor@transposit.com See you in Discord for Q&A, and in #transposit!