24
API Providers Guide - API Deployment Prepared By Kin Lane July 2014

API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

  • Upload
    others

  • View
    64

  • Download
    0

Embed Size (px)

Citation preview

Page 1: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

API Providers Guide - API DeploymentPrepared By Kin Lane

July 2014

Page 2: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

API Providers Guide - API Deployment

Table of ContentsOverview of API DeploymentAPI Deployment Building BlocksTools for API DeploymentCloud API Deployment PlatformsUsing API Gateways for DeploymentLegitimizing Scraping As A Data Source For APIsFrom Deployment to Management

Page 3: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

Overview of API DeploymentUntil recently API deployment was just part of API management. You either had the resources to deploy APIs or youdidn't. Companies, organizations and individuals usually fall into two categories when it comes to API deployment: 1)Ready to go, just add the right tools, processes and resources then go 2) Need to education, explore and learn­­thenexperiment, iterate and learn, hopefully without incurring a lot of expense.

This research largely reflects the three types of typical API deployments, either bootstrap, DIY approach using APIframeworks and internal or 3rd party resources, you are a larger enterprise, or the new breed of cloud API serviceproviders. The goal of this research is to help myself, and you the reader be more informed on the high level conceptsat play with API deployment, before making an investment.

I wanted to provide business and organizational leaders with the overall knowledge they need to understand thedifferent possible paths to API deployment. Whether you choose to bootstrap the initiative or look for an APImanagement service provider to assist, this project is meant to get you up to speed, with a healthy awareness of theoverall space­­from a 100K view.

This paper will walk you through a handful of the common building blocks of API deployment, some frameworks thatcan be used to bootstrap DIY API deployments, then introduce you to the emerging breed of cloud API deployment,as well as the established API gateway providers.

After reviewing this API deployment project you should be understand the overview of API deployment and ready tothink about API management.

Common Building Blocks of API DeploymentThere are a handful of common building blocks involved with API deployment. Depending on the resources youdesire to open up access to, different building blocks will be needed.

These building blocks have been gathered from evaluating many public API providers, tools that have beendeveloped by experienced API developers, and the services being offered and evolved by API service providers.

These building blocks are meant to be generic, modular concepts that will help on­board business or even technicalfolks to the expanding world of API deployment­­something that historically was something IT or developer staff wasaware of, but now business leaders from all disciplines need to be aware of.

API Connector

Contrary to an API proxy, there are API solutions that are proxyless, while just allowing an API toconnect or plugin to the advanced API resources.

While proxies work in many situations, allowing APIs to be mediated and transformed intorequired interfaces, API connectors may be preferred in situations where data should not berouted through proxy machines.

API connector solutions only connect to existing API implementations are easily integrated withexisting API frameworks as well as web servers like Nginx.

Page 4: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

API Gateway

API gateways are enterprise quality solutions that are designed to expose API resources.Gateways are meant to provide a complete solution for exposing internal systems andconnecting with external platforms.

API gateways are often used to proxy and mediate existing API deployments, but may alsoprovide solutions for connecting to other internal systems like databases, FTP, messaging andother common resources.

Many public APIs are exposed using frameworks, most enterprise APIs are deployed via APIgateways­­supporting much larger ideployments.

API Proxy

API proxy are common place for taking an existing API interface, running it through anintermediary which allows for translations, transformations and other added services on top ofAPI.

An API proxy does not deploy an API, but can take existing resources like SOAP, XML­RPC andtransform into more common RESTful APIs with JSON formats.

Proxies provide other functions such as service composition, rate limiting, filtering and securingof API endpoints. API gateways are the preffered approach for the enterprise, and thecompanies that provide services support larger API deployments.

API Versioning

There are many different approaches to managing different version of web APIs. Whenembarking on API deployment you will have to make a decision about how each endpoint will beversioned and maintained.

Each API service provider offers versioning solutions, but generally it is handled within the APIURI or passed as an HTTP header.

Versioning is an inevitable part of the API life­cycle and is better to be integrated by design asopposed to waiting until you are forced to make a evolution in your API interface.

Code Samples

Second to documentation, code samples in a variety of programming languages is essential to asuccessful API integration. With quality API design, generating samples that can be used acrossmultiple API resources is possible.

Many of the emerging API service providers and the same tools that generate APIdocumentation from JSON definitions can also auto generate code samples that can be used by

Page 5: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

developers.

Generation of code samples in a variety of programming languages is a requirement during APIdeployment.

CSV to API

Text files that contain comma separate values or CSVs, is one of the quickest ways to convertexisting data to an API. Each row of a CSV can be imported and converted to a record in adatabase, and easily generate a RESTful interface that represents the data stored in the CSV.

CSV to API can be very messy depending on the quality of the data in the CSV, but can be aquick way to breathe new life into old catalogs of data lying around on servers or even desktops. The easiest way to deal with CSV is to import directly into database, than generate API fromdatabase, but the process can be done at time of API creation.

Database to API

Database to API is definitely the quickest way to generate an API. If you have valuable data,generally in 2013, it will reside in a Microsoft, MySQL, PostgreSQL or other common databaseplatform.

Connecting to a database and generate a CRUD, or create, read, updated and delete API on anexisting data make sense for a lot of reason. This is the quickest way to open up productcatalogs, public directories, blogs, calendars or any other commonly stored data.

