Post on 08-Jan-2017
Architecture for the API-first enterpriseGeir Sjurseth, Sales Engineering, Apigee
API CITY TOUR 3
What do we mean by APIs?
API CITY TOUR 4
Monolithic web app
Web apps
App server
Backend services
API CITY TOUR 5
The A in API is for appsRich clients
(Visual Basic, Delphi, etc.)
Thin clients(Web Applications)
Rich clients(Mobile Apps)
API CITY TOUR 6
App
API CITY TOUR 7
HTTP
App
InternalExternal
Browser
API CITY TOUR 8
App
API CITY TOUR 9
Modern server-side app
• Often runs in an app server
• Monolithic presentation and business logic
• Hosted in an environment(often a virtualized container)
• Increasingly lightweight
API CITY TOUR 10
Backend
API
App
API CITY TOUR 11
Apps need resources
• Databases and storage
• Email services
• Sometimes integration-based,but increasingly API-based
API CITY TOUR 12
APIs are not SOA++
API CITY TOUR 13
Cloud business services• Database-as-a-Service
• Storage-as-a-Service
• Email-as-a-Service
• MQ-as-a-Service
• All are already in widespread use …
API CITY TOUR 14
Internal resources
• Many new resource services already are API-based
• Developers prefer to use APIs even with the added work of learning APIs versus ESB approaches
API CITY TOUR 15
Mobile API architecture
SDK
API
Device-sideapplogic
Server-sideapplication logic &
infrastructure
API CITY TOUR 16
Sometimes apps talk to other apps
API CITY TOUR 17
APIBackend
API
App APIAPI AppApp
InternalExternal
Front end
API CITY TOUR 18
App-to-app
• API-centric: app developers expose their own APIs and learns others’ APIs
• Integration: normalized data interchange
• Agility trade-off
API CITY TOUR 19
API
Front end
BackendAPI
AppAPI
API
Partner App
3rd Party App
InternalExternal
API CITY TOUR 20
Okay, we have to talk about microservices
API CITY TOUR 21
Internal
API
Front end
BackendAPI
APIAPI AppAppService Service Service
Service Service Service
Service Service Service
AP
Is
AP
Is
Microservice architecture
External
API CITY TOUR 22
Microservices
• Components are services, not in-process objects
• Allows polyglot programming
• Easier to scale component services individually
API CITY TOUR 23
Evolving toward API-first
API CITY TOUR 24
Monolithic web app
Web apps
App server
Backend services
API CITY TOUR 25
API-adapted Web AppsConsumption-focused Web Apps
App Server
Backend Services
Other apps
API
API CITY TOUR 26
API-adapted SOA
Exposure-focusedWeb apps
App server
Internalservices
Other apps
API
ESB
API CITY TOUR 27
API-first enterprise
Web apps
App servers BackendservicesESB
Mobile apps
API tier
All apps
Security AnalyticsPersistence Orchestration
Other apps
API CITY TOUR 28
What comes next?
API CITY TOUR 29
API mass customizationApp “B”
App servers BackendservicesESB
App “A”
API Tter
App “C”
API “B”API “A” API “C”
API CITY TOUR 30
API tier analyticsAll channels
API Tier
All backends
All interactions
Analytics
CorrelationsCohortsConversionsSegmentationA/B & multivariate
API CITY TOUR 31
API tier with analytics
• API adaptations needed for apps• Enable developers for business• Security for app-to-API• App and behavior analytics
• APIs architected for abstraction• Enable developers for API use• Security for API-to-backend• API analytics
APIAPI
App consumption API exposure
App server ServicesApp
Analytics
API CITY TOUR 32
Summary
• “A” is for Apps
• APIs are not SOA++
• Microservices?
• How to get to an API-centric architecture
API CITY TOUR 33
Thanks
Q&A