SlideShare a Scribd company logo
1 of 14
Download to read offline
Amazingly Simple Serverless Go
September 2017 Golang Meetup
Yun Zhi Lin, Microservices Architect
1
2
3
Why Go + Serverless
(Gopher) Event Driven Architecture
Demo and Examples
Why SLS Golang
Why
People want Golang!
But got .Net Core instead 
Why Serverless Framework?
The most versatile out of all golang enabled serverless libraries
Framework Provider Languages Golang Shim Infrastructure
Apex AWS Node
Golang
Node Partial
GoSparta AWS Golang Node Partial
Serverless
Framework
AWS
Azure
Google
Openwhisk
Kubeless
Python
Node
Java
.Net
Python Full
- Dev friendly
YML
- Ops friendly CF
Secret Sauce – EAWSY Shim
Eawsy’s Shim is 2nd fastest way to run AWS Lambda from cold starts
(Gopher)
Event Driven
Architecture
Life prior to Microservices and Gophers
Mobile Backend
Frontend
Life after Event Driven Microservices, with Gophers!
2 Docker Go MicroServices + 14 Go Lambdas
SSO SCVJAMstack JAMstack
Demo & Examples
Kinesis Event Source
Go code serverless.yml
func DataLogger(
evt *kinesisstreamsevt.Event)(
interface{}, error) {
rs := evt.Records
for r := range rs {
log.Println(r)
}
return evt.String(), nil
}
functions:
logger:
handler:
handler.DataLogger
events:
- stream:
${env:AWS_KINESIS_ARN}
Go Net with API Gateway
Go code serverless.yml
functions:
crud:
handler: handler.Handler
events:
- http:
path: todos
method: post
cors: true
- http:
path: todos
method: get
cors: true
- http:
path: todos/{id}
method: get
cors: true
func setUpMux() *mux.Router {
r := mux.NewRouter()
r.HandleFunc("/todos", create)
.Methods(http.MethodPost)
r.HandleFunc("/todos", list)
.Methods(http.MethodGet)
r.HandleFunc("/todos/{id}", read)
.Methods(http.MethodGet)
…
return r
}
Demo
Credits and Road Map
This library would not be possible without the help of:
• @cristm from HereMaps
• Serverless.com and Eawsy.com
• @flemay from amaysim for the awesome logo
Coming soon:
• dynamodb example with localstack
• Event Gateway and FDK
• Azure integration

More Related Content

What's hot

Rescale New Feature: Bring Your Own VPC
Rescale New Feature: Bring Your Own VPCRescale New Feature: Bring Your Own VPC
Rescale New Feature: Bring Your Own VPCTakahisa Shiratori
 
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...Amazon Web Services
 
.NET Serverless Development on AWS - AWS Online Tech Talks
.NET Serverless Development on AWS - AWS Online Tech Talks.NET Serverless Development on AWS - AWS Online Tech Talks
.NET Serverless Development on AWS - AWS Online Tech TalksAmazon Web Services
 
Integrating API Gateway and internal ELB
Integrating API Gateway and internal ELBIntegrating API Gateway and internal ELB
Integrating API Gateway and internal ELBJuan Diaz
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐Pahud Hsieh
 
Intro to js august 31
Intro to js august 31Intro to js august 31
Intro to js august 31Thinkful
 
Aws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noidaAws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noidaAlbert Anthony
 
Serverless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating AppServerless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating AppSrushith Repakula
 
Introduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialIntroduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialBizTalk360
 
.Net Development on AWS
.Net Development on AWS.Net Development on AWS
.Net Development on AWSMatthew Will
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for IntegrationBizTalk360
 
Developing serverless applications with .NET on AWS
Developing serverless applications with .NET on AWSDeveloping serverless applications with .NET on AWS
Developing serverless applications with .NET on AWSWoody Pewitt
 
Serverless Computing
Serverless Computing Serverless Computing
Serverless Computing Rushi Namani
 
Serverless Architecture on AWS
Serverless Architecture on AWSServerless Architecture on AWS
Serverless Architecture on AWSRajind Ruparathna
 
