SlideShare a Scribd company logo
@developersteve #APIDaysAU
OpenResty
Building APIs for scale with
@developersteve #APIDaysAU
@developersteve #APIDaysAU
Steven Cooper
Sniip CTO
Developersteve.com
As Chief Technology Officer for Sniip Steven is
working closely to help scale the platform and
creating new innovative ways for consumers to pay.
With Sniip’s frictionless and easy to use application
he is working with government agencies, councils
and utility companies to implement the technology.
@developersteve #APIDaysAU
About
US
Sniip is a disruptive force in the payment space
It is the first of its kind in Australia as it is a
mobile payment application built not around
a bank or payment brand, but rather,
around the consumer.
About Sniip
Where it started
@developersteve #APIDaysAU
SCAN CHECKOUT
How it Works
The easy way to pay
PIN
@developersteve #APIDaysAU
Other “solutions”
Such advanced technology
@developersteve #APIDaysAU
@developersteve #APIDaysAU
Our Legacy Stack
It has to start somewhere
@developersteve #APIDaysAU
@developersteve #APIDaysAU
<3 AWS
@developersteve #APIDaysAU
Laravel API’s
Php framework
@developersteve #APIDaysAU
PHP is a framework
http://phpthewrongway.com
@developersteve #APIDaysAU
Mysql Schema
Mysql architecture
@developersteve #APIDaysAU
Our Strategy
Rebuilding for scale, elasticity and futureproofing
UX/UI
Create a user
experience that
futureproofs the UX
Functionality
Building relevant
functionality that allows
for scale
Developer Portal
API’s and
Documentation built for
internal and external
User Engagement
Ensuring we build how
users want to use our
platform
@developersteve #APIDaysAU
@developersteve #APIDaysAU
The Stack
Openresty
@developersteve #APIDaysAU
OpenResty
A fusion between Nginx and Lua
@developersteve #APIDaysAU
OpenResty Market Share
Used by nearly half a million websites
https://wappalyzer.com/categories/web-servers
@developersteve #APIDaysAU
Powering Tumblr
Used by high traffic sites
https://news.netcraft.com/archives/2016/09/19/september-2016-web-server-survey.html
@developersteve #APIDaysAU
OpenResty Libs
https://devstev.es/orlibs
@developersteve #APIDaysAU
OpenResty Machine Learning
http://torch.ch/
@developersteve #APIDaysAU
<3 Nginx
Nginx is awesome
@developersteve #APIDaysAU
Lua is back … again
Cant beat a classic
@developersteve #APIDaysAU
Corona SDK
Cross platform mobile
@developersteve #APIDaysAU
Let’s Encrypt
Automatically renewable SSL
@developersteve #APIDaysAU
Auto renew SSL
https://devstev.es/autossl
@developersteve #APIDaysAU
Auto renew SSL
https://devstev.es/autossl2
@developersteve #APIDaysAU
PCI DSS 3.2
Payment Card Industry Data Security Standard
@developersteve #APIDaysAU
Implement TLS
A more secure connection
TLS 1.0
TLS 1.1
TLS 1.2
@developersteve #APIDaysAU
@developersteve #APIDaysAU
Configuration
Setting up the
@developersteve #APIDaysAU
Installing OpenResty
openresty.org
@developersteve #APIDaysAU
Openresty Nginx
Config nginx.conf
./configure
--sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--lock-path=/var/lock/nginx.lock
--pid-path=/var/run/nginx.pid
@developersteve #APIDaysAU
Openresty Libraries
https://devstev.es/orlibs
--with-luajit --with-pcre-jit --with-debug
--with-http_auth_request_module
--with-http_geoip_module
--with-http_gzip_static_module
--with-http_ssl_module
--with-ipv6
--with-http_v2_module
--with-http_postgres_module
@developersteve #APIDaysAU
Make… Install…
@developersteve #APIDaysAU
@developersteve #APIDaysAU
Nginx.conf Loadbalance
Nginx as per normal
@developersteve #APIDaysAU
Nginx.conf Basic
Nginx as per normal
worker_processes auto;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
}
}
@developersteve #APIDaysAU
Nginx.conf SSL/TLS
Nginx as per normal
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on; ssl_ciphers
"EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AE
S256+EDH";ssl_ecdh_curve secp384r1;
ssl_session_timeout 1d;ssl_session_cache
shared:SSL:10m;ssl_session_tickets off;ssl_stapling
on;ssl_stapling_verify on;listen 443 ssl http2;listen [::]:443
ssl http2;ssl_certificate
/etc/letsencrypt/live/website.com/fullchain.pem;ssl_certificat
e_key
/etc/letsencrypt/live/website.com/privkey.pem;add_header
X-Frame-Options DENY;add_header X-Content-Type-
Options nosniff;add_header X-XSS-Protection "1;
mode=block";
@developersteve #APIDaysAU
@developersteve #APIDaysAU
Nginx.conf additionals
Nginx setup
http {
init_by_lua ’
json = require
@developersteve #APIDaysAU
Nginx.conf Routes
Routing like a boss
location / {
content_by_lua_file ”./hello.lua";
}
@developersteve #APIDaysAU
Calling in Lua
helloworl.lua
local cjson = require("cjson")
ngx.status = ngx.HTTP_OK
ngx.header.content_type = "application/json; charset=utf-8”
ngx.say(cjson.encode({ hello = "world" }))
return ngx.exit(ngx.HTTP_OK)
@developersteve #APIDaysAU
Run OpenResty Run
Fingers crossed
nginx -p `pwd`/ -c nginx.conf
@developersteve #APIDaysAU
Nginx.conf Routes
Routing like a boss
location / {
content_by_lua_file ”./hello.lua";
}
location ~/status {
content_by_lua_file ”./status.lua";
}
@developersteve #APIDaysAU
Calling in Lua
Return a status
local cjson = require("cjson")
ngx.status = ngx.HTTP_OK
ngx.header.content_type = "application/json; charset=utf-8”
ngx.say(cjson.encode({ status = true }))
return ngx.exit(ngx.HTTP_OK)
@developersteve #APIDaysAU
@developersteve #APIDaysAU
Template Engine Lua
https://devstev.es/luatemp
@developersteve #APIDaysAU
OpenResty Snippets
https://devstev.es/luasnip
@developersteve #APIDaysAU
Load Testing
I feel the need for speed
@developersteve #APIDaysAU
@developersteve #APIDaysAU
@developersteve #APIDaysAU
BlitzIO
https://blitz.io
@developersteve #APIDaysAU
Legacy
@developersteve #APIDaysAU
OpenResty
@developersteve #APIDaysAU
Response Times
Left is legacy – Right is new
OpenRestyLegacy
@developersteve #APIDaysAU
Hit Rate
Left is legacy – Right is new
OpenRestyLegacy
@developersteve #APIDaysAU
@developersteve #APIDaysAU
Reading
Recommended
@developersteve #APIDaysAU
Designing robust API’s
https://devstev.es/api1
@developersteve #APIDaysAU
What is OpenResty
https://devstev.es/api2
@developersteve #APIDaysAU
Moltin OpenResty
https://devstev.es/api3
@developersteve #APIDaysAU
Thanks
Questions? Comments?
@developersteve #APIDaysAU
8-Bit Open Source
@developersteve #APIDaysAU
Drop Microphone
Walk off stage

More Related Content

What's hot (20)

Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
Icinga
 
Vagrant Plugin development
Vagrant Plugin developmentVagrant Plugin development
Vagrant Plugin development
ru_Parallels
 
Serverless computing con Azure Functions
Serverless computing con Azure FunctionsServerless computing con Azure Functions
Serverless computing con Azure Functions
Hernan Guzman
 
How to Hack (And Secure) Serverless Apps on Azure
How to Hack (And Secure) Serverless Apps on AzureHow to Hack (And Secure) Serverless Apps on Azure
How to Hack (And Secure) Serverless Apps on Azure
Dean Bryen
 
Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 Session
Serge Huber
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
Icinga
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a user
Icinga
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga Director
Icinga
 
Webhooks & Asp.Net
Webhooks & Asp.NetWebhooks & Asp.Net
Webhooks & Asp.Net
Narato
 
Using hapi plugins to version your API (hapiDays 2014)
Using hapi plugins to version your API (hapiDays 2014)Using hapi plugins to version your API (hapiDays 2014)
Using hapi plugins to version your API (hapiDays 2014)
Dave Stevens
 
Building an Event-driven Web @ Impact
Building an Event-driven Web @ ImpactBuilding an Event-driven Web @ Impact
Building an Event-driven Web @ Impact
Jeff Lindsay
 
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
Icinga
 
Introducing the Apache Unomi Project
Introducing the Apache Unomi ProjectIntroducing the Apache Unomi Project
Introducing the Apache Unomi Project
Jahia Solutions Group
 
Parallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce LabsParallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce Labs
Sauce Labs
 
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of IcingaIcinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga
 
Monitoring Gengo using Saas
Monitoring Gengo using SaasMonitoring Gengo using Saas
Monitoring Gengo using Saas
Yosuke Tomita
 
The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...
The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...
The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...
eZ Systems
 
Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2
Assaf Flatto
 
Pragmatic REST aka praxisnahes Schnittstellendesign
Pragmatic REST aka praxisnahes SchnittstellendesignPragmatic REST aka praxisnahes Schnittstellendesign
Pragmatic REST aka praxisnahes Schnittstellendesign
OPEN KNOWLEDGE GmbH
 
Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
Icinga
 
Vagrant Plugin development
Vagrant Plugin developmentVagrant Plugin development
Vagrant Plugin development
ru_Parallels
 
Serverless computing con Azure Functions
Serverless computing con Azure FunctionsServerless computing con Azure Functions
Serverless computing con Azure Functions
Hernan Guzman
 
How to Hack (And Secure) Serverless Apps on Azure
How to Hack (And Secure) Serverless Apps on AzureHow to Hack (And Secure) Serverless Apps on Azure
How to Hack (And Secure) Serverless Apps on Azure
Dean Bryen
 
Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 Session
Serge Huber
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
Icinga
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a user
Icinga
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga Director
Icinga
 
Webhooks & Asp.Net
Webhooks & Asp.NetWebhooks & Asp.Net
Webhooks & Asp.Net
Narato
 
Using hapi plugins to version your API (hapiDays 2014)
Using hapi plugins to version your API (hapiDays 2014)Using hapi plugins to version your API (hapiDays 2014)
Using hapi plugins to version your API (hapiDays 2014)
Dave Stevens
 
Building an Event-driven Web @ Impact
Building an Event-driven Web @ ImpactBuilding an Event-driven Web @ Impact
Building an Event-driven Web @ Impact
Jeff Lindsay
 
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
Icinga
 
Introducing the Apache Unomi Project
Introducing the Apache Unomi ProjectIntroducing the Apache Unomi Project
Introducing the Apache Unomi Project
Jahia Solutions Group
 
Parallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce LabsParallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce Labs
Sauce Labs
 
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of IcingaIcinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga
 
Monitoring Gengo using Saas
Monitoring Gengo using SaasMonitoring Gengo using Saas
Monitoring Gengo using Saas
Yosuke Tomita
 
The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...
The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...
The Business Value of a PaaS (presented by Kieron Sambrook Smith, Chief Comme...
eZ Systems
 
Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2
Assaf Flatto
 
Pragmatic REST aka praxisnahes Schnittstellendesign
Pragmatic REST aka praxisnahes SchnittstellendesignPragmatic REST aka praxisnahes Schnittstellendesign
Pragmatic REST aka praxisnahes Schnittstellendesign
OPEN KNOWLEDGE GmbH
 

Viewers also liked (17)

Productising APIs: from idea to the market
Productising APIs: from idea to the marketProductising APIs: from idea to the market
Productising APIs: from idea to the market
Eldar Allahverdiyev
 
Service fabric demo
Service fabric demoService fabric demo
Service fabric demo
Paul Nichols
 
A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World
3scale
 
Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545
imeldafelicia
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
IQbal KHan
 
Hong Kong Insurance Tech directory (v1.0)
Hong Kong Insurance Tech directory (v1.0)Hong Kong Insurance Tech directory (v1.0)
Hong Kong Insurance Tech directory (v1.0)
InsurTech Asia Association
 
Data Exploration with Apache Drill: Day 1
Data Exploration with Apache Drill:  Day 1Data Exploration with Apache Drill:  Day 1
Data Exploration with Apache Drill: Day 1
Charles Givre
 
Building the future as a full stack dev
Building the future as a full stack devBuilding the future as a full stack dev
Building the future as a full stack dev
Steven Cooper
 
Crowdfunding Marketing, Tips For Facebook Advertising Kickstarter Campaigns
Crowdfunding Marketing, Tips For Facebook Advertising Kickstarter CampaignsCrowdfunding Marketing, Tips For Facebook Advertising Kickstarter Campaigns
Crowdfunding Marketing, Tips For Facebook Advertising Kickstarter Campaigns
Roy Morejon
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn
 
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn
 
Webinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your BusinessWebinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your Business
MongoDB
 
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
Nasrul Akbar
 
K8S in prod
K8S in prodK8S in prod
K8S in prod
Mageshwaran Rajendran
 
Google Cloud Spanner Preview
Google Cloud Spanner PreviewGoogle Cloud Spanner Preview
Google Cloud Spanner Preview
DoiT International
 
Dns security overview
Dns security overviewDns security overview
Dns security overview
Vladimir2003
 
How to use google analytics to track your websites
How to use google analytics to track your websitesHow to use google analytics to track your websites
How to use google analytics to track your websites
Marven Bore
 
Productising APIs: from idea to the market
Productising APIs: from idea to the marketProductising APIs: from idea to the market
Productising APIs: from idea to the market
Eldar Allahverdiyev
 
Service fabric demo
Service fabric demoService fabric demo
Service fabric demo
Paul Nichols
 
A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World
3scale
 
Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545
imeldafelicia
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
IQbal KHan
 
Data Exploration with Apache Drill: Day 1
Data Exploration with Apache Drill:  Day 1Data Exploration with Apache Drill:  Day 1
Data Exploration with Apache Drill: Day 1
Charles Givre
 
Building the future as a full stack dev
Building the future as a full stack devBuilding the future as a full stack dev
Building the future as a full stack dev
Steven Cooper
 
Crowdfunding Marketing, Tips For Facebook Advertising Kickstarter Campaigns
Crowdfunding Marketing, Tips For Facebook Advertising Kickstarter CampaignsCrowdfunding Marketing, Tips For Facebook Advertising Kickstarter Campaigns
Crowdfunding Marketing, Tips For Facebook Advertising Kickstarter Campaigns
Roy Morejon
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn
 
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn Research - Healthcare Analytics Landscape, February 2017
Tracxn
 
Webinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your BusinessWebinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your Business
MongoDB
 
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
Nasrul Akbar
 
Dns security overview
Dns security overviewDns security overview
Dns security overview
Vladimir2003
 
How to use google analytics to track your websites
How to use google analytics to track your websitesHow to use google analytics to track your websites
How to use google analytics to track your websites
Marven Bore
 
Ad

Similar to APIDays Australia - Openresty for scale (20)

CakePHP REST Plugin
CakePHP REST PluginCakePHP REST Plugin
CakePHP REST Plugin
Kevin van Zonneveld
 
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
WSO2
 
Exploring REST Purity and Pragmatism
Exploring REST Purity and PragmatismExploring REST Purity and Pragmatism
Exploring REST Purity and Pragmatism
WSO2
 
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
WSO2
 
Deploy and Secure Your API Gateway with NGINX: From Zero to Hero
Deploy and Secure Your API Gateway with NGINX: From Zero to HeroDeploy and Secure Your API Gateway with NGINX: From Zero to Hero
Deploy and Secure Your API Gateway with NGINX: From Zero to Hero
NGINX, Inc.
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with Grails
Tanausu Cerdeña
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era
.toster
 
Microservices & API Gateways
Microservices & API Gateways Microservices & API Gateways
Microservices & API Gateways
Kong Inc.
 
APIs for mobile
APIs for mobileAPIs for mobile
APIs for mobile
Andrei Navarro
 
Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)
itnig
 
REST-Api Design & Develop
REST-Api Design & DevelopREST-Api Design & Develop
REST-Api Design & Develop
Sabbir Rupom
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
ColdFusionConference
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
Ortus Solutions, Corp
 
Open shift application gallery openshift by red hat
Open shift application gallery   openshift by red hatOpen shift application gallery   openshift by red hat
Open shift application gallery openshift by red hat
mithun s
 
apiGrove
apiGroveapiGrove
apiGrove
gmthomps
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
WSO2
 
Nginx Conference 2016 - Learnings and State of the Industry
Nginx Conference 2016 - Learnings and State of the IndustryNginx Conference 2016 - Learnings and State of the Industry
Nginx Conference 2016 - Learnings and State of the Industry
Benjamin Scholler
 
Services inception in Ruby
Services inception in RubyServices inception in Ruby
Services inception in Ruby
Dave McCrory
 
APIs and Beyond
APIs and BeyondAPIs and Beyond
APIs and Beyond
WSO2
 
Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017
JoEllen Carter
 
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
WSO2
 
Exploring REST Purity and Pragmatism
Exploring REST Purity and PragmatismExploring REST Purity and Pragmatism
Exploring REST Purity and Pragmatism
WSO2
 
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
WSO2
 
Deploy and Secure Your API Gateway with NGINX: From Zero to Hero
Deploy and Secure Your API Gateway with NGINX: From Zero to HeroDeploy and Secure Your API Gateway with NGINX: From Zero to Hero
Deploy and Secure Your API Gateway with NGINX: From Zero to Hero
NGINX, Inc.
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with Grails
Tanausu Cerdeña
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era
.toster
 
Microservices & API Gateways
Microservices & API Gateways Microservices & API Gateways
Microservices & API Gateways
Kong Inc.
 
Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)
itnig
 
