Adding Your Own Service to Stackato
by Troy Topnik

Troy Topnik, January 16, 2013

Stackato Recently, we've had a number of prospects and customers ask us about adding their own services to Stackato. So, with the help of Jamie Paton, I've put together an example service based on the simple echo service in Cloud Foundry's vcap-services repository.

But first, a bit of background.

Stackato can provision databases and other services on demand for the applications you deploy. The service types we call System Services, and the individual instances provisioned for end user applications are called Provisioned Services. Stackato comes with several System Services by default:

  • MySQL: "The world's most popular open source database"
  • PostgreSQL: "The world's most advanced open source database"
  • MongoDB: high-performance NoSQL database
  • Redis: another NoSQL database / key-value store
  • Filesystem: persistent filesystem sharable between app instances
  • Memcached: distributed memory object caching system
  • RabbitMQ: AMQP message queue

But what if a your Stackato PaaS users have applications that require services other than those above?

Well, first of all tell us! Submit a feature request for it and (subject to demand) we'll try to work it into the product roadmap. If you need the functionality right now though, you could roll up your sleeves and try adding it to Stackato yourself.

A simple example

Several months ago, Glenn Oppegard created a detailed step-by-step guide for adding services to OSS Cloud Foundry. Stackato users had already tried following these instructions and hit a number of issues. There are a number of notable differences in how services are exposed and monitored in Stackato, Jamie helped me put together our own step-by-step guide for adding a simple "echo" service to Stackato.

The echo service doesn't do much, but demonstrates how service nodes and gateways are set up in Stackato. These steps can be adapted to integrate truly useful services by having a look at similar service configuration in '/s/vcap/services'. Perhaps you want to change the PostgreSQL configuration to point to your own high-availability cluster. Maybe you want to add MariaDB as an alternative to MySQL, or CouchDB instead of MongoDB.

Be sure to let us know what services your applications demand. If you're interested in adding your own services, let us know how it goes.

Subscribe to ActiveState Blogs by Email

Share this post:

Category: stackato
About the Author: RSS

As ActiveState's Technical Product Manager for Stackato, Troy Topnik is responsible for defining and prioritizing the product roadmap to build the best cloud platform for deploying applications. Since joining ActiveState in 2001, he has held roles in Technical Support, Training, and Technical Writing. He believes in documentation-driven development as a pragmatic path to a better user experience.