Is FaaS – Features-as-a-Service – the Next Big Thing in Software Development?

The growing popularity of the Cloud-based service model has led to a plethora of acronyms ending in “aaS.” Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS), and Database-as-a-Service (DBaaS) remain three of the most common examples of these service offerings in the tech industry. Businesses of all sizes enjoy cost savings by leveraging the Cloud in this manner.

Now software developers, trying to keep up in an increasingly rapid business world, have their own Cloud-based service acronym. Enter Features-as-a-Service (FaaS). Does FaaS give application engineers the chance to build more functional software faster and at a lower cost? Let’s take a look.

Code Reuse in a Cloud-based Wrapper

Code reuse is a traditional way for programmers to accomplish more by doing less. It’s one of the reasons libraries and APIs are so popular throughout the industry. We’ve covered this technology and API Testing extensively in the past on this very blog.

FaaS essentially just makes this process more componentized; delivering a library of functionality in a convenient Cloud-based wrapper for software engineers to use in their own applications. Instead of spending time reinventing the wheel, developers are able to focus on the unique functionality that makes their app special. Technology VP, JT Ripton commented on the FaaS trend

“Whereas on the backend developers already are using pay-as-you-go infrastructure such as Amazon Web Services for cloud computing and services such as Stripe for payment processing, FaaS takes the same approach but applies it to the front end,” said Ripton. He also notes developers struggling with implementing a public API need to consider FaaS as an option when speed is of the essence.

Scenarios where Usage of a FaaS is Smart

A variety of FaaS providers are currently supporting common functional areas within applications, potentially saving development teams both time and money. Mapbox is one such provider worthy of consideration when compared to Google’s Map API and its arcane documentation. A plug-and-play model simply works more efficiently in today’s era of Agile and DevOps.

Social interactivity is another good example. There is no need to build social functionality from scratch, when a provider like Tapglue offers their own FaaS. Their service includes functionality supporting user profiles and news feeds, as well as interactive features like sharing, commenting, and more.

Agora.io offers a FaaS that adds real time communication – voice and video – to an application. This would be a boon for a game developer working on a MMORPG or any other type of multiplayer title. Concentrate on your game’s functionality; not on getting codecs to work properly on a variety of devices.

Ripton stresses the essential difference between FaaS and other types of code reuse like an API is the front-end component. This is especially useful for teams without their own UI design talent. He feels this is a natural progression on how software gets written.

“FaaS is just the next evolution of the mashup and code reuse trend that’s been picking up steam over the past several decades. It isn’t a “revolutionary” idea, or even truly innovative. But it is perfectly in line with the way we code today — it is a new application of something we’ve seen before,” said Ripton.

Stay tuned to the Betica Blog for additional insights from an ever-changing software development world. Thanks for reading!

Monitor API Usage with Runscope

Any company involved in the development of APIs, or even those simply building web or mobile applications dependent on them, benefits from being able to analyze API performance before deployment to production. A tool combining this performance testing functionality with testing and monitoring capabilities offers a full range of features wanted by most software teams. Runscope is just this kind of application.

What follows is an overview of Runscope to help you determine whether it makes sense to add it to your organization’s API testing toolbox. It may just ensure your applications and APIs perform as expected in production.

A Closer Look at Runscope

Runscope is a relatively new product and company. Formed by two software engineers, John Sheehan and Frank Stratton, the initial version of the application became available in the first half of 2013. The primary goal of their API analysis tool involves trusting an API running on a remote server just like it was running on a developer’s local machine.

Runscope Monitoring Features and Functionality

Uptime monitoring of an API – in real-time – is a major selling-point for Runscope. The product promises the engineers responsible for tracking an application in a production environment will know if an API breaks before the client or customer. It integrates with a wide variety of popular notification and messaging apps, including Slack, PagerDuty, email, as well as offering support for webhooks.

An on-premises agent (supporting Linux, OS X, and Windows) allows for the seamless monitoring of private APIs. This is in addition to Runscope’s standard Cloud-based SaaS (located in 12 global data centers) used for public API analysis. The tool includes threshold-based notifications to lower the instance of false positives. 