APIs are rapidly replace database connections, when bundled with common API managementtechniques, APIs can allow for much more versatile and secure access that can be made publicand shared outside the firewall.

Documentation

API documentation is an essential building block for all API endpoints. Quality, up to datedocumentation is essential for on­boarding developers and ensuring they successfully integratewith an API.

Document needs to be derived from quality API designs, kept up to date and made accessible todevelopers via a portal.

There are several tools available for automatically generting documentation and even what iscalled interactive documentation, that allows for developers to make live calls against an APIwhile exploring the documentation.

API documentation is part of every API deployment.

Page 6: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

Framework

There is no reason to hand­craft an API from scratch these days. There are numerousframeworks out their that are designed for rapidly deploying web APIs.

Deploying APIs using a framework is only an option when you have the necessary technical anddeveloper talent to be able to understand the setup of environment and follow the designpatterns of each framework.

When it comes to planning the deployment of an API using a framework, it is best to select one ofthe common frameworks written in the preferred language of the available developer and ITresources.

Frameworks can be used to deploy data APIs from CSVs and databases, content fromdocuments or custom code resources that allow access to more complex objects.

Hosting

Hosting is all about where you are going to park your API. Usual deployments are on­premisewithin your company or data center, in a public cloud like Amazon Web Services or a hybrid ofthe two.

Most of the existing service providers in the space support all types of hosting, but somecompanies, who have the required technical talent host their own API platforms.

With HTTP being the transport in which modern web APIs put to use, sharing the sameinfrastructure as web sites, hosting APIs does not take any additional skills or resources, if youalready have a web site or application hosting environment.

Frameworks for API DeploymentFor many API deployment initiatives, using an existing open source API framework in the desired programminglanguage is the way to go. If a company has the available resources to deploy and maintain websites, it can easilydeploy one of the existing API frameworks.

Web APIs can vary widely in their implementation, but there are some common patterns that have emerged, resultingin a nice selection of API frameworks from developers.

An API framework can make basic API deployment from a data source, something a developer can tackle in minutes,rather than hours or days. You and your technical talent will have to select the API framework that suits yourdevelopment style, but most are intuitive and easy to pick up.

Bottle

http://bottlepy.org/docs/dev/

Bottle is a fast, simple and lightweight WSGI micro web­framework

Page 7: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

for Python. It is distributed as a single file module and has no dependenciesother than the Python Standard Library.

Routing: Requests to function­call mapping with support for cleanand dynamic URLs.Templates: Fast and pythonic built­in template engine and supportfor mako, jinja2 and cheetah templates.Utilities: Convenient access to form data, file uploads, cookies,headers and other HTTP­related metadata.Server: Built­in HTTP development server and supportfor paste, fapws3, bjoern, Google App Engine, cherrypy or anyother WSGI capable HTTP server.

CherryPy

http://cherrypy.org/

CherryPy is a pythonic, object­oriented HTTP framework, that allowsdevelopers to build web applications in much the same way they would buildany other object­oriented Python program. This results in smaller sourcecode developed in less time.

CherryPy is now more than six years old and it is has proven very fast andstable. It is being used in production by many sites, from the simplest onesto the most demanding ones.

Dave

https://github.com/evantahler/PHP­DAVE­API

DAVE is a minimalist, multi­node, transactional API framework written inPHP, which contains an end­to­end API test suite for TDD, a Task model, anActive Database Model, and a stand­alone development server ( PHP) toget you started.

DAVE is an acronym that stands for Delete, Add, Edit, and View. These 4methods make up the core functionality of many transactional webapplications.The DAVE API aims to simplify and abstract may of thecommon tasks that these types of APIs require. DAVE does the work foryou, and he's not CRUD. Dave was built to be both easy to use, but to be assimple as possible.

Dave contains an end­to­end API test suite for TDD, a Task model, anActive Database Model, and a stand­alone development server (written injust PHP) to get you started.

Page 8: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

Django Rest

http://django­rest­framework.org/

Django REST framework is a lightweight REST framework for Django, thataims to make it easy to build well­connected, self­describing RESTful WebAPIs.

Automatically provides an awesome Django admin style browse­ableself­documenting API.Clean, simple, views for Resources, using Django’s new class basedviews.Support for ModelResources with out­of­the­box defaultimplementations and input validation.Pluggable parsers, renderers, authentication and permissions ­ Easyto customise.Content type negotiation using HTTP Accept headers.Optional support for forms as input validation.Modular architecture ­ MixIn classes can be used without requiring theResource or ModelResource classes.

Epiphany

https://github.com/jmathai/epiphany#readme

The Epiphany framework is fast, easy, clean and RESTful. The frameworkdoes not do a lot of magic under the hood. It is, by design, very simple andvery powerful.

The documentation provides a few conventions that we believe lead to wellwritten code but you're free to use any style you'd like. The frameworknever dictates how you should write or structure your application.

Flask

http://flask.pocoo.org/docs/

Flask is a microframework for Python based on Werkzeug, Jinja 2 and goodintentions. And before you ask: It's BSD licensed!