Introduction to AWS Lambda with Python
Introduction to AWS Lambda with PythonIntroduction to AWS Lambda with Python
Introduction to AWS Lambda with Pythonadaplo
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples Yochay Kiriaty
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSCodeOps Technologies LLP
 

What's hot (19)

Rescale New Feature: Bring Your Own VPC
Rescale New Feature: Bring Your Own VPCRescale New Feature: Bring Your Own VPC
Rescale New Feature: Bring Your Own VPC
 
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 
.NET Serverless Development on AWS - AWS Online Tech Talks
.NET Serverless Development on AWS - AWS Online Tech Talks.NET Serverless Development on AWS - AWS Online Tech Talks
.NET Serverless Development on AWS - AWS Online Tech Talks
 
Integrating API Gateway and internal ELB
Integrating API Gateway and internal ELBIntegrating API Gateway and internal ELB
Integrating API Gateway and internal ELB
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
 
Intro to js august 31
Intro to js august 31Intro to js august 31
Intro to js august 31
 
Practical Cloud
Practical CloudPractical Cloud
Practical Cloud
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Aws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noidaAws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noida
 
Serverless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating AppServerless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating App
 
Introduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialIntroduction to Azure Functions - Tutorial
Introduction to Azure Functions - Tutorial
 
.Net Development on AWS
.Net Development on AWS.Net Development on AWS
.Net Development on AWS
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for Integration
 
Developing serverless applications with .NET on AWS
Developing serverless applications with .NET on AWSDeveloping serverless applications with .NET on AWS
Developing serverless applications with .NET on AWS
 
Serverless Computing
Serverless Computing Serverless Computing
Serverless Computing
 
Serverless Architecture on AWS
Serverless Architecture on AWSServerless Architecture on AWS
Serverless Architecture on AWS
 
Introduction to AWS Lambda with Python
Introduction to AWS Lambda with PythonIntroduction to AWS Lambda with Python
Introduction to AWS Lambda with Python
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
 

Similar to Amazingly Simple Serverless Go

A Year of Droplr Cloud Architecture Evolution with AWS and Serverless
A Year of Droplr Cloud Architecture Evolution with AWS and ServerlessA Year of Droplr Cloud Architecture Evolution with AWS and Serverless
A Year of Droplr Cloud Architecture Evolution with AWS and ServerlessAntoni Orfin
 
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureAWS Vietnam Community
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Julien SIMON
 
Introduction to the Serverless paradigm
Introduction to the Serverless paradigmIntroduction to the Serverless paradigm
Introduction to the Serverless paradigmAlex Casalboni
 
Technology | Serverless
Technology | ServerlessTechnology | Serverless
Technology | ServerlessAni Sinanaj
 
WAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverlessWAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverlessAnco Stuij
 
Deep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY LoftDeep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY LoftAmazon Web Services
 
Jets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 April
Jets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 AprilJets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 April
Jets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 AprilTung Nguyen
 
Jets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 May
Jets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 MayJets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 May
Jets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 MayTung Nguyen
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAMAmazon Web Services
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!Kyuhyun Byun
 
Jets: The Ruby Serverless Framework Nashville Tennessee 2019 August
Jets: The Ruby Serverless Framework Nashville Tennessee 2019 AugustJets: The Ruby Serverless Framework Nashville Tennessee 2019 August
Jets: The Ruby Serverless Framework Nashville Tennessee 2019 AugustTung Nguyen
 
Azure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverlessAzure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverlessAnco Stuij
 
Ballerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsBallerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsAnjana Fernando
 
Ballerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsBallerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsAnjana Fernando
 
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...Ballerinalang
 
Go Serverless with Azure
Go Serverless with AzureGo Serverless with Azure
Go Serverless with AzureSergey Seletsky
 
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...Ballerinalang
 
SRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentSRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentAmazon Web Services
 

Similar to Amazingly Simple Serverless Go (20)

