Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GolangUK 17: GOing on the Road Less Bumpy

GolangUK 17: GOing on the Road Less Bumpy

How GlobalSign chose Golang for developing its next generation digital identity and signature platforms.

Vlad Galu

August 20, 2017
Tweet

More Decks by Vlad Galu

Other Decks in Technology

Transcript

  1. Going on the road less bumpy Vlad Galu VP Engineering,

    GlobalSign Luuk van den Broek Maciej Galkowski Dominic Dwyer
  2. GlobalSign Identity & crypto services provider, WebTrust certified Certificate Authority

    - 3rd in the world Providers' provider - you probably have used us today without knowing
  3. GlobalSign We fly under the radar, until we have a

    glitch Oct 2016: a bug in our OCSP responder rendered a large portion of the web inaccessible, alerting the world to GlobalSign's existence
  4. Technology evolution DV SSL commoditised by Let's Encrypt Focus shifting

    to digital blob signature and industrial IoT/IoE PKI applications with strong device identity needs (automotive, healthcare, oil & gas) Ease of use key to creating an ecosystem - traditional PKI protocols tedious and not flexible enough Different scales (billions of identities vs millions in use today) High throughput, low latency issuance critical to real time enrolment/signing
  5. How we operate Highly regulated and audited industry Physically and

    digitally secure facility owned and operated by us No remote access to the signing backend A lot of data Finite real estate makes horizontal scaling more difficult
  6. Enter Go Statically typed Good memory model Reasonably fast Easy

    to learn Event driven programming patterns well handled by the runtime Interfaces well enough with 3rd party crypto hardware C libraries
  7. The Cathedral and the Bazaar Go has been a cathedral,

    the ecosystem has been a bazaar The amount of choice in the community can be daunting Finding the right balance between control and magic early on is important Some assembly will be required If all else fails, DIY Easy come, easy go: your favourite library can lose maintainership
  8. Have we made the right choice? Code evolves quickly from

    PoC to production grade, allowing us to build many things along with the team Exceptional tooling improves collaboration regardless of individual environment preferences Maintaining good coding discipline is important, but easy and and keeping things fun Previously DIYed improvements are now part of stdlib: monotonic time, net/http sync.Pool buffering, vectored I/O, subtests, crypto Go does not try to be all things to all people, but it is many things to us
  9. Be the change you want to see in the world

    Report or fix bugs in Go and Go projects Volunteer maintainership of projects that matter to you Relinquish maintainership of projects you have no bandwidth for Open source those your business relies on Try it on your platform - *BSD, Windows
  10. Thank you Vlad Galu VP Engineering, GlobalSign Luuk van den

    Broek Maciej Galkowski Dominic Dwyer https://www.globalsign.com (https://www.globalsign.com)