Flask’s documentation is divided into different parts. They recommend thatyou get started with Installation and then head over to the Quickstart.Besides the quickstart there is also a more detailed Tutorial that shows howto create a complete (albeit small) application with Flask. If you’d rather diveinto the internals of Flask, check out the APIdocumentation. Common

Page 9: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

patterns are described in the Patterns for Flask section.

Flask depends on two external libraries: the Jinja2 template engine andthe Werkzeug WSGI toolkit. These libraries are not documented here.

FRAPI

http://getfrapi.com/

FRAPI is a new type of framework that embraces the standards andmindset of how the web is modeled. Instead of being a general purposeframework like the Zend Framework, Symfony, Cake, Lithium, etc. whichare great for building web applications, FRAPI aims at removing the wholefrontend layer complexity that handling REST calls can bring.

FRAPI is a RESTful API Framework that allows developers to rapidlydevelop RESTful APIs that are easily scalable and highly performant. FRAPIconsists of two specific parts: The administration interface and the publicAPI.

Grape

http://rdoc.info/github/intridea/grape

Grape is a REST­like API micro­framework for Ruby. It's designed to run onRack or complement existing web application frameworks such as Rails andSinatra by providing a simple DSL to easily develop RESTful APIs. It hasbuilt­in support for common conventions, including multiple formats,subdomain/prefix restriction, content negotiation, versioning and muchmore.

Limonade

http://www.limonade­php.net/

Limonade is a PHP micro framework for rapid web development andprototyping. It’s inspired by frameworks like Sinatra or Camping in Ruby, orOrbit in Lua. It aims to be simple, lightweight and extremly flexible.

Pylons

http://www.pylonsproject.org/

The Pylons Project was founded by the people behind the Pylons webframework to develop web application framework technology in Python.

Page 10: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

Rather than focusing on a single web framework, the Pylons Project willdevelop a collection of related technologies. The first package is thePyramid web framework.

Recess

http://www.recessframework.org/

Recess is a RESTful PHP framework that can be used by both beginner andseasoned developers. Recess is fast, light­weight, and has a very smallfootprint—ideal for LAMP development and drag­and­drop deployment toshared hosts. Recess is a modern framework that uses a loosely­coupledModel­View­Controller architecture designed and optimized specifically forPHP 5.

rest!

http://engineering.silk.co/post/90354057868/announcing­rest­a­haskell­rest­framework

rest is a set of packages used to write, document, and use RESTfulapplications. You write your API in Haskell using rest's DSL. This API canthen be run in different web frameworks like happstack, snap, or wai.Additionally, you can automatically generate documentation from it, as wellas client libraries for Haskell and Javascript.

Resteasy

http://www.jboss.org/resteasy

Resteasy is a JBoss.org project aimed at providing productivity frameworksfor developing client and server RESTful applications and services in Java. It is mainly a JAX­RS implementation but you'll find some otherexperimental code in the repository.

RestFixture

https://github.com/smartrics/RestFixture/wiki

The RestFixture is a FitNesse fixture that allows developers, testers, and/orproduct owners to write test fixtures for REST API with simplicity in mind.The idea is to write tests that are self­documenting and easy to write andread, without the need to write Java code. The fixture allows test writers toexpress tests as actions (using any of the allowed HTTP methods) tooperate on resource URIs and to express expectations about the content of

Page 11: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

the return code, headers and body. All without writing one single line of Javacode!

Restify

http://mcavage.github.com/node­restify/

restify is a node.js module built specifically to enable you to build correctREST web services. It intentionally borrows heavily from express as that ismore or less the de facto API for writing web applications on top of node.js.

RESTkit

http://restkit.org/

RestKit is an Objective­C framework for iOS that aims to make interactingwith RESTful web services simple, fast and fun. It combines a clean, simpleHTTP request/response API with a powerful object mapping system thatreduces the amount of code you need to write to get stuff done.

Restler

http://luracast.com/products/restler/

A RESTful API server framework that is written in PHP that aids your mobile/ web / desktop applications. A framework, but with a difference – Restler isall here to bend and mend to your needs.

Writing Server made easy and light. With the light weight, Restler makeswriting a server as easy as writing it with just 3 PHP files.

Restler’s advantage is the simplicity. You can create a PHP class with somefunctions to expose. If you know how to write object oriented PHP, then youalready know how to use Restler. It’s action speaks for its effectiveness.

Restler is all about being light and easy. All public methods areautomatically mapped to a URL Tailor­made Restler is known for thecustomization options. You just need to write class and add methods inPHP. It is just there!

Restlet

http://www.restlet.org/

Restlet is a lightweight, comprehensive, open source REST framework for

Page 12: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

the Java platform. Restlet is suitable for both server and client Webapplications. It supports major Internet transport, data format, and servicedescription standards like HTTP and HTTPS, SMTP, XML, JSON, Atom,and WADL. A GWT port of the client­side library is also available.

RESTRack

http://restrack.me/

A Model­View­Controller Framework. RESTRack follows the MVC designpattern that you are already familiar with. It is inspired by Rails and followsa few of its conventions. But, while Rails is a powerful tool for full webapplications, RESTRack is targeted at super lightweight data services.

Rack aims to provide a minimal API for connecting web servers and webframeworks. RESTRack leverages Rack to provide a minimal framework tocreate REST services. From the get go, RESTRack was designed to makeit extremely easy to develop performant REST data services.

