BaaS

Product Update: Apigee Edge Public Cloud

One of the big benefits of a cloud-based service is frequent feature updates that our customers can start using the moment they become available. From shared flows and flow hooks to developer portal security to bug fixes, here are the latest Apigee Edge product updates.

Shared flows and flow hooks are generally available

The shared flows and flow hooks features introduced in cloud release 16.09.21 have moved to general availability and appear by default in the Edge management UI. These features enable consistent operational behavior across multiple proxies. With shared flows, you group reusable policies and resources, then execute them at specific points (flow hooks) before or after the main flows in an API proxy. See details about this feature here.

What does this really add up to? Zero downtime deployment of shared flows using APIs so no incoming traffic is affected.

Yes, you heard that right. Go here for additional details.

Still using the Apigee secure store (vault)?

The Apigee secure store, also known as "vaults," is being deprecated and will be retired a year from now. Vaults provided a mechanism for encrypted storage of key/value pairs to persist sensitive data and system or service credentials. You create vaults using the management API and access them runtime with functions in the apigee-access Node.js module. Instead of using the secure store, you should start using encrypted key value maps (KVMs). See more details here.

Securing the developer portal

You can now enable SAML authentication on your developer portal. The Security Assertion Markup Language (SAML) specification defines formats and protocols that enable applications to exchange XML-formatted information for authentication and authorization. Administrators of organizations that have been configured for single sign-on can configure the developer portal to use SAML authentication. Contact your Apigee customer support representative to enable SAML authentication on your developer portal; go here for more information.

Using the New Edge UI?

The New Edge UI is updated frequently.

  • Did you know you can access the API BaaS directly from the navigation bar? The BaaS interface in the New Edge experience is functionally identical to the classic Edge experience.

  • Want to create multiple branded developer portals in minutes? No problem. Check out how in a few clicks.

  • We made some performance improvements including compression of static HTML, CSS, and JavaScript responses using gzip and optimizations to the side navigation bar display to make for an optimal UI experience.

Check out the updated docs site for the New Edge UI here and all the latest release notes here.

Bug fixes

We’ve made several bug fixes, including resolving errors encountered when importing and saving large proxy bundles, UI crashes related to viewing a product associated with tens of thousands of apps, and errors associated with monetization rate plans. For a comprehensive list of all bug fixes, please visit the “Bugs Fixed” sections of the specific releases.

We encourage you to try out these new features, ask questions, and provide feedback on the Apigee Community.

App Performance Monitoring Is Now Open Source

We’re pleased to announce that Apigee's Mobile Application Performance Monitoring has become an open source project, enabling broader usage and contribution.

Mobile APM helps developers monitor mobile app errors, crashes, and network performance issues. It also enables developers to push configurations and features to mobile devices without forcing end users to update their apps.

As part of the suite of mobile functionality within Apigee Edge’s API BaaS, Mobile APM has been used to monitor mobile apps on millions of iOS, Android, and HTML5 devices.

Mobile APM was contributed to the open source community by Prabhat Jha in the following Apigee GitHub repository: https://github.com/apigee-labs/apibaas-monitoring. It’s a standalone Java web application requiring MySQL, and runs separately from (but integrates with) Apigee's API BaaS or Apache Usergrid. You can host Mobile APM in a public or private cloud.

As a result of open sourcing Mobile APM, the monitoring feature In the Apigee API BaaS admin portal has been retired.

Questions? Comments? Start a conversation in the Apigee Community.

From Proof-of-Concept to Production-Grade With Uber and Hue

Previously, we discussed building a proof-of-concept app that integrates the Philips Hue API with Uber’s API to build a mobile app that seamlessly incorporates both platforms to provide a new user experience. Our app enables you to send your Uber ride status to Hue and track your ride’s progress using different colors from the Hue light bulbs.

Here, we’ll discuss building a production-grade app quickly with Apigee using out-of-the-box components that make apps thin and help them work well across various endpoints by leveraging the power of APIs.

Here’s the basic architecture that we used to build our proof of concept:

 

 

Production-grade app requirements

You might notice that it’s missing some key pieces, including user management, user preferences, data storage, an API management layer, and integration with other third-party applications.

