Cloud Blog

Category Archives: API Cloud

Role-Based API Editing Rights

The new feature that we have just rolled out allows teams to separate who can edit and publish which APIs.

Suppose you have a fairly large project or even a set of projects and they have different APIs. The chances are that different APIs are owned by different teams. Up until now, there was no way to let teams edit and publish just their APIs and not APIs belonging to their colleagues.

Now all you have to do is:

  1. Set up the roles for each team and add their members to the roles,
  2. Ask the teams to set their APIs’ Access Control setting to Restricted by roles, and then provide their role name in the Visible to Role field (both of these can be found at the Design step of API editing):

This new feature nicely compliments the ability to select which subscribers can see which APIs in the Developer Portal (API Store).

Give the new feature a try in WSO2 API Cloud and let us know what you think!

 

API mediation cookbook

API Cloud comes with a powerful mediation engine that can transform on the fly requests to the backend as well as the responses coming back.

Our cloud team went through all the support requests on custom mediation flows that we had over the years and published the most popular sequences in our documentation for you to re-use.

Check them out:

Also, see this page for instructions on uploading your sequences.

And finally, don’t hesitate to use the Support menu to ask any questions or request assistance. We are here to help!

 

Programmatically download API usage statistics

WSO2 API Cloud has a rich set of reports built in. In addition to that, we have now added the ability to programmatically pull API invocation data via a REST API so you can do your own reporting and integrate it with your other systems.

For this example, I will pull down statistics on the API calls that I made on a particular day. Here’s how:

1. Follow our earlier blog post to register your client and obtain your OAuth token (steps 1 and 2 in that blog post).

Important: on step 2.3 (Request the token), make sure to use apim:subscribe as the scope:

$ curl -k -d "grant_type=password&username=email@org_key&password=pwd&scope=apim:subscribe" -H "Authorization: Basic Base64EncodedclientIdclientSecret" https://gateway.api.cloud.wso2.com/token

{
  "access_token":"fac22c3b-efc1-3c16-92e8-56ab96a0f2f6",
  "refresh_token":"8711733a-a526-3479-bd43-a2f8a2a9c638",
  "scope":"apim:subscribe",
  "token_type":"Bearer",
  "expires_in":3600
}

2. Invoke the statistics API:

2.1 Create a json file with the parameters – the timeframe and the statistics ID:

  • getTopAppUsers – Top Users For Applications
  • getAppApiCallType – API Usage from Resource Path
  • getPerAppAPIFaultCount – Faulty Invocations per Application
  • getProviderAPIUsage – API Usage per Application

For example, here’s the stat_payload.json that I used:

{
    "statisticsType" : "getProviderAPIUsage",
    "toDate":"2018-02-02 00:00",
    "fromDate": "2018-02-01 00:00"
}

2.2 Invoke the API to get the stats:

$ curl -X POST -H "Authorization: Bearer fac22c3b-efc1-3c16-92e8-56ab96a0f2f6" -H "Content-Type: application/json" -d @stat_payload.json https://gateway.api.cloud.wso2.com/api/am/user/subscriber/statistics

{
  "success":true,
  "message":"Successfully retrieved the statistics data for the statistics type getProviderAPIUsage for the user dmitry@wso2.com@wso2dmitry",
  "data":"[
     {
       \"appName\":\"Default Application\",
       \"apiCountArray\":[
          {
            \"apiName\":\"Heroes (dmitry@wso2.com@wso2dmitry)\",
            \"count\":719
          },
          {
            \"apiName\":\"Phones (dmitry@wso2.com@wso2dmitry)\",
            \"count\":1063
          },
          {
            \"apiName\":\"WorldBank (dmitry@wso2.com@wso2dmitry)\",
            \"count\":14
          }
       ]
     }
   ]"
}

This is just one of the APIs that WSO2 Cloud exposes. To see all other APIs, check out our documentation.

 

 

 

API Gateway add-on for Heroku PaaS

Heroku is one of the most popular platform-as-a-service (PaaS) systems used by many developers to deploy, manage, and scale their applications. Recently, Heroku and WSO2 worked together to add API gateway and management functionality to the platform. In this blog post we will look into what it is and how it works.