RESTRack is perfect for data generation. Rich JavaScript frameworks suchas ExtJS, jQuery UI, dojo, and native mobile applications would be wellsuited to for RESTRack serving as the data layer. The framework has a verysmall memory footprint, making it a great choice for cloud typearchitectures.

RESTx

http://restx.mulesoft.org/

RESTx is a light­weight open­source platform for the creation of RESTfuldata access and integration resources and web services. It emphasizessimplicity, sane defaults and out­of­the­box usability. No complexconfiguration, no steep learning curve: You will be up and running in just 5minutes.

RESTx is not your usual application framework and can simplify the creationof RESTful web services and resources.

Roar

https://github.com/apotonick/roar

Roar is a framework for parsing and rendering REST documents. Nothingmore. With Roar, REST documents – also known as representations – aredefined using a new concept called representers. Both syntax andsemantics are declared in Ruby modules that can be mixed into your

Page 13: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

domain models, following clean OOP patterns.

Roar comes with built­in JSON, JSON::HAL and XML support. It exposes ahighly modular architecture and makes it very simple to add new mediatypes and functionality where needed. Additional features include clientHTTP support, coercion, client­side caching, awesome hypermedia supportand more. Representers fit pretty well in DCI environments, too.

Roar is completely framework­agnostic and loves being used in web kits likeRails, Webmachine, Sinatra, Padrino, etc. Actually, Roar makes it fundesigning real, hypermedia­driven, and resource­oriented systems that willeven make Steve sleep happily at night so he finally gets some REST!

Seam REST

http://seamframework.org/Seam3/RESTModule

Seam REST is a lightweight module that aims to provide additionalintegration with technologies within the Java EE platform as well as thirdparty technologies. Seam REST is independent of CDI and JAX­RSimplementations and thus fully portable between Java EE 6 environments.

Slim

http://slimframework.com/

What began as a weekend project became a simple yet powerful PHP 5framework to create RESTful web applications. The Slim micro framework iseverything you need and nothing you don’t. Slim lets you build a completePHP web service with only a single PHP file. Features include: RESTfulrouting, Named routes, Route passing, Route redirects, Route halting,Custom views, HTTP caching, Signed cookies, Custom 404 page, Custom500 page, Error handling and Logging.

Spring Framework

Page 14: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

http://www.springsource.org/spring­framework

The Spring Framework provides a comprehensive programming andconfiguration model for modern Java­based enterprise applications ­ on anykind of deployment platform. A key element of Spring is infrastructuralsupport at the application level: Spring focuses on the "plumbing" ofenterprise applications so that teams can focus on application­levelbusiness logic, without unnecessary ties to specific deploymentenvironments.

Taffy

http://atuttle.github.com/Taffy/

Taffy is a ColdFusion framework that helps you build RESTful web serviceswith very little boilerplate code, very little configuration, and to be honest,very little effort.

Tonic

http://peej.github.com/tonic/

Tonic is an open source less is more, RESTful Web applicationdevelopment PHP library, where everything useful is a resource, not a file,not a CGI script, a resource, an abstract concept of something useful thatthe client wants to grab hold of. Resources are located by URLs, URLs arecheap and form the universal addressing system of the Web. Tonic helpsyou develop Web applications that embrace the way the Web really works,enabling your applications to scale, extend and work with other systemseasily.

web py

http://webpy.org/

web.py is a web framework for Python that is as simple as it is powerful.web.py is in the public domain; you can use it for whatever purpose withabsolutely no restrictions.

Zend

Page 15: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

http://framework.zend.com/manual/en/zend.rest.server.html

Zend_Rest_Server is intended as a fully­featured REST server. To call aZend_Rest_Server service, you must supply a GET and POST methods,with a value that is the method you wish to call. You can then follow that upwith any number of arguments using either the name of the argument orusing arg following by the numeric position of the argument. When returningvalues, you can return a custom status, you may return an array with eachstatus.

Cloud API Deployment PlatformsCloud computing has been a reality for six years now. While APIs were essential to the development of cloudcomputing itself, it is natural for companies to offer API deployment services that run exclusively in the cloud.

A handful of companies have emerged in the last year providing API Deployment as a Service, connecting existingand new data sources, then generating web APIs, complete with common API management services.

Cloud API deployment from common data sources will make API deploy accessible to the masses, making APIdeployment of numerous resources easier for developers, while also making API deployment something a non­developer can handle.

https://apispark.com/

http://blog.restlet.com/

http://blog.restlet.com/feed/

https://twitter.com/apispark

https://twitter.com/apispark

http://crunchbase.com/company/restlet

APISpark

APISpark is an cloud API platform that lets you create, host, manageand use web APIs. Using the Restlet Framework at its core, APISparksimplifies the web API experience, the time to market, and the overallcost to get started and to scale you APIs. Restlet is a web APIplatform vendor, pioneer of RESTful web APIs. APISpark serves ourcustomers around the world, providing software to build web APIs,which includes APISpark, the PaaS version of Restlet. APISpark letsyou build and deploy your web APIs, which includes the creation,hosting and management­­all in one solution.

http://managedmethods.com/

http://crunchbase.com/organization/managed­

Managed Methods

