Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Go Serverless - Golang NE February 2018

122 views

Published on

An exploration of serverless Go. Specifically focussing on AWS and tools such as Apex and Up. Extra material can be found here: https://mhemmings.co.uk/blog/go-serverless-golangne/

Published in: Software
  • Be the first to comment

  • Be the first to like this

Go Serverless - Golang NE February 2018

  1. 1. Go Serverless Mark Hemmings CTO
 Gym Plan
  2. 2. Serverless?
  3. 3. • Code focussed • Asynchronous • Ephemeral • Stateless • “Infinitely” scaleable “Serverless”
  4. 4. • AWS Lambda • Google Cloud Functions (BETA) • Azure Functions “Serverless”
  5. 5. 👍 Price • Cheap (many workloads) • Don’t pay for idle time • Compute power in 100ms increments • Don’t over provision
  6. 6. 👍 Available • and regional
  7. 7. 👍 Security • Fine grained • Who/what invokes • What runtime can do/access • Ephemeral, read-only environments • API Throttling
  8. 8. 👍 Easy • Easy to write • Do you even code? Maybe not. • Hard to debug? Maybe. • Hard to manage and deploy? Not anymore.
  9. 9. Anything Invocation Objects Data HTTP IoT Email Time
  10. 10. Demo!
  11. 11. Lambda Lifecycle Event Response Code Resources
  12. 12. Demo!
  13. 13. –You “This is tedious.”
  14. 14. Apex • Build, deploy, and manage Lambda functions with ease • Non-native languages • Environments and versions • Infrastructure management using Terraform • Metrics, logs, and cost analysis
  15. 15. Demo!
  16. 16. Up • “Deploy infinitely scalable serverless apps, APIs, and static websites in seconds” • Write “vanilla” HTTP servers • Built-in middleware • Encrypted env vars (pro) • Alerting (pro) • Active warming (pro)
  17. 17. Demo!
  18. 18. Up API Gateway Lambda Up Proxy Go
 Binary CloudWatch Internet
  19. 19. Final demo!
  20. 20. Beware! • DB connections / IP addresses • No more Go concurrency • Use the correct tool
  21. 21. Recap • Learn nuances • Don’t attempt to manage in the AWS dashboard • Roll your own? (AWS CLI, CloudFormation, Terraform, SAM) • Apex for FaaS • Up for web applications • Try today!
  22. 22. Going Further • You’ll want to do more and start managing resources together • AWS Serverless Application Model (SAM)
  23. 23. Resources • Apex: apex.run / github.com/apex/apex • Up: up.docs.apex.sh / github.com/apex/up • Slack Support: chat.apex.sh
  24. 24. Fin. @mhemmings

×