Real-time performance data helps analyze an API’s response times as well as the ratio of successful calls to failures. Engineers are able to quickly detect any issues requiring closer analysis and debugging. Runscope’s data can be imported into third-party analytical tools, like Keen IO, Datadog, and New Relic Insights.

Additional API Testing Capabilities

Runscope sports other functionality aimed at the testing of APIs. You are able to verify data in the JSON and XML formats, as well as validate HTTP headers and response status codes. Advanced validations are also possible in code using JavaScript and the Chai Assertion Library.

Users are able to create dynamic test scripts for vetting API workflows, without any coding effort. Test plan creation in the Swagger format, among others, offers a more structured level of API QA. Runscope also integrates with Jenkins and other similar tools for organizations leveraging a Continuous Integration release cycle.

Interested customers can test drive Runscope on a free trial basis. Their premium service is structured across three tiers based on the number of API requests and users, with monthly prices ranging from $79 to $599; the higher two levels also include priority support and live chat. There is also a Premier level with additional custom features and extra traffic handling.

In short, Runscope’s full range of API monitoring and testing features, along with its compatibility with industry standard messaging and analytical tools, makes the tool worth checking out at any shop specializing in API development.

Stay tuned to the Betica Blog for additional dispatches and analysis from the software development and QA world. Thanks for reading, as always.

SoapUI vs. JMeter — Options for Testing Web Services

Testing web programming goes beyond what a user sees in their browser or desktop application. Back end functionality residing within web services or APIs also depends on the QA role to ensure error-free operation. Software development shops increasingly leverage open source tools like SoapUI and JMeter to help test their web services.

What follows is a quick overview of both applications to give you a better feel of their features as well as their differences. Maybe one or both need to be part of your team’s QA arsenal?

A Closer Look at SoapUI

SoapUI was first released in 2005. Its basic version remains a freely available open source application, but a commercial edition, called SoapUI NG Pro, is offered by SmartBear Software, primary developers of both versions. Experienced enterprise users looking for automated testing and other productivity improvements are the main audience for the commercial application.

Web service and API QA is the main focus of SoapUI, making it a valuable tool for applications designed using a service-oriented architecture (SOA). A whole host of useful features include functional API testing, web service simulation, security QA, and load testing. It easily handles most messaging formats: SOAP, REST, WSDL, and more.

Some basic automation functionality comes with the free version of SoapUI; mostly command line interactivity with other open source build and scheduling tools. Pay for SoapUI NG Pro for advanced automation capabilities. An analytics/reporting suite in addition to test recording and generation round out the feature set.

Both versions of SoapUI run on all the major operating systems while integrating with many popular IDEs.

Apache JMeter focuses on Load Testing

The first version of JMeter became available way back in the 20th Century (1998). It remains one of the most popular applications developed by the open source Apache Software Foundation. Many developers continue to leverage JMeter’s plug-in architecture to customize its features.

While offering a measure of API testing functionality, JMeter focuses on web application performance analysis, including APIs, web services, and database connectivity, in addition to load testing. It seamlessly handles most popular web protocols, including HTTP/HTTPS, SOAP, REST, FTP, LDAP, and more. An easy-to-use interface facilitates the creation of test plans.

In addition to testing web services, JMeter also analyzes the performance of web applications written in a variety of languages — PHP, ASP.NET (C#, VB.NET), and Java. A basic reporting engine is provided, with additional functionality available through the use of plug-ins developed by the application’s robust user community.

Choosing between SoapUI and JMeter

One of the benefits of open source software is the ability to try out an application with your own team before investing any resources on a commercial option. This same rule applies when deciding to use SoapUI, JMeter, or potentially both. There is some crossover between the two applications, but SoapUI offers more features aimed at functional testing, while performance analysis and load testing remain JMeter’s specialties.

The smart plan is to get hands-on with both applications to get a feel for their strengths and weaknesses. For bigger shops with large budgets, SoapUI NG Pro might be the closest thing to a true turnkey solution for web service and load testing. Ultimately, having both applications in your team’s toolbox is a wise choice.

Stay tuned to the Betica Blog for additional insights into the world of software development and testing.