Blossom.io builds and serves first-class APIs with Google Cloud Endpoints

Blossom.io offers an agile project-management tool for building web and mobile applications. “In an office, you have a physical wall where you can post notes, and that’s what we are putting online,” explains Thomas Schranz, Blossom.io cofounder and chief executive officer. “You need to make important decisions multiple times a day, which is especially challenging for distributed teams. Blossom helps to get everyone on the same page.”

The small startup serves hundreds of customers, including global brands Netflix, Twitter, Adobe and Facebook. By leveraging Google services such as Google App Engine and Google Cloud Endpoints, Blossom.io can focus solely on their core offering without worrying about scaling, infrastructure and operations challenges.

Working with Cloud Endpoints and App Engine

Application programming interfaces (APIs) are essential for creating distributed, network-enabled applications, such as mobile apps and websites. Developers can host an API on Google App Engine using Cloud Endpoints, then seamlessly generate client libraries. Cloud Endpoints provides annotation support for simplicity, also supports multiple client environments, and offers documentation and examples.

Why Cloud Endpoints

Blossom.io was among the first companies to use Cloud Endpoints to build and serve APIs. Their backend is hosted by App Engine, which Blossom.io was already using for many other projects. “Choosing App Engine was one of the few key decisions that we made fairly early on,” Schranz says. “We could focus solely on the product, without having to worry about any of the hosting management concerns. That was a huge deal. Basically, App Engine in combination with Cloud Endpoints enabled us to leverage Google’s engineering and infrastructure experience, instead of having to reinvent the wheel. We couldn’t have done that on our own.”

“With Cloud Endpoints, you just run one command line through, and you have the whole library. …That is a huge advantage, especially if you want to iterate quickly.”

Thomas Schranz CEO, Blossom.io

Annotation languages

Cloud Endpoints provides a very simple server-code annotation language that turns standard code elements into APIs, with support for various programming languages. Blossom.io is already successfully using Cloud Endpoints with Python 2.7. For Blossom.io, Google Cloud Endpoints provided all the tools necessary to define, test, and deploy RESTful APIs. “Google Cloud Endpoints saves us a ton of work by giving us a simple, out-of-the-box API serving solution,” Schranz says. “We love App Engine — you get a ton of great services out of the box, like automatic scaling, memcache, the datastore and the task queue. Using Cloud Endpoints was just the logical next step for us.”

Client libraries

Cloud Endpoints generates native client libraries for web pages and mobile apps. This lets developers focus on coding and minimize the overhead associated with processing and parsing low-level communications. Generating these libraries is “very straightforward,” Schranz says.

“With Cloud Endpoints, you just run one command line through, and you have the whole library,” he explains. “There’s also support for Android clients as well as Objective C clients. If you change the API, then your client-side library is updated immediately and has all the methods. That is a huge advantage, especially if you want to iterate quickly.”

Many free features

With Google Cloud Endpoints, developers also benefit from many additional services. These include Google support for OAuth, denial of service (DoS) protection, logging, a fast and highly available serving infrastructure, Google APIs Explorer, Google APIs Discovery Service, and Google Plugin for Eclipse.

APIs Explorer, in particular, is “super useful for us internally,” Schranz says. “It is a much more intuitive way to make sense of your API compared to browsing through your source code.” Together, these additional features constitute a free Google toolbox. Without it, Schranz adds, “we would have needed to build something like it on our own.”

“With Cloud Endpoints, you just run one command line through, and you have the whole library. …That is a huge advantage, especially if you want to iterate quickly.”

Thomas Schranz CEO, Blossom.io

Matching the best

Blossom.io is now rolling out a Cloud Endpoints-powered third-party API. They are also migrating legacy REST API endpoints individually, to run consistently via Cloud Endpoints. Finally, they’re planning native clients for Android and iOS, which will also use Cloud Endpoints.

“Cloud Endpoints certainly has enabled us to offer an API that is on a par with the best APIs out there,” Schranz says. “It has enabled us to build an API that feels and behaves like APIs from YouTube, Google Maps, and other Google services. On top of that, the people using our Google Cloud Endpoints get to use exactly the same tooling they are already familiar with from official Google APIs. We would never have been able to offer something comparable in the same amount of time. Building all of that without Google Cloud Endpoints would have been unthinkable.”