Sitemap
API:Suomi

API:Suomi Community

Automated deployment to Heroku from API description file

2 min readSep 6, 2015

--

In APIOps community we seek tools and processes to automate API development as much as possible. APIOps is for API development what DevOps is for general app/service development. One feature that came to my mind in the last APIOps Tampere meetup 5.9.2015 is Automated deployment to Heroku from API description file. Below is draft of the process

apinf-heroku

Using open source APInf + API Umbrella API management

The process assumes that Design First approach is applied. API design is created with one of the available design tools in the market. Design tool could be inside APInf platform since design tools are open source. After the design is finished — created in cooperation with others involved — it is uploaded/added to API catalog. After that there are some steps to do inside APInf platform, but just a few.

API owner is shown API profile, in which there is “Deploy to Heroku” button just like in Github. API owner pushes the button and the background system build into APInf framework generates Heroku required app.json file, generates NodeJS server skeleton based on the API description file created before and pushes NodeJS files to user defined Github (could be private) repository.

Get apisuomi’s stories in your inbox

Join Medium for free to get updates from this writer.

After that system pushes app.json to Heroku and Heroku dashboard is opened in browser. In there user needs to fill in just a few items. At this point we can use Heroku provided free dynos. After that Heroku is known to get files from Github, build and start application automatically. Now we have live API even if it is responding with simulated data defined in API description.

Value to customer

Now we might want to return to APInf and do some fine tuning for example rate limiting and such, but that would not be necessary. What’s the value of this to developer? Let’s see:

  • from developer’s perspective, it makes API rampup for testing purposes super easy.
  • easy to get API mockup server running to production capable environment in the cloud (Heroku)
  • No need to start mockup server locally.
  • Test API functionality through API management
  • Everyone involved can test the server globally.
  • process could be extended to cover production level API deployment as well covering other cloud platforms.

Lets test the idea

If you want to participate in testing this process, there is ticket in Github for this https://github.com/apinf/api-umbrella-dashboard/issues/442 Intention is to hack around this feature in the next APIOps API Jam in October (Tampere). Nothing prevents us to start before that.

Press enter or click to view image in full size
apiops-wide-tampere

--

--