SlideShare a Scribd company logo
1 of 65
@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 "cjson";
';
}
@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

Introducing the Apache Unomi Project
Introducing the Apache Unomi ProjectIntroducing the Apache Unomi Project
Introducing the Apache Unomi Project
Jahia Solutions Group
 

What's hot (20)

Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
 
Vagrant Plugin development
Vagrant Plugin developmentVagrant Plugin development
Vagrant Plugin development
 
Serverless computing con Azure Functions
Serverless computing con Azure FunctionsServerless computing con Azure Functions
Serverless computing con Azure Functions
 
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
 
Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 Session
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a user
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga Director
 
Webhooks & Asp.Net
Webhooks & Asp.NetWebhooks & Asp.Net
Webhooks & Asp.Net
 
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)
 
Building an Event-driven Web @ Impact
Building an Event-driven Web @ ImpactBuilding an Event-driven Web @ Impact
Building an Event-driven Web @ Impact
 
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and Ansible
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
 
Introducing the Apache Unomi Project
Introducing the Apache Unomi ProjectIntroducing the Apache Unomi Project
Introducing the Apache Unomi Project
 
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
 
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
 
Monitoring Gengo using Saas
Monitoring Gengo using SaasMonitoring Gengo using Saas
Monitoring Gengo using Saas
 
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...
 
Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2
 
Pragmatic REST aka praxisnahes Schnittstellendesign
Pragmatic REST aka praxisnahes SchnittstellendesignPragmatic REST aka praxisnahes Schnittstellendesign
Pragmatic REST aka praxisnahes Schnittstellendesign
 

Viewers also liked

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
 
Service fabric demo
Service fabric demoService fabric demo
Service fabric demo
 
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
 
Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545Tugas 4 0317-imelda felicia-1412510545
Tugas 4 0317-imelda felicia-1412510545
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
 
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)
 
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
 
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
 
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
 
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 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
 
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
 
Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552Tugas4 0317-nasrulakbar-141250552
Tugas4 0317-nasrulakbar-141250552
 
K8S in prod
K8S in prodK8S in prod
K8S in prod
 
Google Cloud Spanner Preview
Google Cloud Spanner PreviewGoogle Cloud Spanner Preview
Google Cloud Spanner Preview
 
Dns security overview
Dns security overviewDns security overview
Dns security overview
 
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
 

Similar to APIDays Australia - Openresty for scale

Similar to APIDays Australia - Openresty for scale (20)

apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
apidays Australia 2023 - APIs Aren't Enough: Why SaaS Leaders Are Investing I...
 
Creating and Managing a Paperless Enterprise
Creating and Managing a Paperless EnterpriseCreating and Managing a Paperless Enterprise
Creating and Managing a Paperless Enterprise
 
Bootstrapping an App for Launch
Bootstrapping an App for LaunchBootstrapping an App for Launch
Bootstrapping an App for Launch
 
Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...
Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...
Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...
 
Cqcon2015
Cqcon2015Cqcon2015
Cqcon2015
 
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)
 
Open stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareOpen stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshare
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
 
Juraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CVJuraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CV
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
 
Containers 101 - CloudCamp London
Containers 101 - CloudCamp LondonContainers 101 - CloudCamp London
Containers 101 - CloudCamp London
 
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
 
We-Donut.io presentation of Platform
We-Donut.io presentation of PlatformWe-Donut.io presentation of Platform
We-Donut.io presentation of Platform
 
Apidaze WebRTC Workshop barcelona 21st april 2013
Apidaze WebRTC Workshop barcelona 21st april 2013Apidaze WebRTC Workshop barcelona 21st april 2013
Apidaze WebRTC Workshop barcelona 21st april 2013
 
HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!
 

More from 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
 

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
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
 
Compcon 2016 Workshop
Compcon 2016 WorkshopCompcon 2016 Workshop
Compcon 2016 Workshop
 
The Robot and the Cloud
The Robot and the CloudThe Robot and the Cloud
The Robot and the Cloud
 
PHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHPPHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHP
 
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
 
Bootstrapping Startup
Bootstrapping StartupBootstrapping Startup
Bootstrapping Startup
 
Unihack2016 opening
Unihack2016 openingUnihack2016 opening
Unihack2016 opening
 
Unihack2016 closing
Unihack2016 closingUnihack2016 closing
Unihack2016 closing
 
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
 
Time Travelling E-Commerce
Time Travelling E-CommerceTime Travelling E-Commerce
Time Travelling E-Commerce
 
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
 
The PayPal Here symphony
The PayPal Here symphonyThe PayPal Here symphony
The PayPal Here symphony
 
Holographic Payments
Holographic PaymentsHolographic Payments
Holographic Payments
 
MongoDB - The database strikes back
MongoDB - The database strikes back MongoDB - The database strikes back
MongoDB - The database strikes back
 
PHP Australia
PHP AustraliaPHP Australia
PHP Australia
 
Drupal South - IoT Commerce
Drupal South - IoT CommerceDrupal South - IoT Commerce
Drupal South - IoT Commerce
 
E-Commerce Melbourne
E-Commerce Melbourne E-Commerce Melbourne
E-Commerce Melbourne
 
APIDays Sydney
APIDays SydneyAPIDays Sydney
APIDays Sydney
 
BattleHack Melbourne
BattleHack MelbourneBattleHack Melbourne
BattleHack Melbourne
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

APIDays Australia - Openresty for scale

Editor's Notes

  1. 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
  2. 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
  3. 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
  4. Tech debt is unavoidable
  5. AWS is awesome, however theres some things I don’t like
  6. TLS 1.2 enable
  7. Download and build form source ./configure –j2 make –j2 Sudo make install
  8. Make install nginx with configuration, you can configure all the usual default settings as part of the nginx stack
  9. 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
  10. Load balancing
  11. Load balancing
  12. Load balancing
  13. Initiate common lua requirements inside the nginx.conf block, this saves time having to call them into the lua files later
  14. Comparing apples to oranges
  15. Comparing apples to oranges
  16. TLS 1.0
  17. T2 small instance with 2 gigs of memory
  18. Ec2 micro – 500 meg mem and a 2 gig swapspace
  19. TLS 1.0