©2015 Apigee Corp. All Rights Reserved. @tenfourty @Apigee #IDC16
Creating Compelling User Experiences through APIs Jeremy Brown – Inmarsat Developer Conference 29th Feb 2016 @tenfourty [email protected]
@tenfourty @Apigee #IDC16
Apigee is the largest public and private cloud API platform
3 ©2016 Apigee. All Rights Reserved.
Multi-Datacenter Deployment
1+ Billion �calls / week
Private Cloud�leading Telco
Apigee Cloud
top 10global retailers 60%
peak requests per sec 50k scale
year/year 3x
availabilityzones 21
transactions/day 1B+
regions 8
API availability 99.999%
@tenfourty @Apigee #IDC16 ©2015 Apigee Corp. All Rights Reserved. @tenfourty @Apigee #IDC16
Apigee provides a unified and comprehensive API platform
Protect your APIs from external threats and insider attacks
Reliably expose your APIs with minimum latency, at high availability
Protect your APIs from external threats and insider attacks
Reliably expose your APIs with minimum latency, at high availability
Secure API Runtime Apps Backend
Securely and reliably run your APIs at scale "
End-to-end visibility into the use and performance of your APIs
Analytics
Gain deep insights into your API usage and performance
Developer Management
Partners / Developers
Quickly onboard & engage partners &
developers
API Development
API Team
Build modern APIs with tools you will
love!
Operations Automation
Scale your APIs at web scale with full operational control
@tenfourty @Apigee #IDC16 ©2015 Apigee Corp. All Rights Reserved. @tenfourty @Apigee #IDC16
OAuth2, OpenID, SAML, TLS
OWASP Threat Protection
RBAC, 3rd party IDM Support
Bot Detection
Mediation, Caching & "Traffic Management
node.js"run-time Engine
Data Persistence / "BaaS
Hybrid Deployment / Microgateway
Secure API Runtime
Apigee provides a unified and comprehensive API platform
Apps Backend
Business &"Developer Metrics
Fine-grained Performance Analytics
End User Analytics
Custom Data Capture & Reports
Trace & Diagnostics
Analytics
Customizable Developer Portal
SmartDocs
Self-service "Developer On-boarding
API Products
API Monetization
Developer Management
Partners / Developers
API-driven "Platform Automation
Multi-tenancy & Scaling with Traffic Isolation
Zero Downtime Upgrades
Cross-region Automated Routing & Failover
Global Policy Enforcement
Operations Automation
Flow-based Proxy Editor & Pre-built Policies
API Studio with Open API / Swagger
Test & Monitoring
Extensibility with "node.js / Java
Version Management
API Development
API Team
API Gateway
@tenfourty @Apigee #IDC16
Code Culture Community
@tenfourty @Apigee #IDC16
will not get you the
OLD NEW
@tenfourty @Apigee #IDC16
Implement the NEW Preserve the OLD (when necessary)
Implement the NEW
@tenfourty @Apigee #IDC16
Culture: Being Digital
@tenfourty @Apigee #IDC16
New Reality: Two-speed Enterprise DIGITAL
EXPERIENCE
SYSTEM OF ENGAGEMENT
CRM ERP Data Warehouse Database SYSTEM OF RECORD
ESB /Integration Data Lake
@tenfourty @Apigee #IDC16
From control to context
Processes " guiding principles
interaction patterns
Roles small x-functional teams end-2-end responsibility
Communication transparent and open
pull vs. push
@tenfourty @Apigee #IDC16
Community: Amplifying digital
@tenfourty @Apigee #IDC16
New Reality: Digital value chain
B2C
B2E
B2B User App Developer API API Team Backend
customers partners employees
@tenfourty @Apigee #IDC16
From an army of workers to a network of makers
• customers activated • users as product managers
CUSTOMERS • ecosystem innovation • extend and complement
PARTNERS
• on boarding & analytics • x-company innovation
INTERNAL DEVELOPERS • enterprise data at core • unlock core value
SYSTEM OF RECORD
@tenfourty @Apigee #IDC16
Code: Delivering digital
@tenfourty @Apigee #IDC16
New Reality: Digital scale
from millions of users to billions
from limited data to massive data
capture and usage
From connecting humans to programs to programs to programs
@tenfourty @Apigee #IDC16
Every Interaction Matters
ENGINEER FOR PARTITION TOLERANCE AND AVAILABILITY When network failure happens, customer experience suffers The system must continue to function when network partitions occur REACT WITH SPEED AND AGILITY Impossible to produce the diversity of digital-world things in the lab Focus on deployment over testing; build redundant paths and retries
availability @scale
Fault tolerance Programs must function even
when errors occur
Continuous delivery Bite-size innovation
Monitor Monitor across all "
programs
@tenfourty @Apigee #IDC16
Every Dollar Counts
Don’t wait "around
Ride the "demand curve
Automate, "automate, automate
efficiency @scale
@tenfourty @Apigee #IDC16
00010001010100000000010101000010001011001000101010000000001010100001000101100100101000011110111100000000010101000111101110011110111100000000010101000110000000001010100011101100000011010000001010101011000000110110000001101000000101010101100000011001011101011011001111110111100010101010110011110011001111110111100010101010110011111011001111110111
Every interaction must be intelligent humans can’t
sift signal "from noise
@tenfourty @Apigee #IDC16
000100010101000000000101010000100010110011110111100000000010101000111101110101100000011010000001010101011000000111011001111110111100010101010110011110
1011000000110100000010101010110000001101000000101010
machines can Every interaction must be intelligent
sift signal from noise
@tenfourty @Apigee #IDC16
000100010101000000000101010000100010110011110111100000000010101000111101110101100000011010000001010101011000000111011001111110111100010101010110011110
1011000000110100000010101010110000001101000000101010
machines can Every interaction must be intelligent
sift signal "from noise know what your
customers might buy next
@tenfourty @Apigee #IDC16
000100010101000000000101010000100010110011110111100000000010101000111101110101100000011010000001010101011000000111011001111110111100010101010110011110
1011000000110100000010101010110000001101000000101010
machines can Every interaction must be intelligent
sift signal "from noise know what your
customers might buy next identify malicious API
traffic
@tenfourty @Apigee #IDC16
000100010101000000000101010000100010110011110111100000000010101000111101110101100000011010000001010101011000000111011001111110111100010101010110011110
1011000000110100000010101010110000001101000000101010
machines can Every interaction must be intelligent
Intelligence @scale Intelligence @scale
Intelligence @scale
@tenfourty @Apigee #IDC16
+
+
Delivering Digital
Intelligence @scale
Availability @scale
Efficiency @scale
@tenfourty @Apigee #IDC16
Accelerating digital business . . . Being Digital
Culture Code
Delivering digital
Community
Amplifying digital SPEED MATTERS
@tenfourty @Apigee #IDC16 The time was YESTERDAY !!
Code Culture Community
@tenfourty @Apigee #IDC16
General Principles for your REST APIs • Be Pragmatic, not a RESTafarian – for the sake of other developers • Only need 2 urls per resource
– Collection - /dogs – Element - /dogs/1234 – POST, GET, PUT and DELETE -> CREATE, READ, UPDATE and DELETE
• Verbs are BAD, Nouns are GOOD – /getsmalldogs vs /dogs
• Plurals are better – /dogs
• We favour Data Oriented APIs over Service Oriented APIs – Learn the data vs learn the services + the date – Don’t design an API at all, just use REST
• We favour simple, flat JSON • Versioning
– Don’t! but if you have to we have come to favour putting the version in the sub-domain (if you have to!) – the ‘no-versioning’ strategy for versioning
• https://api.acmecorp.com/dogs/1234 • https://api2.acmecorp.com/dogs/1234
• Check out these resources: – Web API Design ebook - https://pages.apigee.com/web-api-design-website-h-ebook-registration.html – Newest thinking in this webinar - http://apigee.com/about/blog/technology/pragmatic-rest-next-generation
@tenfourty @Apigee #IDC16
Some thoughts on Microservices Centralise and Manage non-functional concerns – API Platform can help • Analytics - who is consuming what and at what rate
at what time • Discoverability – developer portal – developer
workflow - self registration, self service to API access and API metrics
• Versioning –API Teams/services owners– API Platform can help developer engagement (portal)
• Facades and Mashups – API Platform can be used to orchestrate the cross-functional microservices that may reduce round trips for web applications
PaaS – PaaS solves the “1-click self-service/DevOps” deployment and running and managing of Apps/Services/Microservices – it doesn’t solve the same problems that an API Platform does • PaaS + API Platform – powerful combination to
enable super fast two speed IT by “two pizza teams” Check out this great article on 7 Microservices antipatterns - http://www.infoq.com/articles/seven-uservices-antipatterns
28!©2015 Apigee. All Rights Reserved. !
@tenfourty @Apigee #IDC16
4 Best Practices • Create APIs by product and device type to reduce maintenance • Create new APIs using existing components with API management to minimize work
from backend teams • Integrate API Management with your existing CI tooling and processes • Create an API Tier in front of your microservices to maximize performance
@tenfourty @Apigee #IDC16
Create APIs by product and device type to reduce maintenance
@tenfourty @Apigee #IDC16
Create new APIs using existing components with API management to minimize work from backend teams
@tenfourty @Apigee #IDC16
Integrate API Management with your existing CI tooling and processes
@tenfourty @Apigee #IDC16
Create an API Tier in front of your microservices to maximize performance
@tenfourty @Apigee #IDC16
Full Story: Belly Up to the Microservices Bar • http://apigee.com/about/blog/
developer/belly-microservices-bar • https://www.youtube.com/watch?
list=PLIXjuPlujxxz9oSr26Oii3-HWhPZU1tvE&v=_-fKGzN-8tA
©2015 Apigee Corp. All Rights Reserved. @tenfourty @Apigee #IDC16
I Love APIs Europe http://london.iloveapis.com"THIS Wednesday 2nd March 2016 Promo codes INMARSAT– 10 Free Passes JBROWN – 30% off