SlideShare a Scribd company logo
1
We Built This City
Greg Brail, Apigee
Sridhar Ragagopalan, Apigee
Chris Vogel, Apigee
The State of the API Today
• Every API call counts
– No one wants to see timeouts, 500s, stack traces, etc.
• APIs are 24x7
– Even more than the web, API users expect that there is no downtime
• APIs are global
– Clients and users expect low latency, around the world
• Threats are global
– Every API may be under attack, in some way, at any point
What does that Mean for Us?
• Global distribution
• Upgrades without scheduled downtime
• Rigorous monitoring
• Attention to detail
3©2015 Apigee. All Rights Reserved.
Our Challenge
• What our customers expect:
– >99.99% availability as defined by the number of transactions that complete successfully
– Geographically distributed across data centers
– In the Apigee Cloud or their own data centers
– No maintenance windows
– No regressions
– Acceptable latency
– All the features we have plus just one more ;-)
4
Our Basic Approach
5
Apigee Edge Approach
6
A More Jaded View
7
Clients on the Internet Apigee Our customers’ systems
Inspired by Kyle Kingsbury:
https://aphyr.com/
What do we Deal With?
• Insecure APIs
• Attacks on security
• Intentional API attacks
• Accidental denial of service
• Buggy clients
• Buggy servers
• Disagreement about what HTTP means
• Hard to use APIs
• Slow customer systems
• Lousy customer data centers
• Confused developers
• Plenty of our own issues
8
What Does it Look Like?
9
Clients (Apps, etc) Customers’ APIs
Routing
Message Processing
Runtime Data
Analytics Data
Management
Technical Challenges
10
Types of Data At Apigee
Type How Many
Records?
How Often do we
Write?
Storage
System configuration 1000s 10s / minute Zookeeper
Customer Proxy Deployments 100,000s 10s / minute Zookeeper / C*
API Publishing Data (developers, apps,
keys)
Millions 10s / second C*
OAuth Tokens & metadata Tens of millions 10,000s / second C*
Counters / Quotas Millions 10,000s / second C*
Distributed Cache Tens of millions 10,000s / second C*
API Analytics Data Billions 10,000s / second Postgres / RedShift / S3
11
Challenge #1: Availability
12
Challenge #1: Counting*
• What we need:
• Application X is allowed to make 10,000 API calls per hour for free
– Across geographies
– Less than a 0.01% error rate
– Minimal latency
• Application Y is allowed to make 1,000,000 API calls per hour because they paid
– Warn them before they reach a million
– Cut them off if they exceed it
– Charge them accurately for each API call
• Control the tradeoff between accuracy and latency
– We’d love to be able to talk rationally about this with customers
13
* That was a joke
Counting in Distributed Systems
• What we can do:
• Central system that holds all counters
– Would be perfectly accurate, but obviously no
• Distributed consensus protocol across all servers
– Too slow especially across geographies
• Eventually consistent counters
– Yes! But how?
• Cassandra counters
– Write availability in the presence of network partitions
– Still too slow
• Cassandra counters plus local caching
– Best we can do right now
14
Challenge #3: Detecting Abuse
• APIs are nice and open and easy to program
• That makes them easy to exploit
– Travel APIs
– Retail APIs
– Other open APIs
• 80% of traffic on one retail customer’s retail API was from “bots”
– Scraping prices, availability, etc.
• 56% of all web site traffic purportedly comes from bots
15
Detecting Bad Traffic
• Long-term batch analytics processing
– Machine learning + data + heuristics
• For instance
– U.S. Retailers don’t have many customers in Romania
– iPads tend not to reside inside Amazon Web Services data centers
– Real people tend not to query product SKUs starting at “000000” and proceeding to
“999999”
– Real people don’t check on100 rooms at the same hotel and never book
• Solution includes:
– Batch processing to update bot scoring
– Bloom filters at router layer
– Lookup table and other processing for other traffic
16
Challenge #4: Management
• We are largely a management system
– 1000s of new API proxies deployed per day to our cloud
– Each one includes customer-specific processing rules, policies and code
– API calls coming in for analytics queries, to change rate limits, set up developers, etc.
• Systems architects tend to give management short shrift
– “It’s OK if the management system fails as long as the API calls keep working”
• Need to architect management for the same SLA as everything else
– So we use Cassandra and Zookeeper here too
17
Finally: Lessons from the Cloud
• Hardware fails. So what?
• Network fails. Bad but expected.
• Management layer fails. Big problem.
– See history of AWS outages
18
Thank you
©2015 Apigee. All Rights Reserved.

