apiGrove
An Open Source API Management Engine
Presented by Greg Thompson (@gmthomps), Head of Architecture, Applications Enablement Solutions
Alcatel-Lucent
October 2012

                                    COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
WHY OPEN SOURCE?




                                          2

              COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove
Why Open Source?
• Open source software powers the core of cloud and web services
• Drives standardization and allows the industry to contribute in the
  development process
• Allows apiGrove roadmap to go in directions ALU alone may not have
  taken it
• Developers are free to participate in helping set the future direction of the
  software and optimize it to meet their specific business needs and
  timelines.
• Alcatel-Lucent will continue to be a lead contributor to the apiGrove open
  source initiative as API management remains a key tenet of the
  company’s Open API Platform. Alcatel-Lucent will continue to make new
  capabilities available as part of its commercial API offer and at the same
  time, actively leverage the efforts of open source software developers
  worldwide.
                                                        3

                            COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove INTRODUCTION




                                            4

                COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove
High-Level Features & Architecture

SCALE    Multiple deployment models                                                                       Clients
                                                                                                       (browser, mobile
         Load balancing                                                                                  app, backend
                                                                                                            server)

         High availability
                                                                                                REST, SOAP,
         Caching                                                                                  HTTP(S)


METER    API caller authorization
                                                                                                                                         Your
         API usage quotas & rate limits                       Your                                                                     analytics
                                                          provisioning                                                                  system
         Transaction data records                           frontend
                                                                                 RESTful
                                                                                                     apiGrove                TDRs   (or Alcatel-Lucent’s
                                                           (Sample Drupal          API                                                  commercial
PROTECT HTTPS termination (1-way / 2-way)                 modules available)                                                            Reporting &
                                                                                                                                     Analytics solution)


         Authentication
                                                                                                REST, SOAP,
         Threat protection                                                                         HTTP


MANAGE API onboarding / routes definition                                                                 Targets

         RESTful APIs for every feature                                                                (e.g. your internal
                                                                                                       API / app server)




                                                                        5

                                            COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove
Show Me the Code
• Code on github
• 100% Java
• Relies on open source middleware
  • Fuse ESB (Apache ServiceMix, Apache Camel, Apache CXF, Apache Karaf)
  • Jetty
  • Hazelcast
• Tested on Red Hat Enterprise Linux 5.8, but also known to work on other
  Linux distributions (e.g. CentOS)




                                                        6

                            COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove
Freemium Business Model

• apiGrove = Open Source version
   • Licensed under Apache v2 terms
   • Project to be publicly announced in September

• Premium API Management Engine = Commercial version
   • Same code base as apiGrove
   • Additional features: Security (XML/WSDL validation), Rate limit accuracy in cluster
     (Speaker Manager), SNMP
   • Support and professional services by Alcatel-Lucent (bug fixes, custom integration)
   • Optionally integrated within Alcatel-Lucent’s Open API Platform :
    • Service Composition Framework (orchestration framework and value-added services: SMS,
      Location, Device Capabilities, and more)
    • Reporting and Analytics (data mining on API usage)
    • Business Management Suite (monetization model for APIs and associated workflow)
    • Provisioning and management system (web frontend, management interface, directory)
                                                               7

                                   COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove Release v1
Free v. Premium Features Comparison
                                        apiGrove                                           Premium API Management Engine
SCALE               • Clustering with load balancing                                     • Heartbeat mechanism with southbound services
APIs to 1000s TPS   • Caching of policy data                                             • Integration with Alcatel-Lucent’s Service
                    • Dual-site operation                                                  Composition Framework


METER               • Flexible model for quotas/rate limits (per API,                    • Quotas/rate limits sync in cluster (speaker manager)
API usage for         per App, per Group)                                                • Integration with Alcatel-Lucent’s reporting & analytics
monetization        • API usage TDRs
                    • Thresholds & warning TDRs
                    • Custom TDR fields