Ideally, If we were building a production-grade app, we would require the ability to:

  • store user preferences in datastores, such as like Philips Hue settings, device settings, and user information
  • include API management capabilities like API security, rate limiting, throttling, and separation of  the API layer from server logic
  • integrate third-party services, such as the ability to turn on lights using an SMS service like Twilio when data network is unavailable
  • track app usage using API analytics
  • scale API performance to match API traffic
  • decouple client app and backend capability by providing unified API (as facade) and access mechanism (OAuth); client app for different devices can evolve independently
  • build backend capabilities as microservices for scale and faster innovation

Considering these requirements, a typical architecture would look like this:

 

This architecture needs a database, server-side logic to expose the database and features to the outside world via APIs, a server to execute business logic, and an API management layer to secure, scale, connect, manage, and analyze your APIs.

If you were building the solution from scratch, you’d need a database like Amazon RDS, a server (Apache, Tomcat, IIS, or Nginx, for example), and the database and functionality exposed to the outside world using APIs via server-side code logic written with PHP, Java, or some other language.

API management to the rescue

The APIs are built and managed with Apigee Edge. In this approach, we’ll use Node.js to build the intermediate APIs that facilitate seamless interaction between Uber and Philips Hue.

Edge helps with :

  • building highly customized, standalone APIs and backend services
  • building backend logic for API BaaS to leverage cloud data storage and management, user management, push notifications, and more
  • solving complex orchestration and mobile optimization problems using Apigee policies, with the advantage of a scriptable target endpoint
  • building composite services and mashups
  • rapidly developing prototypes of new APIs using frameworks like Express

BaaS helps with :

  • data storage and management
  • CRUD operations
  • User management, out-of-the-box entities, roles, and permissions
  • Geolocation-based queries, push notifications, and much more

Implementing Hueber on Apigee Edge is separated into the following steps:

  • using Express.js to build routes and APIs
  • storing Philips Hue-related information in the Apigee BaaS data store
  • using Uber WebHooks to call APIs implemented in the Apigee Edge Node.js server
  • invoking Philips Hue APIs to control the lights from Node.js servers by retrieving the Hue information from BaaS


With Apigee,  the architecture looks like this:

Let’s build a simple API that demonstrates Apigee Edge capabilities and uses Apigee BaaS for data storage:

var express    = require('express');        // call express

var app        = express();                 // define our app using express

var bodyParser = require('body-parser');

 

app.use(bodyParser.urlencoded({ extended: true }));

app.use(bodyParser.json());

 

var port = process.env.PORT || 9000;        // set our port

 

// ROUTES FOR OUR API

// =============================================================================

var router = express.Router();              // get an instance of the express Router

 

router.route('/light1')

 

   .post(function(req, res) {

       //turn on hue light api code goes here..

       res.json({ message: 'Light turned on !!'});

   })

 

// more routes for our API will happen here

 

// REGISTER OUR ROUTES -------------------------------

// all of our routes will be prefixed with /api

app.use('/', router);

 

// START THE SERVER

// =============================================================================

app.listen(port);

console.log('Magic happens on port ' + port);

 

The app above will be deployed to Apigee Edge using the apigeetool command:

apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}

Once it’s deployed, you can manage APIs using Apigee Edge’s built-in features and policies.

 

 

If some of your developers would like to see output in XML instead of default JSON, you can just add JSON to XML policy in the response flow to make the transformation:

 
 

Using Apigee BaaS to store user information, you can just do CRUD operations by making API calls (gone are the days where you run SQL commands):

 

Apigee Edge provides you out-of-the-box solutions to secure, scale, connect, manage, and analyze your APIs. Building production-grade apps quickly with Apigee makes your apps thin and flexible to meet future changes and integrations.

 

Deep Dive: The Strategic Importance of BaaS

Webcast replay

BaaS continues to be a developer's best bet to simplify and scale app development. 

In this deep-dive technical webcast replay, we look at the strategic importance of having BaaS as part of an API management solution, along with a demo of Apigee Edge API BaaS.

Apigee's Jeff West discusses:

  • ways to enable greater app functionality through datastores
  • how API BaaS enables speedy app development
  • a demo of Apigee Edge API BaaS

 

 

API Management: Is Your Solution Enterprise-Grade?

We’ve been fortunate to help hundreds of customers transform into digital businesses. The insights we’ve gained have taught us a lot about digital business success and failure. One of the most important decisions you’ll make is how you will manage the mission-critical APIs that connect your business to apps, developers, and customers.