More Related Content

PPTX
API Strategy Introduction
Doug Gregory
 
PPTX
Apigee Edge Overview and Roadmap
Apigee | Google Cloud
 
PDF
Architecting an Enterprise API Management Strategy
WSO2
 
PPT
API Management architect presentation
sflynn073
 
PDF
Apigee Demo: API Platform Overview
Apigee | Google Cloud
 
PPTX
What's an api
Jacques Ledoux
 
PDF
The Architecture of an API Platform
Johannes Ridderstedt
 
PPTX
API Governance in the Enterprise
Apigee | Google Cloud
 
API Strategy Introduction
Doug Gregory
 
Apigee Edge Overview and Roadmap
Apigee | Google Cloud
 
Architecting an Enterprise API Management Strategy
WSO2
 
API Management architect presentation
sflynn073
 
Apigee Demo: API Platform Overview
Apigee | Google Cloud
 
What's an api
Jacques Ledoux
 
The Architecture of an API Platform
Johannes Ridderstedt
 
API Governance in the Enterprise
Apigee | Google Cloud
 

What's hot (20)

PPTX
API Management in Digital Transformation
Aditya Thatte
 
PPTX
API Management
Prolifics
 
PDF
Designing APIs with OpenAPI Spec
Adam Paxton
 
PDF
How Secure Are Your APIs?
Apigee | Google Cloud
 
PPTX
Apigee Edge Product Demo
Apigee | Google Cloud
 
PDF
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
John Musser
 
PDF
Definitive Guide to API Management
Apigee | Google Cloud
 
PDF
API Governance
Sunil Kuchipudi
 
PPTX
Designing APIs and Microservices Using Domain-Driven Design
LaunchAny
 
PDF
IBM API Connect - overview
Ramy Bassem
 
PDF
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Kai Wähner
 
PPTX
REST API Design & Development
Ashok Pundit
 
PPTX
B4USolution_API-Testing
b4usolution .
 
PPTX
What's New in API Connect & DataPower Gateway in 1H 2018
IBM API Connect
 
PPTX
Api types
Sarah Maddox
 
PPTX
AWS API Gateway
Muhammed YALÇIN
 
PPTX
API Design- Best Practices
Prakash Bhandari
 
PPTX
Apigee Products Overview
Apigee | Google Cloud
 
PDF
Api for dummies
Patrick Bouillaud
 
PPTX
What is Swagger?
Philip Senger
 
API Management in Digital Transformation
Aditya Thatte
 
API Management
Prolifics
 
Designing APIs with OpenAPI Spec
Adam Paxton
 
How Secure Are Your APIs?
Apigee | Google Cloud
 
Apigee Edge Product Demo
Apigee | Google Cloud
 
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
John Musser
 
Definitive Guide to API Management
Apigee | Google Cloud
 
API Governance
Sunil Kuchipudi
 
Designing APIs and Microservices Using Domain-Driven Design
LaunchAny
 
IBM API Connect - overview
Ramy Bassem
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Kai Wähner
 
REST API Design & Development
Ashok Pundit
 
B4USolution_API-Testing
b4usolution .
 
What's New in API Connect & DataPower Gateway in 1H 2018
IBM API Connect
 
Api types
Sarah Maddox
 
AWS API Gateway
Muhammed YALÇIN
 
API Design- Best Practices
Prakash Bhandari
 
Apigee Products Overview
Apigee | Google Cloud
 
Api for dummies
Patrick Bouillaud
 
What is Swagger?
Philip Senger
 
Ad

Viewers also liked (8)