REST-Api Design & Develop
REST-Api Design & DevelopREST-Api Design & Develop
REST-Api Design & Develop
Sabbir Rupom
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
Ortus Solutions, Corp
 
Open shift application gallery openshift by red hat
Open shift application gallery   openshift by red hatOpen shift application gallery   openshift by red hat
Open shift application gallery openshift by red hat
mithun s
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
WSO2
 
Nginx Conference 2016 - Learnings and State of the Industry
Nginx Conference 2016 - Learnings and State of the IndustryNginx Conference 2016 - Learnings and State of the Industry
Nginx Conference 2016 - Learnings and State of the Industry
Benjamin Scholler
 
Services inception in Ruby
Services inception in RubyServices inception in Ruby
Services inception in Ruby
Dave McCrory
 
APIs and Beyond
APIs and BeyondAPIs and Beyond
APIs and Beyond
WSO2
 
Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017
JoEllen Carter
 
Ad

More from Steven Cooper (20)

Scaling the Stack and Yourself with it
Scaling the Stack and Yourself with itScaling the Stack and Yourself with it
Scaling the Stack and Yourself with it
Steven Cooper
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
Steven Cooper
 
Compcon 2016 Workshop
Compcon 2016 WorkshopCompcon 2016 Workshop
Compcon 2016 Workshop
Steven Cooper
 