The API management decision impacts not only your eventual success but also time-to-value, bottom-line cost, and even opportunity cost.

What seems safe may be the riskiest

When Apigee initially talked with a large telco prospect, we learned that they were using an API management solution provided by their existing SOA vendor. After learning about Apigee Edge they decided that even though they had concerns about their solutions capabilities they would continue working with their existing vendor. Armed with a list of requirements and promised modifications they believed they could achieve their goals.

Two months later, we got the call to return to discussions, as this company had realized that its existing solution was not up to the challenge of enterprise-grade performance, stability, and functionality. They came back to Apigee and understood the difference between a product extended to address API management, and one designed from the ground up for the digital business of APIs and apps (Apigee Edge).

It’s more complicated than it might seem

The sales cycle of a prospective customer in the media and entertainment industry highlights a different lesson. An initial engagement involving learning about Edge and API management led to an RFP three months later. Another vendor was selected. Even though the company acknowledged that Edge was a more complete solution, this company believed it could get by with less.

This vendor’s approach was also one of extending existing SOA infrastructure to manage APIs. Six months later we got the call to return. The product this prospect had chosen was not stable, it didn’t do all that was needed, and they were behind schedule. This customer came back to Apigee after learning that several features it thought were unnecessary were in fact important to its ability to achieve its business goals.

Don’t forget opportunity cost

A company in the media industry was using a competitive product but was unhappy with the level of business agility, and the lack of visibility this solution provided into its digital business. The discussions we had didn’t result in a change to Apigee until two years later.

Two years is an eternity in the land grab for digital business. Progress slows, competitors advance, and the inability to respond to and profit from new market opportunities translates into significant opportunity cost. This customer came back to Apigee after experiencing the impact of that opportunity cost.

Large-scale change is difficult. We are privileged to learn a lot by helping some of the most large-scale and mission critical deployments across a variety of industries become digital businesses. It’s always more complex than it seems. Customer panelists at a recent Apigee event unanimously said that the move to digital is always more involved than one would originally think, and advised against minimizing the task. To help you succeed, Apigee Edge is built from the ground up for digital business and provides the most complete and unified solution available.

Learn more about Edge and what it offers by watching this demo.

Apigee Edge API BaaS: Streamline App Development (webcast & podcast)

Backend-as-a-Service technology is now essential for mobile developers looking to simplify and scale app development.

In this technical deep-dive webcast, Apigee's Jeff West explains how Apigee Edge API BaaS enables web and mobile app developers to provide geolocation, push notifications, and more, while linking apps to a cloud data store.

Jeff discusses ways to enable greater app functionality through data stores and how API BaaS enables speedy app development. He also runs a live demo of Apigee Edge API BaaS.

 

Apigee Named a Leader Among API Management Solutions by Independent Research Firm

Apigee was proud to be among the select companies Forrester Research, Inc. invited to participate in this independent report— The Forrester Wave™: API Management Solutions, Q3 2014—and also proud to be recognized as one of the top solutions for API management from among a select group of vendors.

The report evaluated the 11 most significant API management vendors across 40 criteria. Forrester included Apigee as a leader in API management, citing it to be particularly strong in analytics and its comprehensive solution that includes value-added functions.

“Apigee’s standout feature is its analytics and it is well rounded across other criteria and the only vendor to have full capabilities in three of our added value feature criteria: API hosting, mobile app support and turnkey billing.”

“Thus, considering the added-value features along with the primary criteria, Apigee’s solution has the most consistent across-the-board functionality.”

In a separate report, “Applying The Forrester Wave™: API Management Solutions, Q3 2014,” Forrester published API management vendor evaluations customized for a few common buying scenarios.

Apigee was also acknowledged as a leader in this report, receiving the top score for current offering “API Service Providers” scenario—the use case for organizations whose API strategy is to create a new source of revenue by charging for use of its APIs. Apigee was also named a leader in the “Mobile App Support Scenario,” the use case where API management is deployed solely to support an enterprise mobile app initiative. 

Demand for digital business technologies is exploding, and we stand ready and excited to work with enterprises across industries to help them compete in today’s accelerated digital world.

Complimentary copies of both reports are available on apigee.com.