34
API Management @Haufe dev.haufe-lexware.com github.com/Haufe-Lexware @HaufeDev -Lexware

API Management @ Haufe

Embed Size (px)

Citation preview

Page 1: API Management @ Haufe

APIManagement@Haufe

MarcoSeifried(@marcoseifried)

MartinDanielsson(@donmartin76)

dev.haufe-lexware.com

github.com/Haufe-Lexware

@HaufeDev

-Lexware

Page 2: API Management @ Haufe

1 Intro– APIManagementWhywouldyouneedandwantAPIManagement?

Page 3: API Management @ Haufe

APIs@Haufe

Onboarding:Firstimpressioncounts!• Simplicity• Self-service• Lowbarrier to use

Ways to achieve this:• Accessto something valuable• Focusonthe service - business value

Page 4: API Management @ Haufe

HaufeStrategy - Architecture Principles

Businessvalue over technicalstrategy

Strategicgoals over project-specificbenefits

Composability over silos

Sharedservices over specific-purposeimplementations

Evolutionaryrefinement over pursuitofinitialperfection

Designforobsoleteness over buildingforeternity

Goodenough over bestofbreed

Declarativeprocesses over implicitknowledge

Page 5: API Management @ Haufe

Designof APIs

APIas aProduct…

Hyper-media

Elements

APIManage-ment

Outside-In

Approach…

APIStyleguidehttps://github.com/Haufe-Lexware/api-style-guide

Page 6: API Management @ Haufe

APIManagement– What’sthat?

APImanagementistheprocessofpublishing,promotingandoverseeingapplicationprogramminginterfaces

(APIs)inasecure,scalableenvironment.

techtarget.com

StripoffthebusinessfeaturesofyourAPI– APIManagementistherest.StuffyouwoulddoforallAPIs

independentofwhattheydo– logging,monitoring,access,documentation,…MarcoSeifriedJ

Page 7: API Management @ Haufe

APIManagementKeyComponents

API

PortalAPIOwners,Developers,Admin

DeveloperSelf-Service

EndUser

ServiceEndpoints

http://www.apiacademy.co/resources/api-management-101-api-management-basics/

Page 8: API Management @ Haufe

Whatdoesitdo?

Provide discoverabilityandself-service AccesstoAPIs fordeveloperseasilyand

automatically

Monitor trafficto provide UsageInsights forindividualappsandAPIs.Who isusingwhathowmuch?

ProtecttheAPIfrommisusebyproviding Security e.g. bywrapping itinsecurity

proceduresand policies.

Protecttheruntimewith Traffic Control e.g.,bythrottling formobileapps

UseAPIManagementto Decouple theinsidefromtheoutside,keeping interfaces(APIs) stable

Page 9: API Management @ Haufe

UseCasesandScenarios

Mobile

Internal

Public

Don’tsearchforthe

“Onetorulethemall”

Instead,gofor

“Goodenough”

Andnottoforget

“Evolutionaryrefinement”Partner

Page 10: API Management @ Haufe

Our(API)Approach@Haufe

Don’tcentralize

GroupAPIsbyfunctionality

Letteamsworkindependently, aslongas

theyfollowourAPIStyleguide

ChooseAPIManagementbyusecase,notbydogma

Automate(Build,Test,Deploy,…)

Page 11: API Management @ Haufe

2 APIManagementComponentsIfearit’snotonlyGatewayandPortal…

Page 12: API Management @ Haufe

APImSolution

DeveloperPortal

APIG

atew

ay

Admin

Logs

BackendService

Analytics

Audit

Consumer

Config

PortalIdP

APIIdP

Page 13: API Management @ Haufe

3 SolutionsWhoprovidesAPIm solutions?

Page 14: API Management @ Haufe

MarketContenders

Page 15: API Management @ Haufe
Page 16: API Management @ Haufe
Page 17: API Management @ Haufe

AzureAPIManagement

DeveloperPortal

APIG

atew

ay

Admin

Logs

BackendService

Analytics

Audit

Consumer

Config

PortalIdP

APIIdP

Anythingpluggable;e.g.EventHubs

Nosupport OOTB,butAzureADhasfunctionality

Page 18: API Management @ Haufe

100%SaaSsolution

IntegratedintoMicrosoftAzure

Full-featuredDeveloperPortal

RichPolicy-drivenAPIGateway

99.x%SLA

Pricepoint:Atleast550€/mo.

Scalesondemand(withprice)

RESTAPI

Notavailableon-prem

ClosedSource– notfreelycustomizable

Quitehighpricepoint

Insomecases:“Lastmile”missing

Page 19: API Management @ Haufe
Page 20: API Management @ Haufe

MashapeKong

DeveloperPortal

APIG

atew

ay

Admin

Logs(Plugin)

BackendService

Analytics

Audit

Consumer

Config

PortalIdP

APIIdP(Plugin)

3rd PartyOfferings,e.g.kong-dashboard

3rd PartyOfferings,Mashape’sgelato.io

Mashape’sGalileo

DependsonAdminUI

Page 21: API Management @ Haufe

OpenSourcesolution

Builtaroundnginx/Lua

Deployablewhereveryouwant

Fullydockerizable

Scalable,feature-richGateway

Powerfulplugin/extensionmodel

Suitableforinternalusemostly

CompleteRESTAPI

Nodeveloperportaloutofthebox

Actually,thereis:gelato.io (closedsource/commercial)

Only3rdpartyAdminUIs(ofvaryingquality)

Requiresnetworkingknow-howtosetup

Cassandracurrentlyonlyconfigbackendchoice(butPostgreSQLupcoming)

Page 22: API Management @ Haufe

• MostlysuitableforbackendservicesonAzure• Noon-premdeployment(onlySaaS)• GoodDeveloperExperience(DX)• Easytostartwith• Notfreelycustomizable

• Focusonsecuringbackend• FlexibleDeployment(butnoSaaS)• ForusecaseswheretheDXisnotimportant*• DevOps easier,steeperlearningcurve• Doesbasics,everythingelseisaddon

• Quitelargesoftwarepackagesinbothcases

• Takesplanningandsomeefforttosetup

• Withgreatfunctionalitycomeslargeish footprints

Page 23: API Management @ Haufe

4 AzureAPIm Demo

Page 24: API Management @ Haufe

AzureAPImDeveloperPortal

Page 25: API Management @ Haufe
Page 26: API Management @ Haufe
Page 27: API Management @ Haufe
Page 28: API Management @ Haufe
Page 29: API Management @ Haufe
Page 30: API Management @ Haufe

AzureAPImPublisherPortal

Page 31: API Management @ Haufe
Page 32: API Management @ Haufe
Page 33: API Management @ Haufe
Page 34: API Management @ Haufe

Multumesc