The Robot and the Cloud
The Robot and the CloudThe Robot and the Cloud
The Robot and the Cloud
Steven Cooper
 
PHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHPPHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHP
Steven Cooper
 
Textual Interface - the rise of the chatbot
Textual Interface - the rise of the chatbotTextual Interface - the rise of the chatbot
Textual Interface - the rise of the chatbot
Steven Cooper
 
Bootstrapping Startup
Bootstrapping StartupBootstrapping Startup
Bootstrapping Startup
Steven Cooper
 
Unihack2016 opening
Unihack2016 openingUnihack2016 opening
Unihack2016 opening
Steven Cooper
 
Unihack2016 closing
Unihack2016 closingUnihack2016 closing
Unihack2016 closing
Steven Cooper
 
IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino
Steven Cooper
 
Time Travelling E-Commerce
Time Travelling E-CommerceTime Travelling E-Commerce
Time Travelling E-Commerce
Steven Cooper
 
The Wizardry of Braintree hosted fields - PHP
The Wizardry of Braintree hosted fields - PHPThe Wizardry of Braintree hosted fields - PHP
The Wizardry of Braintree hosted fields - PHP
Steven Cooper
 
The PayPal Here symphony
The PayPal Here symphonyThe PayPal Here symphony
The PayPal Here symphony
Steven Cooper
 
