How are we planning to handle networking in Iguana X?

So this was a long conversation with myself and the development team before the team pulled a rabbit out of the hat and delivered a fully working prototype of the networking functionality. Kind of demonstrates the power of building a team that can be vulnerable and honest with each other and how the concepts site is changes how we work together.

This may be difficult to follow for many people since we communicate very well together and the conversation does cover quite a few abstract technical concepts. I hope some of the links below will help.

  • So we need to Iguana X out the door.

    • A vital part of an integration engine in our industry is to act as an LLP server and an HTTP server

    • We need to figure out how to bring that back into the product

  • How could we do that in a way to achieve flexibility and symmetry.

  • TCP/IP is a streaming protocol so we always have to solve the problem of framing

  • We talked in detail about what an HTTP request/response looks like. (around minute 7)

  • Since Lua is a complete language we can program these framing protocols in Lua. (around minute 12)

    • This is point by John.

  • By coding these framing protocols in Lua we enable our customers to solve problems that our company does not yet understand. ( minute 14 )

  • Then we talk about the problem of what if we shipped a plain product with no implementations of these protocols?

    • Clearly we need to provide, educate and explain these protocol implementations.

    • More over we need to make sure they are not code dumps.

    • It’s super important that we help our customers?

    • Explaining the code with good videos - making it easy for customer to revert back to base code

      • We need to get a balance between giving our customers power and overwhelming them with too much

      • Tyler points out that we can find a balance.

      • Matt and I remembered this conversation which touches on the point of how do you encourage people to learn about things they don’t find interesting.

  • Why do people find topics uninteresting?

    • Partly if you don’t have even basic concepts in that area it’s overwhelming. (minute 21)

    • It all sounds like greek!

  • John starts talking about ideas that relate to what we could go with the concepts site that will help with this. ( minute 22)

  • At minute 22-24 with Zachary I discuss the fact as a non developer as someone

    • This is no single solution that is going to work for all this

    • The biggest problem of the concepts site - it’s too large and where do you start?

    • You need a friendly human to help you go through it (minute 25)

    • How can we help our pre-sales and support staff support our customers?

  • That was becoming a different conversation.

    • We brought the conversation back to networking minute 26

  • We then talked through SSL/TLS and why it’s symmetry gives us an easy path to support it.

  • We talked about needing an API to manage network events.

  • We’ll need to expose this status in our dashboard.

  • Minute 30 we were discussing tradeoffs between making the configuration purely in Lua code versus making it part of a more formal configuration mode.

    • We back and forth on this with connections with neurons.

    • We clarified how we felt on this.

  • Minute 34 - 38 - we talked about SSL more

    • We talked about our own internal SCKS networking library

    • The symmetry of SSL/TLS allows us to separate the concerns

  • Minutes 39-42 with Zachary and I showed me that I had do a better job of communicating the concept of SSL.

  • Tyler brought up some valid security concerns we discussed if this was a real danger - minutes 43.

    • I touch on the topic of protected networks

    • I think we largely put those fears to rest

    • Lua is a pretty safe language to implement protocols in since it isn’t like C which allows memory access

    • Where does security come from? See log4j.

  • From minutes 46 onwards we got on to how we could implement it.

    • This part of the conversation is interesting in terms of it shows how we work as a team figuring out what we do first

    • How we do things quickly etc.

    • Avoiding over polishing things

  • At minute 49 I realized we were at the stage of being able break things up and make a design document - we took a tea break.

  • One major problem we have to solve is how to communicate this internally to the rest of the company and to our customers?

  • Minute 54 - using GIT to share code.

  • Yellowfin makes an appearance.

  • Minute 56 - there are other complications

    • Key skill in making thing work quickly is solve this problems later.

    • I try always to alleviate people from feeling stressed about making choices - reminding people we can change things.

  • I probably should have let Zachary leave the conversation much earlier lol

  • The rest of the conversation gets very much in the nuts and bolts of what we are going to do - not much value unless you are part of the team.