A Year of Droplr Cloud Architecture Evolution with AWS and Serverless
A Year of Droplr Cloud Architecture Evolution with AWS and ServerlessA Year of Droplr Cloud Architecture Evolution with AWS and Serverless
A Year of Droplr Cloud Architecture Evolution with AWS and Serverless
 
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless Architecture
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
 
Introduction to the Serverless paradigm
Introduction to the Serverless paradigmIntroduction to the Serverless paradigm
Introduction to the Serverless paradigm
 
Technology | Serverless
Technology | ServerlessTechnology | Serverless
Technology | Serverless
 
WAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverlessWAZUG - Ring video doorbell meets Azure serverless
WAZUG - Ring video doorbell meets Azure serverless
 
Deep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY LoftDeep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY Loft
 
Jets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 April
Jets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 AprilJets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 April
Jets: The Ruby Serverless Framework Ruby Kaigi Japan 2019 April
 
Jets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 May
Jets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 MayJets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 May
Jets: The Ruby Serverless Framework Balkan Ruby Bulgaria 2019 May
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAM
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
Jets: The Ruby Serverless Framework Nashville Tennessee 2019 August
Jets: The Ruby Serverless Framework Nashville Tennessee 2019 AugustJets: The Ruby Serverless Framework Nashville Tennessee 2019 August
Jets: The Ruby Serverless Framework Nashville Tennessee 2019 August
 
Azure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverlessAzure Thursday - Ring video doorbell meets Azure serverless
Azure Thursday - Ring video doorbell meets Azure serverless
 
Apache OpenWhisk
Apache OpenWhiskApache OpenWhisk
Apache OpenWhisk
 
Ballerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsBallerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOps
 
Ballerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsBallerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOps
 
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
 
Go Serverless with Azure
Go Serverless with AzureGo Serverless with Azure
Go Serverless with Azure
 
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
 
SRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentSRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application Development
 

More from Yun Zhi Lin

Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...
Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...
Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...Yun Zhi Lin
 
Art of Serverless Business Value - Serverless Days Sydney 2019
Art of Serverless Business Value - Serverless Days Sydney 2019Art of Serverless Business Value - Serverless Days Sydney 2019
Art of Serverless Business Value - Serverless Days Sydney 2019Yun Zhi Lin
 
Anticorrupting the Enterprise - Serverlessconf NYC 2017
Anticorrupting the Enterprise - Serverlessconf NYC 2017Anticorrupting the Enterprise - Serverlessconf NYC 2017
Anticorrupting the Enterprise - Serverlessconf NYC 2017Yun Zhi Lin
 
Financial Forecasting using Recurrent Neural Network, Social Media and Cloud
Financial Forecasting using Recurrent Neural Network, Social Media and CloudFinancial Forecasting using Recurrent Neural Network, Social Media and Cloud
Financial Forecasting using Recurrent Neural Network, Social Media and CloudYun Zhi Lin
 
Easy Serverless Golang
Easy Serverless GolangEasy Serverless Golang
Easy Serverless GolangYun Zhi Lin
 
4 Success stories in 3 years - A Docker Production Journey
4 Success stories in 3 years - A Docker Production Journey4 Success stories in 3 years - A Docker Production Journey
4 Success stories in 3 years - A Docker Production JourneyYun Zhi Lin
 
Nano Segmentation - A Docker Security Journey
Nano Segmentation - A Docker Security JourneyNano Segmentation - A Docker Security Journey
Nano Segmentation - A Docker Security JourneyYun Zhi Lin
 
Dropwizard and Friends
Dropwizard and FriendsDropwizard and Friends
Dropwizard and FriendsYun Zhi Lin
 
A Tale of Contemporary Software
A Tale of Contemporary SoftwareA Tale of Contemporary Software
A Tale of Contemporary SoftwareYun Zhi Lin
 
Microservices and Friends
Microservices and FriendsMicroservices and Friends
Microservices and FriendsYun Zhi Lin
 
Dropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google CloudDropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google CloudYun Zhi Lin
 

More from Yun Zhi Lin (11)

Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...
Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...
Applied AI, Open Banking and Continuous Innovation the Easy Way - AI Days Mel...
 