PROTECT             • HTTPS (1-way / 2-way TLS)                      • XML / SOAP Validation
APIs from threats   • AuthN: IP whitelist, AuthKey, HTTP Basic, WSSE • WSDL or XSD Validation
                      username profile                               • Integration with Alcatel-Lucent’s Authorization Server
                    • REST methods filtering                           for oAuth 2.0


MANAGE              •   Provisioning and admin through RESTful API                       • SNMP KPI reporting
System and APIs     •   Sample web UI for standalone deployment                          • Provisioning through Alcatel-Lucent’s OAP
                    •   Basic header transformations (add/remove)
                    •   Software install verified on RHEL5.8




                                                                       8

                                           COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove
Timeline for contributions

                         Community contributions
   Sept’12                     (enter into Apache incubation)                                       Goal is to
  apiGrove                                                                                      integrate external
                                                                                                 contributions in
     initial                                                                                      monthly sprint
   release                                                                                            drops



                Q3’12            Q4’12                                Q1’13             Q2’13

                     Dec’12                                           Apr’13
               Premium AME                                      Premium AME
                (commercial)                                     (commercial)
                       v5.0                                             v6.0


                                                            9

                                COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove
Features Backlog

SCALE                 • More characterization tests
APIs to 1000s TPS     • Performance optimizations


METER                 • ASN.1 format for TDRs
API usage for control • Calendar-based quotas and rate limits
and monetization

PROTECT               •   HTTP Digest authentication                                                    We welcome
                      •   WSSE X509 authentication
APIs from threats
                      •   OpenStack ID authentication                                                 contributions for
                      •   HTTPS support southbound
                      •   Support 3rd-party oAuth Authorization Server                                these and more
                      •   JSON payload validation
                      •   WADL validation
                      •   Header injection protection


MANAGE                •   Installers for other OSes (e.g. CentOS)
System and APIs       •   Forward Proxy mode support
                      •   SOAP/JSON Exceptions
                      •   More logs
                      •   Encrypted logs
                      •   Plugin modules for transforms
                      •   Web UI themes (drupal)
                      •   Web UI improvements (e.g. internationalization)
                      •   Cluster management UI
                      •   Elastic scaling recipes               10

                                              COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
DEMO




                                   11

       COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
apiGrove
Key Links
• apiGrove Home Site http://apigrove.net
  • Forums, information


• apiGrove GitHub http://github.com/apigrove/apigrove
  • Source code and binary downloads


• Follow @apiGrove on Twitter


• This slide deck http://www.slideshare.net/gmthomps/apiGrove




                                                       12

                           COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
THANK YOU ! … Q&As




                                           13

               COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
14

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

