I touched this topic already in my recent blog post on monitoring your APIs. When monitoring your APIs you can choose between on site/on prem installations of an API Manager and cloud based solutions. If you are working for a large corporation you might also have the option of using a private cloud option, which is something of a hybrid of the options mentioned above. Launching APIs and a full blown API strategy might create a sudden increase in traffic and communication with your IT infrastructure in a way that we are a bit unused to today.
To start with exposing your APIs (and parts of your system infrastructure) to external audience might see your infrastructure being used a lot outside of normal office hours. Making an API available to a consumer market might make your audience want to access data or information when commuting from the office, while laying on the sofa on Friday night, waiting for a son/daughter sporting activity on Saturday or doing gardening on Sunday. You might already be used to this behaviour, but if not you may be facing a challenge in increasing your core system accessability 24/7/365 and forget about maintenance windows.
Why a scaling strategy is important
Performance is also an important aspect when publishing APIs. This might not be a initial problem, but as the API usage increases over time you might have to be ready to scale performance to meet the demand of your API users. If your API is successful and reaches its intended target audience (see previous blog posts), surveys show that API usage increases very quickly. If you don't have a viable strategy for scaling your IT infrastructure capacity, you will need to start throttling usage and make users disappointed as they can't reach the API with a frequency they anticipate or require. As the future API user is expected to be very impatient this might make them go for another API supplied by someone else and you will have lost a customer/potential customer. This is why you need to have your scaling strategy in place already when the API is published, no matter if that strategy is based on a cloud or on prem solution.
UEFA Champions League and APIs
Analysing the metrics on how and when your APIs are being used will also be a key consideration when designing your infrastructure and choosing deployment options. The best example I have heard in recent times on this topic is from southern Europe. One of the largest TV broadcasters in this region has the rights to the UEFA Champions League broadcasting. The publishing of this broadcasting stream is done through APIs managed by an API Manager. Analytics says that in between matches there is only a handful of users of these APIs (naturally), but on big matches there are millions of users watching through these APIs. The largest event is of course the final in May, where several hundreds of millions of viewers are utilising this API to watch the game. If the broadcaster would invest in servers to support the viewing of the Champions League final they would end up with a lot of capacity that would not be utilised 364 days of the year, not a very useful investment. Instead they chose to host their API Management solution in a cloud based infrastructure from an external vendor. This solution means that they can turn on the switch for an extended capacity during the one day when the final is being viewed and only pay for that capacity on that given thay. For the rest of the year they only pay for the capacity they are using. A very flexible and cost efficient solution for publishing APIs and to meet the demand of its users - when they need it. A good example on how your choice of infrastructure to publish your APIs can affect access for users and cost for yourself.
Invest in an API Management tool
Going for an API initiative means that you will have to review your strategy to support it with the sufficient IT infrastructure and API Management tool (ref my blog post on API Monitoring). Make sure to keep an open mind and investigate solutions that might be a bit ”out of the box” from your normal choice since your API audience might have different requirements from your normal users. Be open to new ways to deliver the required infrastructure and maybe a cloud solution would be a good start? A cloud based solution could give you access to both an API Management tool and at the same time offer a solution that can scale at a controlled cost.
Whatever infrastructure solution you go for, make sure to invest in an API Management tool that will give you access to sufficient tools for monitoring, analytics, throttling and scales with your requirements. While you build your knowledge and infrastructure to support your API initiative, the API Manager will be the tool to aid you.
This will be my last blog post on API readiness for now. I hope that it has provided you with some interesting reading and some thoughts for your API initiative. If you require assistance in becoming API ready and adopt to the new API economy, me and my colleagues will be here to help. With our API Ready Model and API Maturity test, we have the tools and experience to set you off in the right direction.
Looking forward to connecting with you on your API initiative!
Other API Ready posts:
- API Ready Model Step 1 - Strategy and Organisation
- API Ready Model Step 2 - Design
- API Ready Model Step 3 - DevOps
- API Ready Model Step 4 - Visualize
- API Ready Model Step 5 - Security
- API Ready Model Step 6 - Test
- API Ready Model Step 7 - Monitor