In a recent InfoQ podcast, Johnny Boursiquot, site reliability engineer at Heroku, discussed a range of topics that included: why Go is a useful language for building Function-as-a-Service (FaaS) style applications; how Heroku implements the role of site reliability engineer (SRE); and why the ability to teach is such a valuable skill.

Boursiquot began by exploring why Go is a productive language for building Function-as-a-Service (FaaS) style applications. He stated that the design of the Go runtime provided a number of benefits for this style of platform, for example: the ability to build Go applications into a static binary reduces the need for dependency management, and the quick runtime and application start time is good for initiation and scaling. Core Go usage patterns and programming idioms also don’t have to be radically changed when designing function-based applications:

…the biggest thing for me is that I didn’t have to change the way I was doing Go, some of the same practices that I had learned over the years, they still applied.

The FaaS development toolchain has improved over the years. Many cloud providers now provide local runtimes, e.g. AWS SAM Local and Azure Functions, and service simulators, e.g. LocalStack and GCP’s Cloud Emulators. Testing in production is facilitated by the ability to do dark launching and canary releasing at the ingress or API gateway.

Boursiquot argued that developing “serverless” applications does not remove the need for operational expertise on a development team. Designing systems appropriately, getting the most out of the runtime, and designing to control pay-as-you-go costs requires knowledge of the underlying infrastructure components.

You need operations. You need somebody who’s on your team who’s operationally minded. You need infrastructure configuration. You need somebody to worry about the operability of whatever it is that you’re going to put out there and you need somebody who understands what it means to have a canary release, what it means to do some traffic shifting. You need somebody with that mindset.

#faas #go language #devops #development #news

Johnny Boursiquot on Serverless Go and SREs as "Diplomats"
1.30 GEEK