Managed Methods Inc. develops and sells solutions for thegovernance of cloud services and SOA environments. The companyfocuses on providing tools that enable visibility and control of Webservices in the production environment. It offers CloudGate, a hosted

Page 16: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

methods cloud services management solution that delivers security, monitoring,and governance that gives control of Web­based services deployed inpublic cloud infrastructures. The company also provides JaxView, anSOA management product that provides visibility and control for SOA,and cloud services and APIs. Managed Methods Inc. wasincorporated in 2005 and is headquartered in Boulder, Colorado.

http://www.slashdb.com/

http://www.slashdb.com/feed/

http://twitter.com/slash_db

http://crunchbase.com/company/vt­enterprise

SlashDB

SlashDB connects your internal databases and constructs aREST/HTTP web service, easily making database content accessibleby URLs for getting, updating, inserting and deleting in a secure way. SlashDB provides connectors for Microsoft SQL Server, Oracle,MySQL, PostGreSQL, IBM DB2 and Sybase­­covering the top 5databases you will find in the enterprise or small to mediumbusinesses.

SlashDB automatically turns databases into online resource so theircontent becomes accessible to authorized web, mobile and enterpriseapplications for reading and writing under standard data formats.Technically speaking, it makes REST APIs out of relational databases.

http://www.swiftiq.com/

http://www.swiftiq.com/blog

http://www.swiftiq.com/blog/rss.xml

https://twitter.com/swiftiq

https://twitter.com/swiftiq

http://crunchbase.com/company/swiftiq

SwiftIQ

SwiftIQ provides web­service application programming interface (API)infrastructure to facilitate data accessibility and predictive analyticsthrough the Swift Access and Swift Predictions products. Swift Accessis an award­winning backend platform to unify and securedisconnected data then deliver and analyze it on­demand to powerreal­time digital actions. Swift Predictions allows users to applyadaptive, machine learning algorithms to discover insights fast andmake applications smarter. The Company was founded in 2011 andheadquartered in Chicago, IL.

Using API Gateways for DeploymentI'm counting seven separate, enterprise quality gateways currently available on the market. It can be tough tounderstand the features each gateway offers, and often their abilities to act as mediators between the enterpriseresources and their consumers. But API gateways are a powerful and complete way to address API deployment, andif this route makes sense for your company, you should reach out to the providers that speak to your companies

Page 17: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

goals.

All of these API gateways have kept with the times, evolving from their SOA roots, understanding the importance ofdelivering RESTful APIs, and providing lightweight JSON from a variety of existing legacy, internal resources.

API Gateways are the API deployment option for larger businesses, ones that have volumes of existing resources toexpose. Deploying individual APIs with frameworks, and hand­rolling your own management tools can quicklybecome overwhelming, and these providers have hardened their offerings, making them a solid option.

https://apigee.com

https://blog.apigee.com/front

https://twitter.com/Apigee

https://twitter.com/Apigee

http://crunchbase.com/company/apigee

Apigee

Apigee is a provider of API technology and services forenterprises and developers. Providing a range of solutions fromentry level tools for exploring APIs with a console andnavigating OAuth, to enterprise tools for managing OAuth, Keysand platform for driving developer adoption whileunderstanding usage, managing traffic and scaling an APIplatform. Apigee provides solutions for enterprises likeComcast, GameSpy, TransUnion Interactive, Guardian Life andConstant Contact and thousands of developers use Apigee'stechnology.

Apigee provides resources to help you understand bestpractices, avoid common pitfalls, develop your strategy, andlearn to drive your developer community. Apigee also providesarticles, white papers, and other resources to help you deliveryour API.

https://intel.com

https://twitter.com/Intel

http://crunchbase.com/company/intel

Intel

Intel Expressway API Manager, powered by Mashery, helpsenterprises to integrate 3rd­party APIs with their own on­premor cloud based internal data services. This provides enterpriseclass security, legacy integration, and a more flexible enterpriseready MBaaS platform for the development of mobileapplications. In conjunction, the Intel® HTML5 DevelopmentEnvironment addresses development cycle challenges with theIntel® XDK ­ Cross platform development kit enabling “write itonce, deploy to many” mobile platforms.. Intel's App Dev centeris a cloud­based service that packages HTML5 apps for AppleiOS, Google Android, Amazon Kindle, Facebook, and other AppStores. Intel also provides APIs through its Cloud ServicesPlatform, including location­based, identity, commerce, context,and recommendation services.

Page 18: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

http://www.layer7tech.com/

http://www.layer7tech.com/blogs/

http://www.layer7tech.com/blogs/index.php/feed/

https://twitter.com/layer7

https://twitter.com/layer7

http://crunchbase.com/company/layer­7­technologies

Layer 7 Technologies

Layer 7 is a leading provider of API security and governancefor Service Oriented, Web Oriented and Cloud Orientedintegration. Through our award winning line of SecureSpanand CloudSpan family of API gateways and managementproducts, Layer 7 is helping organizations control how theyexpose their data and applications to outside divisions,partners, mobile developers and cloud services.

Founded in 2003, Layer 7 operates in the US, Canada andEurope. Our customers include leading insurance, banking,telecom and government organizations. The company isventure backed by leading Canadian and US investors.

http://www.oracle.com/us/products/middleware/identity­