What is API Management?

In today’s interconnected world, it is very rare that and app or a service exists by itself and is not part of a wider ecosystem of other applications. Services access other services, are part of wider ecosystems, serve as backends for web- and mobile applications.

When this happen, the services are exposed as APIs (application programmable interfaces) and the API management layer that enables that typically includes:

  • API publishing tools: ability to design, prototype, import, and test APIs, work on new versions of APIs and manage their lifecycle,
  • Security and policies: define who can access the APIs, manage their OAuth keys, set roles and scopes, as well as throttling and rate-limiting tiers,
  • Orchestration and on-the-fly transformation: your external API representation can be decoupled from your backend interfaces, and the gateway can transform the incoming calls and data formats into what your backend needs, as well as the other way around,
  • Developer Portal: the API store website for your ecosystem developers to locate the APIs, try them, read the documentation, subscribe, manage their OAuth keys and so on,
  • Monetization: ability to sell APIs and charged based on their usage,
  • Analytics: reports and alerts to give you visibility into how your APIs are used and notifications when something is not right.

API Management Add-On in Heroku

API Management add-on is now part of the Heroku Elements marketplace and provides the fully functional API management wrapper around your Heroku services with all the features we mentioned earlier.

Today we will discuss the scenario in which the gateway stays outside of the Heroku deployment working as an external layer securing the access and enforcing the policies:

Let’s explain how each of the components work:

  • Backend services in Heroku: no big changes there, you run them just like you did before. What you would want to do is to protect the backend from direct access from the internet so API gateway can send traffic to the backend but no one can bypass it. You would typically do this with a combination of basic (or digest, or mutual SSL) authentication, and (if you have Heroku Private Spaces) VPC peering and IP restrictions.
  • API Gateway: this can be run as a dyno or can stay external inside WSO2 API Cloud. You configure the gateway to get secure access to the backend, expose the APIs, set up the policies and transformations to be applied. Also, even when the gateway stays in API Cloud, you would typically want to pick the same AWS datacenter that your Heroku backend is using – this will minimize the network overhead and improve performance.
  • User interfaces: these stay in API Cloud and require no deployment. Once you provision the add-on, you get single sign-on into the web UI for API management and analytics. You also get the Developer Portal that you brand and customize, and that becomes the web site that your subscribers use.

Getting Started

To enable the add-on for your Heroku application simply run the following Heroku command line:

heroku addons:create wso2apicloud

To open the API management configuration UI in your browser, run:

heroku addons:open wso2apicloud

You start at the free usage and can then upgrade to the tier that fits you best.

See Heroku API Management add-on documentation for detailed tutorial.

Recorded Webinar: Hybrid API Management and On-Premises API Gateways

If you missed the webinar about the on-premises gateway feature that we recently added to WSO2 API Cloud there is now a recording available!

Hybrid API management lets you get the best of both worlds:

  • The agility and low total cost of ownership of SaaS,
  • The high security, compliance, and performance of local API gateways.

In the webinar, I demoed the feature and answered lots of questions that attendees had. Enjoy the recording!

Going Hybrid! On-Premises API Gateways

Today is a huge step forward for us: we are rolling out on-premises API gateways.

With this feature, you can have the best of both worlds:

  • API Cloud hosts the web user interfaces (both for API publishing and for API subscribers), configuration, and analytics,
  • You download and install in your network the API Gateway component, which then gets its configuration from the cloud and starts serving the APIs and proxying the calls.

There are multiple advantages to this deployment model:

  • Performance: you can put your API gateway close to your backend services and API subscribers thus avoiding the costly extra hops to the cloud and back,
  • Security and Compliance: API call and payload data does not leave your network and this keeps your security and compliance officers happy,
  • Connectivity: your API gateway is running locally so you do not have to set up VPN or another way of exposing your backend to the internet,
  • Low Total Cost of Ownership (TCO): Most of the infrastructure is run and maintained by WSO2 for you.

The feature is available at no extra cost to all customers of API Cloud’s Large and Extra-Large subscriptions.

To get started:

1. Log into WSO2 API Cloud and click the Get On-Premises Gateway menu:

2. Follow our On-Premises API Gateway documentation or contact our cloud team to get help with the setup.

WSO2 API Cloud in 2017

2017 was a great year for WSO2 (we are now the world’s 8th largest open-source company!), API Cloud, and our customers.

Thanks to the feedback that you provided, we have added numerous great capabilities to our cloud service. Below are just the highlights and the key new features and improvements that we have rolled out last year.

New API Design Capabilities

Advanced throttling: you can now set rate limits not just by the subscription plan but by multiple other criteria including IP addresses, headers, parameters, and JWT claims.

Native WebSocket support – now WebSocket APIs are first-class citizens in API Cloud.

Ability to have multiple backend endpoints per API and route calls on the fly based on your rules.

API Subscriber Benefits

Automated SDK generation for your APIs – API subscribers can download automatically generated SDKs for the programming language of their choice and get going developing their applications quicker.

Even more branding capabilities: you can now set your look, feel, and content not just to the Developer Portal (API Store), but also to the emails that the system sends, to the Publisher UI, and even the error messages.

Mutual SSL as a supported authentication mechanism between API clients and the gateway (and obviously between the gateway and the backend).

Cloud-Service Specific Functionality

Live log access and ability to trace the requests and their transformation for easier troubleshooting and API debugging.

Custom roles and ability to limit visibility and OAuth scopes based on them for better security design and management.

Integration with external Identity Providers and identity stores, including single sign-on for the web UIs,  ability to hook up end-user stores, and SAML integration.

Deeper integration with AWS: not only you can now have API Cloud’s gateway in any AWS datacenter of choice, you can also get API Cloud simply added to your AWS bill to simplify your accounting and vendor management.

Infrastructure Improvements

Full data encryption inside API Cloud: both in transit and at rest.

Separation between production and non-production environments for clean dev-test-production lifecycle.

Comprehensive set of our own APIs that allow you to use API Cloud programmatically and integrate it into whatever custom user interfaces and tools you develop.

 

Thank you for being a WSO2 customer and helping us innovate and advance our services!

Built-In Page Help

Happy New Year!

We have added a quick enhancement that should make API management easier for you in 2018. Now, all API Cloud pages have a context-sensitive Help button on the right-hand side:

Clicking the button, shows you the help pages that we think are most relevant to your current page:

Give the new tips a try and let us know if any useful information is missing on any of the pages!

 

 

Multiple features now included with API Cloud tiers

Today we are happy to announce that we are now bundling multiple API Cloud features (some new, some previously existing but requiring extra fees) into existing API Cloud subscription tiers at no extra cost!

Here are the features that we are adding:

Getting Traction and higher:

Medium and higher:

There are also some very exciting features in the works for Large and Extra-Large tiers so stay tuned for more announcements in January.

For our current paying customers affected by the change we will be happy to use whatever approach is the most beneficial for the customer:

  • If you are currently using a feature that is now a part of a higher tier than yours, we will let you continue to use it at your current level.
  • If you are paying for a feature that is becoming free at your tier (for example, VPN or VPC Peering at Medium and higher) we will stop charging you for the feature.

We keep looking to how we can provide more value to our customers. If you have any questions or ideas on how we can further evolve our offering please let us know.

 

Add WSO2 API Cloud to your AWS Bill

WSO2 API Cloud has a long history of integration and partnership with Amazon Web Services. Boasting 5-star rating, the service has for a long time offered comprehensive API management capabilities that go well beyond just API gateway and include analytics, real-time alerts, user management, full-featured developer portal, API monetization, integration with identity providers and user directories, and powerful on-the-fly transformation engine.

In 2016 we added the capability to have your WSO2 API Cloud gateway in any AWS datacenter of your choice and VPC peering between your AWS VPC and WSO2 API Cloud.

Today we are happy to announce that you can purchase WSO2 API Cloud right within your AWS account and simply have the service added to your Amazon bill.

If you are an existing AWS customer and want to turn your services into managed APIs and launch a full-scale API program, simply go to the API Cloud page in AWS marketplace and pick the tier that works best for your needs.

Categories

Recent Posts

Most Popular Posts