apiGrove

  • 1.
    apiGrove An Open SourceAPI Management Engine Presented by Greg Thompson (@gmthomps), Head of Architecture, Applications Enablement Solutions Alcatel-Lucent October 2012 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 2.
    WHY OPEN SOURCE? 2 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 3.
    apiGrove Why Open Source? •Open source software powers the core of cloud and web services • Drives standardization and allows the industry to contribute in the development process • Allows apiGrove roadmap to go in directions ALU alone may not have taken it • Developers are free to participate in helping set the future direction of the software and optimize it to meet their specific business needs and timelines. • Alcatel-Lucent will continue to be a lead contributor to the apiGrove open source initiative as API management remains a key tenet of the company’s Open API Platform. Alcatel-Lucent will continue to make new capabilities available as part of its commercial API offer and at the same time, actively leverage the efforts of open source software developers worldwide. 3 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 4.
    apiGrove INTRODUCTION 4 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 5.
    apiGrove High-Level Features &Architecture SCALE Multiple deployment models Clients (browser, mobile Load balancing app, backend server) High availability REST, SOAP, Caching HTTP(S) METER API caller authorization Your API usage quotas & rate limits Your analytics provisioning system Transaction data records frontend RESTful apiGrove TDRs (or Alcatel-Lucent’s (Sample Drupal API commercial PROTECT HTTPS termination (1-way / 2-way) modules available) Reporting & Analytics solution) Authentication REST, SOAP, Threat protection HTTP MANAGE API onboarding / routes definition Targets RESTful APIs for every feature (e.g. your internal API / app server) 5 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 6.
    apiGrove Show Me theCode • Code on github • 100% Java • Relies on open source middleware • Fuse ESB (Apache ServiceMix, Apache Camel, Apache CXF, Apache Karaf) • Jetty • Hazelcast • Tested on Red Hat Enterprise Linux 5.8, but also known to work on other Linux distributions (e.g. CentOS) 6 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 7.
    apiGrove Freemium Business Model •apiGrove = Open Source version • Licensed under Apache v2 terms • Project to be publicly announced in September • Premium API Management Engine = Commercial version • Same code base as apiGrove • Additional features: Security (XML/WSDL validation), Rate limit accuracy in cluster (Speaker Manager), SNMP • Support and professional services by Alcatel-Lucent (bug fixes, custom integration) • Optionally integrated within Alcatel-Lucent’s Open API Platform : • Service Composition Framework (orchestration framework and value-added services: SMS, Location, Device Capabilities, and more) • Reporting and Analytics (data mining on API usage) • Business Management Suite (monetization model for APIs and associated workflow) • Provisioning and management system (web frontend, management interface, directory) 7 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 8.
    apiGrove Release v1 Freev. Premium Features Comparison apiGrove Premium API Management Engine SCALE • Clustering with load balancing • Heartbeat mechanism with southbound services APIs to 1000s TPS • Caching of policy data • Integration with Alcatel-Lucent’s Service • Dual-site operation Composition Framework METER • Flexible model for quotas/rate limits (per API, • Quotas/rate limits sync in cluster (speaker manager) API usage for per App, per Group) • Integration with Alcatel-Lucent’s reporting & analytics monetization • API usage TDRs • Thresholds & warning TDRs • Custom TDR fields PROTECT • HTTPS (1-way / 2-way TLS) • XML / SOAP Validation APIs from threats • AuthN: IP whitelist, AuthKey, HTTP Basic, WSSE • WSDL or XSD Validation username profile • Integration with Alcatel-Lucent’s Authorization Server • REST methods filtering for oAuth 2.0 MANAGE • Provisioning and admin through RESTful API • SNMP KPI reporting System and APIs • Sample web UI for standalone deployment • Provisioning through Alcatel-Lucent’s OAP • Basic header transformations (add/remove) • Software install verified on RHEL5.8 8 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 9.
    apiGrove Timeline for contributions Community contributions Sept’12 (enter into Apache incubation) Goal is to apiGrove integrate external contributions in initial monthly sprint release drops Q3’12 Q4’12 Q1’13 Q2’13 Dec’12 Apr’13 Premium AME Premium AME (commercial) (commercial) v5.0 v6.0 9 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 10.
    apiGrove Features Backlog SCALE • More characterization tests APIs to 1000s TPS • Performance optimizations METER • ASN.1 format for TDRs API usage for control • Calendar-based quotas and rate limits and monetization PROTECT • HTTP Digest authentication We welcome • WSSE X509 authentication APIs from threats • OpenStack ID authentication contributions for • HTTPS support southbound • Support 3rd-party oAuth Authorization Server these and more • JSON payload validation • WADL validation • Header injection protection MANAGE • Installers for other OSes (e.g. CentOS) System and APIs • Forward Proxy mode support • SOAP/JSON Exceptions • More logs • Encrypted logs • Plugin modules for transforms • Web UI themes (drupal) • Web UI improvements (e.g. internationalization) • Cluster management UI • Elastic scaling recipes 10 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 11.
    DEMO 11 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 12.
    apiGrove Key Links • apiGroveHome Site http://apigrove.net • Forums, information • apiGrove GitHub http://github.com/apigrove/apigrove • Source code and binary downloads • Follow @apiGrove on Twitter • This slide deck http://www.slideshare.net/gmthomps/apiGrove 12 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 13.
    THANK YOU !… Q&As 13 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
  • 14.
    14 COPYRIGHT © 2012ALCATEL-LUCENT. ALL RIGHTS RESERVED.

Editor's Notes

  • #2 + hidden dimension: provisioning, modularity