management/api­gateway/overview/index.html

https://twitter.com/OracleSOA

Oracle

Secures service­oriented architecture (SOA) deployments on­premise, across domain boundaries, or in the cloud enablingorganizations to securely and rapidly adopt cloud, mobile, andSOA services. Provides a lightweight API gateway for securingand managing APIs. Connects mobile devices to existingenterprise systems. Significantly lowers integration costs,decreases total cost of ownership, and reduces deploymentrisks. Offers rich integration with many identity and accessmanagement platforms. Helps streamline regulatorycompliance through authentication, authorization, and auditcapabilities.

http://soa.com

http://blog.soa.com/

http://feeds.feedburner.com/SOA/Blog

https://twitter.com/SOASoftwareInc

http://crunchbase.com/company/soa­software

SOA Software

SOA Software, Inc. provides API management and integratedservice­oriented architecture (SOA) governance automationsolutions. It offers Enterprise API Management; PolicyManager, which provides SOA registry/repository and SOApolicy governance solutions; Repository Manager, whichprovides software development asset repository, lifecyclemanagement, and metadata federation solutions; and PortfolioManager, a planning governance product that helps ensure thealignment of SOA programs with strategic IT investment andbusiness objectives. The company also provides ServiceManager, a SOA management and security product, whichprovides security, routing, mediation, monitoring, and

Page 19: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

management for SOA and Web services; and SOLA, whichprovides a governable mainframe SOA platform.

https://twitter.com/dnsmadeeasy

http://resources.vordel.com/index.php/category/blog/

http://feeds.feedburner.com/Vordelfeeds?format=xml

https://twitter.com/vordel

http://crunchbase.com/company/vordel

Vordel

Vordel API Gateway is a policy enforcement point toauthenticate API clients and users against enterprise accessmanagement platforms. Vordel adds advanced capabilitiessuch as security token mediation for single sign­on and identityfederation. Vordel API Gateway also integrates with fine­grained authorization tools to externalize authorization for newand legacy applications. Vordel offers out­of­the­box integrationwith all the leading identity management platforms to providecomprehensive API Security.

Using API Gateways for DeploymentI'm counting seven separate, enterprise quality gateways currently available on the market. It can be tough tounderstand the features each gateway offers, and often their abilities to act as mediators between the enterpriseresources and their consumers. But API gateways are a powerful and complete way to address API deployment, andif this route makes sense for your company, you should reach out to the providers that speak to your companiesgoals.

All of these API gateways have kept with the times, evolving from their SOA roots, understanding the importance ofdelivering RESTful APIs, and providing lightweight JSON from a variety of existing legacy, internal resources.

API Gateways are the API deployment option for larger businesses, ones that have volumes of existing resources toexpose. Deploying individual APIs with frameworks, and hand­rolling your own management tools can quicklybecome overwhelming, and these providers have hardened their offerings, making them a solid option.

http://docs.import.io/

http://blog.import.io/

https://twitter.com/importio

https://twitter.com/importio

http://crunchbase.com/company/importio

Import.io

Importio turns the web into a database, releasing the vast potential ofdata trapped in websites. Allowing you to identify a website, select thedata and treat it as a table in your database. In effect transform thedata into a row and column format. You can then add more websites toyour data set, the same as adding more rows and query in real­time toaccess the data.

Page 20: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

https://www.kimonolabs.com/

http://blog.kimonolabs.com/

http://blog.kimonolabs.com/feed/

https://twitter.com/kimonolabs

http://crunchbase.com/company/kimono

Kimono Labs

Kimono is a way to turn websites into structured APIs from yourbrowser in seconds. You don’t need to write any code or install anysoftware to extract data with Kimono. The easiest way to use Kimono isto add our bookmarklet to your browser’s bookmark bar. Then go to thewebsite you want to get data from and click the bookmarklet. Select thedata you want and Kimono does the rest.

https://scraperwiki.com/

https://blog.scraperwiki.com/blog/

https://blog.scraperwiki.com/feed/

https://twitter.com/scraperwiki

https://twitter.com/scraperwiki

http://crunchbase.com/company/scraperwiki

ScraperWiki

ScraperWiki is a web­based platform for collaboratively buildingprograms to extract and analyze public (online) data, in a wiki­likefashion. "Scraper" refers to screen scrapers, programs that extract datafrom websites. "Wiki" means that any user with programmingexperience can create or edit such programs for extracting new data,or for analyzing existing datasets. The main use of the website isproviding a place for programmers and journalists to collaborate onanalyzing public data

Page 21: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

From Deployment to ManagementI have broken out API design and deployment into individual areas, separate from API management. However theyare all intertwined and overlap is inevitable, but it is important to understand the overview of API deployment, fromframework to gateway and where it fits in with API design and management.

API deployment was born out of SOA and the enterprise, and the API gateways have the longest history in APIdeployment. But over the last 10 years a wealth of frameworks and scrappier approaches to deploy APIs build onHTTP has evolved considerably.

After 10 years of evolving API frameworks, and RESTful approaches a new breed of API providers have emerged toprovide the next generation of API deployments that will drive mobile apps and the Internet of Things. All of this ismaking API deployment something anyone can do.