PDF
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
PDF
Walgreens at a glance
Apigee | Google Cloud
 
PDF
London Adapt or Die: Opening Keynot
Apigee | Google Cloud
 
PDF
Apigee Edge: Intro to Microgateway
Apigee | Google Cloud
 
PDF
AccuWeather: Recasting API Experiences in a Developer-First World
Apigee | Google Cloud
 
PDF
Magazine Luiza at a glance (1)
Apigee | Google Cloud
 
PDF
Managing the Complexity of Microservices Deployments
Apigee | Google Cloud
 
PPTX
Apigee Product Roadmap Part 2
Apigee | Google Cloud
 
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
Walgreens at a glance
Apigee | Google Cloud
 
London Adapt or Die: Opening Keynot
Apigee | Google Cloud
 
Apigee Edge: Intro to Microgateway
Apigee | Google Cloud
 
AccuWeather: Recasting API Experiences in a Developer-First World
Apigee | Google Cloud
 
Magazine Luiza at a glance (1)
Apigee | Google Cloud
 
Managing the Complexity of Microservices Deployments
Apigee | Google Cloud
 
Apigee Product Roadmap Part 2
Apigee | Google Cloud
 
Ad

Similar to We Built This City - Apigee Edge Architecture (20)

PDF
Adapting to Meet Today’s Trends and Technologies– Compliance vs. Enforcement
Flexera
 
PPT
#1922 rest-push2 ap-im-v6
Jack Carnes
 
PPTX
Secure rest api on microservices vws2016
QuĂ˝ Nguyá»…n Minh
 
PDF
PayU's Digital Transformation: Transparency from Dev to Prod, Monitoring Micr...
AppDynamics
 
PPTX
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
ProgrammableWeb
 
PDF
Architectural considerations when building an API
Rod Hemphill
 
PPTX
Monitoring Solutions for APIs
Apigee | Google Cloud
 
PDF
Gcp intro-20160721
Haeseung Lee
 
PPTX
code talks Commerce: The API Economy as an E-Commerce Operating System
Adelina Todeva
 
PPTX
The Business Justification for APM
Jonah Kowall
 
PPTX
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...
apidays
 
PDF
API and Big Data Solution Patterns
WSO2
 
PDF
Architecture for Scale [AppFirst]
AppFirst
 
PDF
Dubbo and Weidian's practice on micro-service architecture
Huxing Zhang
 
PPTX
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
PPT
Thick client application security assessment
Sanjay Kumar (Seeking options outside India)
 
PPTX
Smartone v1.0
Jinyean Tan
 
PDF
Achieve Full API Lifecycle Management Using NGINX Controller – EMEA
NGINX, Inc.
 
PDF
Quarantyne Pre-seed Deck
quarantyne
 
PPTX
IBM API Connect Deployment `Good Practices - IBM Think 2018
Chris Phillips
 
Adapting to Meet Today’s Trends and Technologies– Compliance vs. Enforcement
Flexera
 
#1922 rest-push2 ap-im-v6
Jack Carnes
 
Secure rest api on microservices vws2016
QuĂ˝ Nguyá»…n Minh
 
PayU's Digital Transformation: Transparency from Dev to Prod, Monitoring Micr...
AppDynamics
 
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
ProgrammableWeb
 
Architectural considerations when building an API
Rod Hemphill
 
Monitoring Solutions for APIs
Apigee | Google Cloud
 
Gcp intro-20160721
Haeseung Lee
 
code talks Commerce: The API Economy as an E-Commerce Operating System
Adelina Todeva
 
The Business Justification for APM
Jonah Kowall
 
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...
apidays
 
API and Big Data Solution Patterns
WSO2
 
Architecture for Scale [AppFirst]
AppFirst
 
Dubbo and Weidian's practice on micro-service architecture
Huxing Zhang
 
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
Thick client application security assessment
Sanjay Kumar (Seeking options outside India)
 
Smartone v1.0
Jinyean Tan
 
Achieve Full API Lifecycle Management Using NGINX Controller – EMEA
NGINX, Inc.
 
Quarantyne Pre-seed Deck
quarantyne
 
IBM API Connect Deployment `Good Practices - IBM Think 2018
Chris Phillips
 

