Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Serverless Slack bot
Search
lielran
February 27, 2017
Technology
1
260
Serverless Slack bot
Serverless slack bot @Hibob
lielran
February 27, 2017
Tweet
Share
More Decks by lielran
See All by lielran
aws-sageMaker
lielran
0
21
All-In-On-Serverless
lielran
1
49
the future of development environment
lielran
0
46
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
220
データの整合性を保ちたいだけなんだ
shoheimitani
8
3k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
140
なぜ今、コスト最適化(倹約)が必要なのか? ~AWSでのコスト最適化の進め方「目的編」~
htan
1
110
配列に見る bash と zsh の違い
kazzpapa3
1
110
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
820
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
190
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
Cosmos World Foundation Model Platform for Physical AI
takmin
0
420
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
210
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
62
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
310
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
90
Tell your own story through comics
letsgokoyo
1
810
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
Discover your Explorer Soul
emna__ayadi
2
1.1k
How to make the Groovebox
asonas
2
1.9k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
320
Transcript
None
Private & Confidential 2 HIBOB.COM SORTING THE PEOPLE STUFF
Private & Confidential 3 HR Bob in a nutshell Digital
Broker & All in one cloud-based platform for SMEs
Private & Confidential 4 Employee Engagement . Leveraging the platforms
Buying power. Up-selling private insurance. Bob in a nutshell
The mission Slack service @hibob Serverless framework Benefits Challenges The
Agenda
Build a Slack Service Simple setup Fast development Easy to
onboard new team members The Mission
Slack service @hibob
The Serverless framework Cli tool(Nodejs) Cloudformation based Supports multiple regions
Supports multiple Stages per region Can deploy all(function) or only one of them Versioning and Rollback supported. Support environments variables for each environment
Serverless 101 Serverless.yml file (config) Function Handlers (code)
Serverless.yml(config) file service: hello-lambda provider: name: aws runtime: nodejs4.3 #
(Support LTS versions) functions: hello: handler: handler.hello memorySize: 1524 # optional, default is 1024 timeout: 10 # timeout in secs events: - http: #other events: S3, schedule, sns, DynamoDbStream, alexaSkill, IOT path: users/create method: get custom: FOO: BAR resources: … # CloudFormation resource templates
The function • Event - event data to the handler
• Context - runtime information • Callback - optional callback to return information to the caller
The Serverless framework - deployment $ serverless deploy Serverless.yml Zip
Cloudformation update Update Lambda
Other frameworks Apex Aws SAM And many more!
None
Slack - OAuth
Slack - Scopes 1. Webhook - url that you can
post messages to 2. Command - invoke request for data (e.g /giphy ) 3. Bot - read your channel data
Slack Service - OAuth
Slack Service - Webhooks(Cron)
Slack Service - Command
Slack Service - Command
Serverless Slack Service - Benefits Cost effective Fast development Infinite
scale Easy setup Easy onboarding new team members
Pitfalls
Pitfall #1 - Submit request only after long live token
Pitfall #2 - Use Lambda Proxy integration
Pitfall #3 - Node.Js On lambda Aws Lambda support only
LTS version Keep the setup simple - avoid babel/webpack if you can
Challenges Unit / Integration testing Debug Development flow in teams
Service discovery Architecture Communication with other lambdas Cold starts Monitoring/Health checks
Questions?