API Evangelist is about educating the masses about the potential of APIs, and understanding API deployment issomething that any savvy business person should have a grasp of, even if you won't be getting your hands dirty withthe actual execution.

Maybe you have a wealth of data locked up in databases that you need to make available for mobile or tablet apps,and you just don't have the internal resources to design, develop and deploy you APIs. Five years ago, APIs weredefinitely a purely technical initiative, born out of IT. In 2014 anyone with a little tech curiosity can understand what ispossible, and begin to put a plan in place and achieve deployment.

Now you should have a 100K foot view of the world of API deployment, and should now look to understand what isinvolved with managing an API in the wild.

Page 22: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

Appendix A: Curated News and ResourcesAnnouncing rest | A Haskell REST framework from engineering.silk.co on 6/29/2014), full resourceavailable at http://engineering.silk.co/post/90354057868/announcing­rest­a­haskell­rest­frameworkAPI gateways emerge to address growing security demands from searchsecurity.techtarget.com on6/26/2014), full resource available at http://searchsecurity.techtarget.com/news/2240222882/API­gateways­emerge­to­address­growing­security­demandsHow to build a scalable REST API using Node.JS and Express from shamadeh.com on 6/26/2014),full resource available at http://shamadeh.com/blog/web/2014/06/26/NodeRestAPITutorial.htmlSOA Series Part 3: Documenting and Generating your APIs from techblog.livingsocial.com on6/26/2014), full resource available at https://techblog.livingsocial.com/blog/2014/06/26/soa­series­part­3­documenting­and­generating­your­apis/3SCALE Integrates with Heroku to Manage and Secure APIs from www.prweb.com on 6/19/2014),full resource available at http://www.prweb.com/releases/2014/06/prweb11957895.htmMaven Plug­in: Scripting the Deployment of API Proxies from blog.apigee.com on 6/19/2014), fullresource available athttp://blog.apigee.com/detail/maven_plug_in_scripting_the_deployment_of_api_proxiesRethinkDB 1.13: new protocol and push­pull APIs from nosql.mypopescu.com on 6/19/2014), fullresource available at http://nosql.mypopescu.com/post/89261847995/rethinkdb­1­13­new­protocol­and­push­pull­apis#_=_API gateways emerge to address growing security demands from searchsecurity.techtarget.com on6/18/2014), full resource available at http://searchsecurity.techtarget.com/news/2240222882/API­gateways­emerge­to­address­growing­security­demandsNew eBook: APIs and IT Rationalization from blog.apigee.com on 6/16/2014), full resource availableat http://blog.apigee.com/detail/new_ebook_apis_and_it_rationalizationBuilding a Simple RESTful API with Spark | Javalobby from java.dzone.com on 6/11/2014), fullresource available at http://java.dzone.com/articles/building­simple­restful­apiHow to use RESTFul Web Services with ‘GRAILS’ from blogs.shephertz.com on 4/9/2014), fullresource available at http://blogs.shephertz.com/2014/04/09/how­to­use­restful­web­services­with­grails/The Future of API Design: The Orchestration Layer from thenextweb.com on 12/20/2013), fullresource available at http://thenextweb.com/dd/2013/12/17/future­api­design­orchestration­layer/#!qhExmIs REST losing its flair – REST API Alternatives from www.programmableweb.com on 12/19/2013),full resource available at http://www.programmableweb.com/2013/12/19/is­rest­losing­its­flair­rest­api­alternatives­2APISpark at APIdays Paris 2013 from blog.restlet.com on 12/17/2013), full resource available athttp://blog.restlet.com/2013/12/17/apispark­at­apidays­paris­2013/Some JavaScript API Coding With Restify & Express & Hacking it With cURL …Segment #1 (withsome Webstorm to boot) | Composite Code from compositecode.com on 12/9/2013), full resourceavailable at http://compositecode.com/2013/12/01/some­javascript­api­coding­with­restify­express­hacking­it­with­curl­segment­1/The lie of the API | Ruben Verborgh from ruben.verborgh.org on 12/7/2013), full resource available athttp://ruben.verborgh.org/blog/2013/11/29/the­lie­of­the­api/Api Documentation from blog.ninlabs.com on 12/7/2013), full resource available at

Page 23: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