More from Apigee | Google Cloud (20)

PPTX
Monetization: Unlock More Value from Your APIs
Apigee | Google Cloud
 
PDF
Ticketmaster at a glance
Apigee | Google Cloud
 
PPTX
The Four Transformative Forces of the API Management Market
Apigee | Google Cloud
 
PDF
Pitney Bowes at a glance
Apigee | Google Cloud
 
PPTX
Microservices Done Right: Key Ingredients for Microservices Success
Apigee | Google Cloud
 
PDF
Adapt or Die: Opening Keynote with Chet Kapoor
Apigee | Google Cloud
 
PDF
Adapt or Die: Keynote with Greg Brail
Apigee | Google Cloud
 
PDF
Adapt or Die: Keynote with Anant Jhingran
Apigee | Google Cloud
 
PDF
London Adapt or Die: Lunch keynote
Apigee | Google Cloud
 
PDF
London Adapt or Die: Closing Keynote — Adapt Now!
Apigee | Google Cloud
 
PPTX
London adapt or-die opening keynote chet kapoor
Apigee | Google Cloud
 
PPTX
London Adapt or Die: Opening Keynote with Chet Kapoor
Apigee | Google Cloud
 
PPTX
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
Apigee | Google Cloud
 
PPTX
London Adapt or Die: Securing your APIs the Right Way!
Apigee | Google Cloud
 
PPTX
London Adapt or Die: Five Things Enterprises Should Know About Serverless
Apigee | Google Cloud
 
PPTX
Adapt or Die Sydney - API Security
Apigee | Google Cloud
 
PPTX
Adapt or Die Sydney - 5 Things Developers Should Know About Serverless
Apigee | Google Cloud
 
PPTX
Adapt or Die: A Microservices Story at Google
Apigee | Google Cloud
 
PPTX
Adapt or Die: Serverless Microservices
Apigee | Google Cloud
 
PDF
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Apigee | Google Cloud
 
Monetization: Unlock More Value from Your APIs
Apigee | Google Cloud
 
Ticketmaster at a glance
Apigee | Google Cloud
 
The Four Transformative Forces of the API Management Market
Apigee | Google Cloud
 
Pitney Bowes at a glance
Apigee | Google Cloud
 
Microservices Done Right: Key Ingredients for Microservices Success
Apigee | Google Cloud
 
Adapt or Die: Opening Keynote with Chet Kapoor
Apigee | Google Cloud
 
Adapt or Die: Keynote with Greg Brail
Apigee | Google Cloud
 
Adapt or Die: Keynote with Anant Jhingran
Apigee | Google Cloud
 
London Adapt or Die: Lunch keynote
Apigee | Google Cloud
 
London Adapt or Die: Closing Keynote — Adapt Now!
Apigee | Google Cloud
 
London adapt or-die opening keynote chet kapoor
Apigee | Google Cloud
 
London Adapt or Die: Opening Keynote with Chet Kapoor
Apigee | Google Cloud
 
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
Apigee | Google Cloud
 
London Adapt or Die: Securing your APIs the Right Way!
Apigee | Google Cloud
 
London Adapt or Die: Five Things Enterprises Should Know About Serverless
Apigee | Google Cloud
 
Adapt or Die Sydney - API Security
Apigee | Google Cloud
 
Adapt or Die Sydney - 5 Things Developers Should Know About Serverless
Apigee | Google Cloud
 
Adapt or Die: A Microservices Story at Google
Apigee | Google Cloud
 
Adapt or Die: Serverless Microservices
Apigee | Google Cloud
 
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Apigee | Google Cloud
 

Recently uploaded (20)

PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 