Holographic Payments
Holographic PaymentsHolographic Payments
Holographic Payments
Steven Cooper
 
MongoDB - The database strikes back
MongoDB - The database strikes back MongoDB - The database strikes back
MongoDB - The database strikes back
Steven Cooper
 
PHP Australia
PHP AustraliaPHP Australia
PHP Australia
Steven Cooper
 
Drupal South - IoT Commerce
Drupal South - IoT CommerceDrupal South - IoT Commerce
Drupal South - IoT Commerce
Steven Cooper
 
E-Commerce Melbourne
E-Commerce Melbourne E-Commerce Melbourne
E-Commerce Melbourne
Steven Cooper
 
APIDays Sydney
APIDays SydneyAPIDays Sydney
APIDays Sydney
Steven Cooper
 
BattleHack Melbourne
BattleHack MelbourneBattleHack Melbourne
BattleHack Melbourne
Steven Cooper
 
Scaling the Stack and Yourself with it
Scaling the Stack and Yourself with itScaling the Stack and Yourself with it
Scaling the Stack and Yourself with it
Steven Cooper
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
Steven Cooper
 
Compcon 2016 Workshop
Compcon 2016 WorkshopCompcon 2016 Workshop
Compcon 2016 Workshop
Steven Cooper
 
The Robot and the Cloud
The Robot and the CloudThe Robot and the Cloud
The Robot and the Cloud
Steven Cooper
 
PHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHPPHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHP
Steven Cooper
 
Textual Interface - the rise of the chatbot
Textual Interface - the rise of the chatbotTextual Interface - the rise of the chatbot
Textual Interface - the rise of the chatbot
Steven Cooper
 
Bootstrapping Startup
Bootstrapping StartupBootstrapping Startup
Bootstrapping Startup
Steven Cooper
 
IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino
Steven Cooper
 
Time Travelling E-Commerce
Time Travelling E-CommerceTime Travelling E-Commerce
Time Travelling E-Commerce
Steven Cooper
 
The Wizardry of Braintree hosted fields - PHP
The Wizardry of Braintree hosted fields - PHPThe Wizardry of Braintree hosted fields - PHP
The Wizardry of Braintree hosted fields - PHP
Steven Cooper
 
The PayPal Here symphony
The PayPal Here symphonyThe PayPal Here symphony
The PayPal Here symphony
Steven Cooper
 
Holographic Payments
Holographic PaymentsHolographic Payments
Holographic Payments
Steven Cooper
 
MongoDB - The database strikes back
MongoDB - The database strikes back MongoDB - The database strikes back
MongoDB - The database strikes back
Steven Cooper
 
Drupal South - IoT Commerce
Drupal South - IoT CommerceDrupal South - IoT Commerce
Drupal South - IoT Commerce
Steven Cooper
 