http://blog.ninlabs.com/2013/03/api­documentation/A Tutorial on Google Cloud Endpoints (III) | Modeling Languages from modeling­languages.comon 11/21/2013), full resource available at http://modeling­languages.com/google­cloud­endpoints­iii/XML and JSON: the tale of the tape from schoolofdata.org on 11/21/2013), full resource available athttp://schoolofdata.org/2013/11/21/xml­and­json/5 Reasons Your API Is Still Private from www.programmableweb.com on 11/18/2013), full resourceavailable at http://www.programmableweb.com/2013/11/18/5­reasons­your­api­is­still­privatePreparing the Netflix API for Deployment from techblog.netflix.com on 11/18/2013), full resourceavailable at http://techblog.netflix.com/2013/11/preparing­netflix­api­for­deployment.htmlRestlet gets funding to accelerate APISpark growth! from blog.restlet.com on 11/13/2013), fullresource available at http://blog.restlet.com/2013/11/13/restlet­gets­funding­to­accelerate­apispark­growth/SlashDB ­ Automatic REST API for Databases on AWS Marketplace from aws.amazon.com on11/8/2013), full resource available athttps://aws.amazon.com/marketplace/pp/B00FFKW0GC/ref=vdr_rf#product­detailsAPI Proxy or Gateway? from blog.soa.com on 11/1/2013), full resource available athttp://blog.soa.com/api­proxy­or­gateway/SlashDB Now Available through Amazon Web Services Marketplace from www.slashdb.com on10/24/2013), full resource available at http://www.slashdb.com/2013/10/24/slashdb­now­available­aws­marketplace/APISpark integrates with existing data stores from blog.restlet.com on 9/22/2013), full resourceavailable at http://blog.restlet.com/2013/09/23/apispark­integrates­with­existing­data­stores/Restlet Framework 2.1.4 and 2.2 M5 released from blog.restlet.com on 9/18/2013), full resourceavailable at http://blog.restlet.com/2013/09/18/restlet­framework­2­1­4­and­2­2­m5­released/Flash tutorial to deploy an NGINX API gateway on Heroku from www.3scale.net on 9/5/2013), fullresource available at http://www.3scale.net/2013/09/flash­tutorial­to­deploy­an­nginx­api­gateway­on­heroku/Telco API Exposure: ParlayX­to­OneAPI SOAP­to­REST (video & demo) from blog.apigee.com on9/5/2013), full resource available athttps://blog.apigee.com/detail/telco_api_exposure_parlayx_to_oneapi_soap_to_rest_video_demoAnatomy of an API Gateway from blog.soa.com on 8/28/2013), full resource available athttp://blog.soa.com/anatomy­of­an­api­gateway/Benefits of building an internal API program from azure.microsoft.com on 8/22/2013), full resourceavailable at http://azure.microsoft.com/apim/SlashDB Adds Support for 3Scale API Management Service from www.slashdb.com on 8/21/2013),full resource available at http://www.slashdb.com/2013/08/21/slashdb­supports­3scale/Deploying the Netflix API from www.blogger.com on 8/14/2013), full resource available athttps://www.blogger.com/feeds/725338818844296080/posts/default/919583574913443808Deploying the Netflix API from techblog.netflix.com on 8/14/2013), full resource available athttp://techblog.netflix.com/2013/08/deploying­netflix­api.htmlBe a better Developer: Why REST is so important from www.beabetterdeveloper.com on 7/29/2013),full resource available at http://www.beabetterdeveloper.com/2013/07/why­rest­is­so­important.htmlVersioning a REST API from www.baeldung.com on 7/29/2013), full resource available athttp://www.baeldung.com/rest­versioningGet an Azure hosted web API deployment for free with Azure websites from

Page 24: API Providers Guide - API Deployment › kinlane-productions › ... · Django REST framework is a lightweight REST framework for Django, that aims to make it easy to build wellconnected,

gripdev.wordpress.com on 7/10/2013), full resource available athttp://gripdev.wordpress.com/2013/03/19/get­an­azure­hosted­web­api­deployment­for­free­with­azure­websites/Things to share: Excel Service in SharePoint 2013 from sureshpydi.blogspot.com on 7/10/2013), fullresource available at http://sureshpydi.blogspot.com/2013/07/excel­service­in­sharepoint­2013.htmlMicro Service Architecture from yobriefca.se on 7/9/2013), full resource available athttp://yobriefca.se/blog/2013/04/29/micro­service­architecture/5 questions businesses need to ask before developing an API from blog.cloudwork.com on7/2/2013), full resource available at http://blog.cloudwork.com/5­questions­business­developing­api/API Crafting Secrets: Into Flightstats APIs from www.3scale.net on 7/2/2013), full resource availableat http://www.3scale.net/2013/07/api­crafting­secrets­into­flightstats­apis/Build a Public API on Force.com from blog.jeffdouglas.com on 7/2/2013), full resource available athttp://blog.jeffdouglas.com/2013/07/02/build­a­public­api­on­force­com/Launching the #OpenData Directory | Open Data D... from www.scoop.it on 6/29/2013), full resourceavailable at http://www.scoop.it/t/computational­and­data­journalism/p/4003974823/2013/06/29/launching­the­opendata­directory­open­data­directory­community­group­linkeddataYour API Deployment with 3scale API Management solution from www.3scale.net on 6/29/2013),full resource available at http://www.3scale.net/api­management/api­deployment/How to bridge technical gaps of your API from blog.elastic.io on 6/20/2013), full resource available athttp://blog.elastic.io/post/53429007458/how­to­bridge­technical­gaps­of­your­apiEasy “one­click” deployment of CKAN 2.0 on VM Depot from ckan.org on 6/13/2013), full resourceavailable at http://ckan.org/2013/06/13/easy­one­click­deployment­of­ckan­2­0­on­vm­depot/The Reality of API Lifecycle Management from blog.soa.com on 6/9/2013), full resource available athttp://blog.soa.com/api­lifecycle­management/New release of APISpark rolled out from blog.restlet.com on 5/20/2013), full resource available athttp://blog.restlet.com/2013/05/21/new­release­of­apispark­rolled­out/IBM Looks for Bigger Slice of API Economy from www.programmableweb.com on 5/14/2013), fullresource available at http://www.programmableweb.com/news/ibm­looks­bigger­slice­api­economy/2013/05/14