We Built This City - Apigee Edge Architecture

  • 1. 1 We Built This City Greg Brail, Apigee Sridhar Ragagopalan, Apigee Chris Vogel, Apigee
  • 2. The State of the API Today • Every API call counts – No one wants to see timeouts, 500s, stack traces, etc. • APIs are 24x7 – Even more than the web, API users expect that there is no downtime • APIs are global – Clients and users expect low latency, around the world • Threats are global – Every API may be under attack, in some way, at any point
  • 3. What does that Mean for Us? • Global distribution • Upgrades without scheduled downtime • Rigorous monitoring • Attention to detail 3©2015 Apigee. All Rights Reserved.
  • 4. Our Challenge • What our customers expect: – >99.99% availability as defined by the number of transactions that complete successfully – Geographically distributed across data centers – In the Apigee Cloud or their own data centers – No maintenance windows – No regressions – Acceptable latency – All the features we have plus just one more ;-) 4
  • 7. A More Jaded View 7 Clients on the Internet Apigee Our customers’ systems Inspired by Kyle Kingsbury: https://aphyr.com/
  • 8. What do we Deal With? • Insecure APIs • Attacks on security • Intentional API attacks • Accidental denial of service • Buggy clients • Buggy servers • Disagreement about what HTTP means • Hard to use APIs • Slow customer systems • Lousy customer data centers • Confused developers • Plenty of our own issues 8
  • 9. What Does it Look Like? 9 Clients (Apps, etc) Customers’ APIs Routing Message Processing Runtime Data Analytics Data Management
  • 11. Types of Data At Apigee Type How Many Records? How Often do we Write? Storage System configuration 1000s 10s / minute Zookeeper Customer Proxy Deployments 100,000s 10s / minute Zookeeper / C* API Publishing Data (developers, apps, keys) Millions 10s / second C* OAuth Tokens & metadata Tens of millions 10,000s / second C* Counters / Quotas Millions 10,000s / second C* Distributed Cache Tens of millions 10,000s / second C* API Analytics Data Billions 10,000s / second Postgres / RedShift / S3 11
  • 13. Challenge #1: Counting* • What we need: • Application X is allowed to make 10,000 API calls per hour for free – Across geographies – Less than a 0.01% error rate – Minimal latency • Application Y is allowed to make 1,000,000 API calls per hour because they paid – Warn them before they reach a million – Cut them off if they exceed it – Charge them accurately for each API call • Control the tradeoff between accuracy and latency – We’d love to be able to talk rationally about this with customers 13 * That was a joke
  • 14. Counting in Distributed Systems • What we can do: • Central system that holds all counters – Would be perfectly accurate, but obviously no • Distributed consensus protocol across all servers – Too slow especially across geographies • Eventually consistent counters – Yes! But how? • Cassandra counters – Write availability in the presence of network partitions – Still too slow • Cassandra counters plus local caching – Best we can do right now 14
  • 15. Challenge #3: Detecting Abuse • APIs are nice and open and easy to program • That makes them easy to exploit – Travel APIs – Retail APIs – Other open APIs • 80% of traffic on one retail customer’s retail API was from “bots” – Scraping prices, availability, etc. • 56% of all web site traffic purportedly comes from bots 15
  • 16. Detecting Bad Traffic • Long-term batch analytics processing – Machine learning + data + heuristics • For instance – U.S. Retailers don’t have many customers in Romania – iPads tend not to reside inside Amazon Web Services data centers – Real people tend not to query product SKUs starting at “000000” and proceeding to “999999” – Real people don’t check on100 rooms at the same hotel and never book • Solution includes: – Batch processing to update bot scoring – Bloom filters at router layer – Lookup table and other processing for other traffic 16
  • 17. Challenge #4: Management • We are largely a management system – 1000s of new API proxies deployed per day to our cloud – Each one includes customer-specific processing rules, policies and code – API calls coming in for analytics queries, to change rate limits, set up developers, etc. • Systems architects tend to give management short shrift – “It’s OK if the management system fails as long as the API calls keep working” • Need to architect management for the same SLA as everything else – So we use Cassandra and Zookeeper here too 17
  • 18. Finally: Lessons from the Cloud • Hardware fails. So what? • Network fails. Bad but expected. • Management layer fails. Big problem. – See history of AWS outages 18
  • 19. Thank you ©2015 Apigee. All Rights Reserved.