E-Commerce Melbourne
E-Commerce Melbourne E-Commerce Melbourne
E-Commerce Melbourne
Steven Cooper
 
BattleHack Melbourne
BattleHack MelbourneBattleHack Melbourne
BattleHack Melbourne
Steven Cooper
 

Recently uploaded (20)

Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
Edge AI and Vision Alliance
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
Edge AI and Vision Alliance
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 

APIDays Australia - Openresty for scale

Editor's Notes

  • #2: So awesome to be speaking at my 5th ApiDays in Australia I still remember speaking at the first one in Sydney and its been awesome seeing it grow like it has in Australia and New Zealand
  • #3: Previous to my current role I was an evangelist with paypal and xero travelling nearly half a million kms speaking at conferences throughout Asia pacific
  • #4: About us The platform Tech debt is unavoidable – from the moment you start that first git repo to the time you deploy the clock is ticking Why openresty openresty http2 Lets encrypt Speed tests Clustering Redis
  • #10: Tech debt is unavoidable
  • #11: AWS is awesome, however theres some things I don’t like
  • #20: TLS 1.2 enable
  • #33: Download and build form source ./configure –j2 make –j2 Sudo make install
  • #34: Make install nginx with configuration, you can configure all the usual default settings as part of the nginx stack
  • #35: At this point you can also start calling in all the openresty libraries that youll need inside your apis, like http2 posgres or database connections
  • #36: Load balancing
  • #37: Load balancing
  • #41: Load balancing
  • #42: Initiate common lua requirements inside the nginx.conf block, this saves time having to call them into the lua files later
  • #48: Comparing apples to oranges
  • #52: Comparing apples to oranges
  • #53: TLS 1.0
  • #55: T2 small instance with 2 gigs of memory
  • #56: Ec2 micro – 500 meg mem and a 2 gig swapspace
  • #59: TLS 1.0