Art of Serverless Business Value - Serverless Days Sydney 2019
Art of Serverless Business Value - Serverless Days Sydney 2019Art of Serverless Business Value - Serverless Days Sydney 2019
Art of Serverless Business Value - Serverless Days Sydney 2019
 
Anticorrupting the Enterprise - Serverlessconf NYC 2017
Anticorrupting the Enterprise - Serverlessconf NYC 2017Anticorrupting the Enterprise - Serverlessconf NYC 2017
Anticorrupting the Enterprise - Serverlessconf NYC 2017
 
Financial Forecasting using Recurrent Neural Network, Social Media and Cloud
Financial Forecasting using Recurrent Neural Network, Social Media and CloudFinancial Forecasting using Recurrent Neural Network, Social Media and Cloud
Financial Forecasting using Recurrent Neural Network, Social Media and Cloud
 
Easy Serverless Golang
Easy Serverless GolangEasy Serverless Golang
Easy Serverless Golang
 
4 Success stories in 3 years - A Docker Production Journey
4 Success stories in 3 years - A Docker Production Journey4 Success stories in 3 years - A Docker Production Journey
4 Success stories in 3 years - A Docker Production Journey
 
Nano Segmentation - A Docker Security Journey
Nano Segmentation - A Docker Security JourneyNano Segmentation - A Docker Security Journey
Nano Segmentation - A Docker Security Journey
 
Dropwizard and Friends
Dropwizard and FriendsDropwizard and Friends
Dropwizard and Friends
 
A Tale of Contemporary Software
A Tale of Contemporary SoftwareA Tale of Contemporary Software
A Tale of Contemporary Software
 
Microservices and Friends
Microservices and FriendsMicroservices and Friends
Microservices and Friends
 
Dropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google CloudDropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google Cloud
 

Recently uploaded

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 

Recently uploaded (20)

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 

Amazingly Simple Serverless Go

  • 1. Amazingly Simple Serverless Go September 2017 Golang Meetup Yun Zhi Lin, Microservices Architect
  • 2. 1 2 3 Why Go + Serverless (Gopher) Event Driven Architecture Demo and Examples
  • 4. People want Golang! But got .Net Core instead 
  • 5. Why Serverless Framework? The most versatile out of all golang enabled serverless libraries Framework Provider Languages Golang Shim Infrastructure Apex AWS Node Golang Node Partial GoSparta AWS Golang Node Partial Serverless Framework AWS Azure Google Openwhisk Kubeless Python Node Java .Net Python Full - Dev friendly YML - Ops friendly CF
  • 6. Secret Sauce – EAWSY Shim Eawsy’s Shim is 2nd fastest way to run AWS Lambda from cold starts
  • 8. Life prior to Microservices and Gophers Mobile Backend Frontend
  • 9. Life after Event Driven Microservices, with Gophers! 2 Docker Go MicroServices + 14 Go Lambdas SSO SCVJAMstack JAMstack
  • 11. Kinesis Event Source Go code serverless.yml func DataLogger( evt *kinesisstreamsevt.Event)( interface{}, error) { rs := evt.Records for r := range rs { log.Println(r) } return evt.String(), nil } functions: logger: handler: handler.DataLogger events: - stream: ${env:AWS_KINESIS_ARN}
  • 12. Go Net with API Gateway Go code serverless.yml functions: crud: handler: handler.Handler events: - http: path: todos method: post cors: true - http: path: todos method: get cors: true - http: path: todos/{id} method: get cors: true func setUpMux() *mux.Router { r := mux.NewRouter() r.HandleFunc("/todos", create) .Methods(http.MethodPost) r.HandleFunc("/todos", list) .Methods(http.MethodGet) r.HandleFunc("/todos/{id}", read) .Methods(http.MethodGet) … return r }
  • 13. Demo
  • 14. Credits and Road Map This library would not be possible without the help of: • @cristm from HereMaps • Serverless.com and Eawsy.com • @flemay from amaysim for the awesome logo Coming soon: • dynamodb example with localstack • Event Gateway and FDK • Azure integration