API Testing and Monitoring with API Fortress Kristopher Sandoval August 2, 2016 One of the most important systems an API developer can implement is a system of monitoring. API implementation is not a “fire and forget” affair — continual support and development is necessary for a healthy, effective implementation, and this of course requires testing and monitoring. An API monitoring technique may monitor usage, uptime, accuracy, and speed of APIs… Enter API Fortress, one of the most interesting new monitoring solutions on offer in the vast API monitoring service market. In this piece, we’re going to look at the API Fortress solution, what makes it unique, and how easy and powerful it actually is. We’ll create an account, run a test or two, and experience firsthand the functionality of this system. API Fortress — A Holistic, Visual Solution One of the most interesting and useful features of API Fortress is the fact that it is not geared solely for the technically inclined. While APIs are naturally dependent on complex and extensive code, the fact of the matter is that many APIs are designed by those who are designing for a specific service or have limited knowledge within a specific language. Accordingly, many monitoring solutions tend to lock in these choices. Developers who implement their API in a specific language are more likely to implement a solution that is in that language (or at least in a related language). For instance, if a developer implements an API in Python, they are far more likely to utilize Python for monitoring or testing given their familiarity with the language. API Fortress solves this schismatic nature of implementation by providing a truly “codeless” API platform. That’s not to say the platform is overly simplified — there’s a lot of power behind this codeless platform. Power married with ease of use makes API Fortress truly unique, as anyone, whether it be the most seasoned developer or a newcomer developing a single use API, can design and implement a test to ensure accuracy, uptime, and speed across a wide spectrum of methods. Consumers, developers, and API providers all have monumental access to wonderful testing processes. One of the best things about the API Fortress platform is the fact that its testing is done over a large range of locations. Many testing platforms test from one or two geographic locations, often focused on where the service is based. While this is effective for local traffic, it certainly is very limiting in terms of global data. API Fortress solves this by presenting multiple locations across the globe from which a user can test, increasing not only the amount of data present, but the accuracy of said data. With all that said, let’s take a look at how one would create and run a test. Creating an Account Creating an account for API Fortress is as straight-forward as you would expect. While you can easily login using LinkedIn as a base for much of the information to come, you can just as easily create a login specifically for API Fortress. Enter your information, and select a geographical zone. Creating an account with API Fortress is straightforward Once your account has been created, API Fortress reveals its first great feature. When logged in to API Fortress, each user has access to a front page that catalogues all their implemented tests and services. Managing Tests and Multiple Projects Many developers often run several projects at a time, and locking in a testing platform to a single API is very frustrating. For some solutions, users may even be required to create multiple accounts, one for each API — not so with API Fortress, where all of these APIs can be joined together in a unified landing page. Manage testing for multiple API projects from a single dashboard These tests are organized in a manner not dissimilar to many project management services, such as Trello or Pivotal Tracker, with individual tests grouped under a “Project” card. Each project can hold a bevy of tests, each pointing to different services or systems. This categorization is certainly powerful in terms of management, and can have a hefty streamlining effect for developers managing multiple clients at once. Once a project is selected, the range of tests available are detailed on their own card, with the Name, Description, Author, and Scheduled runs detailed in column form. This is great for teams of multiple people managing the same API, as custom tests can be collated and displayed in a single page, allowing not only for more effective management, but for pinpointing and troubleshooting issues with specific services and even specific tests. Tests are collated in a way that makes project management and team collaboration possible As noted in this above view, users are able to schedule tests in regular or irregular intervals. This is an incredibly useful tool, as testing APIs during a range of times, from high traffic to low, in various geographical settings, is perhaps one of the best methods of collecting data sets an API provider can implement. All API providers should Understand the Importance of API Metrics The Visual Composer Likely the most interesting feature of API Fortress is the Visual Composer. When developers wish to create a test, they can “compose” it in the visual composer, a system where the user drags and drops elements in a relational way. Anyone who has ever done UML diagrams will notice that this is essentially the late stage of script design, wherein parts are defined by their qualities and requirements, and then layered relationally. API Fortress Visual Composer allows one to view test elements relationally As an example, in the image above, we have one of the pre-designed tests provided with API Fortress, designed to test a merchant product API’s endpoints and GET calls. These tests are designed to verify the API is working as it is meant to. To the left of each element, we can see that element’s core function — the green cloud symbol is a “GET” request, the “Aeq” symbol is ““Assert equals”, “Ai” is “Assert is”, and so forth. By assembling calls and designing the test in this way, you achieve three big things. First and foremost, you maintain an object-oriented design methodology, tying specific functions to specific arrays or classes. Secondly, you improve readability. For iterative calls, which can often be complex and are prone to looping errors, designing in API Fortress is as simple as “for each variable do ___.” That is the core of the third main benefit — stability. When code is designed without either a hard paper or digital plan or some sort of visual component in design, looping errors are easy and common. When composed visually, you get the benefit of improved quality of code, eliminating a lot of the error generated from hand-created or modified code base. Test Response When the test is run, the following is generated: Test Report from API Fortress The header of the report states the project name, the event date, and the test run. It states the location of the test, which determines much of the relevance of data from a geographical standpoint, and displays the mode, that is, whether it was manual or scheduled. The test continues as thus: When the test is run, it will create a report for each function, detailing the download speed, the latency, and the status code that is returned. When the test is run, it will create a report for each function, detailing the download speed, the latency, and the status code that is returned. These factors are super helpful for a number of reasons. First, the latency will help you determine bottlenecks in your network, your provider, and even your system. Identifying where your API chokes can help rectify that issue quicker and cheaper, resulting in lower overhead with higher performance. Also check out How to Optimize Low-Latency, Lightweight APIs for Mobile Settings Just as importantly, however, is download time. This time, with latency, gives you a network health overview, determining the speed by which your API delivered its results, as well as with how much delay. Finally, the status code, which is unneeded when everything’s going fine, is the best thing to have when everything goes pear-shaped. Having a code delivered can help pinpoint problems, identifying them before they become huge production issues for your userbase. Realistically, though, it is a rare situation when an API developer can sit down, craft a test, run it immediately, and then pour over the results. More often than not, tests are scheduled for some point in time, either based on time or situation, and then run to deliver greater insight and planning to the developer. That is where API Fortress truly shines. The ability to craft these tests visually eliminates much of the time sink that is trial and error, especially for newer developers, and the ability to then schedule these tests makes for an even better, more streamlined process. Also looking for a tool to test API security? Read our review of Sapience’s security validation Final Thoughts and Summary API Fortress is a beast of a service, hiding huge functionality and professional grade services under a smooth veneer of visual interfaces and gloss. While developers might first have second thoughts about the service because of its shirking of traditional code heavy approaches, the fact is that effective implementation and use of API Fortress can have a leveraging effect on success. It’s been said many times before, but it bears repeating — metrics will set you free. Understanding your system, its functionality, core audience, and its behaviors through monitoring tools is an effective way to turn a good product into a fantastic one. API Fortress certainly has done this, and in a way that opens it up to traditionally closed, code-heavy, and complex solutions. The Visual Composer is by far one of the easiest to use between API Fortress and its competitors, and should certainly give pause to anyone who thinks this is a simplistic service. All in all, API Fortress is a wonderful solution for both seasoned veteran developers and new developers alike. The combination of powerful tools with a simple interface is tried and true, and is absolutely a new paradigm in the industry. Think of API Fortress as the “Windows” to the competitor’s “DOS” — sure, Visual Composition has been done before, but not quite in this streamlined, clean, and professional manner. And just as moving from that dusty DOS command line into Windows 3.1 opened up computing to a larger range of users, so too will API Fortress put monitoring and application tracking back in the hands of the general development public. [Disclaimer: This post was not sponsored by API Fortress neither does Nordic APIs endorse or claim any affiliation with API Fortress] The latest API insights straight to your inbox