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
Elastic APIs: Are microservices the answer? by ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
API Strategy & Practice Conference
November 20, 2015
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elastic APIs: Are microservices the answer? by Orlando Kalossakas
API Strategy & Practice Conference
November 20, 2015
More Decks by API Strategy & Practice Conference
See All by API Strategy & Practice Conference
APIStrat 2016 | The end of polling: why and how to transform a REST API into a Data Streaming API (Audrey Neveu)
apistrat
12
330
APIStrat 2016 | OpenAPI Trek: Beyond API Documentation (Arnaud Lauret)
apistrat
5
240
APIStrat 2016 | Flying Dreams: Real-Time Communication from the Edge of Space (Jonathan Barton, Neha Abrol)
apistrat
1
170
APIStrat 2016 | On-prem support? That was so 1982 (Charlie Ozinga)
apistrat
0
140
APIStrat 2016 | Effortless microservices in production with Kubernetes (Ken Wronkiewicz)
apistrat
0
180
Song by Tony Blank
apistrat
0
210
API Lifecycle Manager by Steve Fonseca
apistrat
2
280
APIs In The Enterprise: How Walgreens Formed It's Digital Business by Drew Schweinfurth
apistrat
1
410
Developers Are Difficult by Andrew Noonan
apistrat
0
150
Other Decks in Technology
See All in Technology
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
4.9k
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
110
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
420
AIはどのように 組織のアジリティを変えるのか?
junki
2
620
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
140
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
150
やさしいA2A入門
minorun365
PRO
12
1.8k
RAG を使わないという選択肢
tatsutaka
1
220
LLMにもCAP定理があるという話
harukasakihara
0
310
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
180
Bedrock AgentCore RuntimeでAuth0 Changelog調査AIをアップグレードした話
t5u8a5a
1
110
AIエージェントが名古屋の猛暑からあなたを守る
happysamurai294
0
100
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
For a Future-Friendly Web
brad_frost
183
10k
Fireside Chat
paigeccino
42
3.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Speed Design
sergeychernyshev
33
1.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Transcript
Elastic APIs Are microservices the answer?
[email protected]
@orliesaurus
My name is.. • Im here to help you build
stuff
Microservices Everyone is talking about this topic, everyone is trying
to take a bite. P.S. They have their own instagram.com/microservices account
The inspiration • Driven From Blueprints • Isolated Resources •
Run Anywhere LOL
Containers are A THING • Have been around since `chroot`
• Became a global trend shortly after the release of Docker the 2013-03-23
Docker interest over time
–Every engineer in a social situation “Oh yeah.. we’re using
containers…”
Independence === pizza:
Qualities of microservices • Deal with problems inside their scope
• Data sharing per service • Available • Versioning • Auto-deployable
//Assume you have an .env file var express = require('express');
var http = require('http'); var mongo = require('mongodb').MongoClient; var app = express(); app.set('port', process.env.PORT || 8080); var mongodb; if(process.env.MONGO_URL) { mongo.connect(process.env.MONGO_URL, null, function(err, mongodb_) { if(err) { console.log(err); } else { mongodb = mongodb_; } }); } app.get('/users', function(req, res, next) { var collection = db.collection('users'); collection.find().toArray(function(err, result) { if(err) { res.sendStatus(500); return; } res.json(result); }); }); app.listen(app.get('port')); Retrieve all users
INTRODUCING: THE GATEWAY…
• Authentication
• Security (transport layer)
• Load Balancing
• Request Dispatching
Example: You wanna buy some
None
⚠ ALL THAT! BAY LIFE
λ
λ!
• Own code + Libraries • Native SDK • Timeouts
and Memory • Use external storage, there’s no root access! • Debug via cloudwatch
• Invoke through Gateway, or other services
λ G A T E W A Y /route λ
λ λ λ GET PUT POST DELETE PATCH
https://github.com/awslabs/aws-apigateway- importer
console.log('Loading function'); exports.handler = function(event, context) { //YOUR CODE GOES
HERE context.succeed(“Hurray”); context.fail(‘oh no :( :(‘); };
swagger: '2.0' info: version: '1.0.0' title: Swagger Petstore description: A
sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification termsOfService: http://helloreverb.com/terms/ contact: name: Swagger API team email:
[email protected]
– Startup guy “2easy4me” ./aws-api-import.sh --create path/to/swagger.json
–Johnny Appleseed “Type a quote here.”
None
None
– (Maybe) A guy employed by Amazon who worked on
Lambda It’s Superfast, like Rambo driving a Lambo TEST IT: squirrelbin.com
TRY, FAIL, LEARN, DISCUSS
[email protected]
@orliesaurus