Glue Work Makes the Dream Work

A presentation at DevOpsDays Texas 2021 in March 2021 in by Taylor Barnett

Slide 1

Slide 1

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

Slide 2

Slide 2

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

Slide 3

Slide 3

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

Slide 4

Slide 4

What is Glue? @transposit Glue @taylor_atx

Slide 5

Slide 5

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

Slide 6

Slide 6

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

Slide 7

Slide 7

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

Slide 8

Slide 8

Patchwork of tools and services @transposit @taylor_atx

Slide 9

Slide 9

Glue is complex @transposit @taylor_atx

Slide 10

Slide 10

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

Slide 11

Slide 11

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

Slide 12

Slide 12

First there was AWS… @transposit @taylor_atx

Slide 13

Slide 13

Software supply chain @transposit @taylor_atx

Slide 14

Slide 14

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

Slide 15

Slide 15

APIs, APIs, APIs @taylor_atx

Slide 16

Slide 16

Where do we go from here? @transposit @taylor_atx

Slide 17

Slide 17

Learn how to “outsource” well @transposit @taylor_atx

Slide 18

Slide 18

Vendor Engineering @transposit @taylor_atx

Slide 19

Slide 19

Compatibility Use cases Team buy-in @transposit @taylor_atx

Slide 20

Slide 20

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

Slide 21

Slide 21

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

Slide 22

Slide 22

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

Slide 23

Slide 23

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

Slide 24

Slide 24

@transposit @taylor_atx

Slide 25

Slide 25

! @transposit 503 Service Unavailable @taylor_atx

Slide 26

Slide 26

S3 Outage in 2017 @transposit @taylor_atx

Slide 27

Slide 27

When they break, we could break @transposit @taylor_atx

Slide 28

Slide 28

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

Slide 29

Slide 29

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

Slide 30

Slide 30

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

Slide 31

Slide 31

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

Slide 32

Slide 32

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

Slide 33

Slide 33

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

Slide 34

Slide 34

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

Slide 35

Slide 35

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

Slide 36

Slide 36

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

Slide 37

Slide 37

Find ways to abstract the glue code @transposit @taylor_atx

Slide 38

Slide 38

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

Slide 39

Slide 39

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

Slide 40

Slide 40

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

Slide 41

Slide 41

Focus @transposit @taylor_atx

Slide 42

Slide 42

We get to reach for the Dream @transposit @taylor_atx

Slide 43

Slide 43

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

Slide 44

Slide 44

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