Cloud computing is the future. Whether in its current form or some other yet to be established form, distributed computing is here to stay. For some companies, this trend towards cloud computing and software as a service can create a number of problems. Companies that have strict security standards have to modify their security protocols in order to access many cloud services. Creating even a small hole in the curtain of cybersecurity can expose an organization to a number of hazards. Outgoing or incoming data can be subject to man in the middle attacks, and having any client data stored on a cloud platform exposes that data to the risk of theft. While none of these hazards are guaranteed to occur, the risk is too great for many companies.
The alternative to a cloud instance is an on-premises deployment. In this scenario, software is deployed behind the firewall of the client-company. Exposure to the outside world (in network terms) is minimal. Calls to the platform remain within the confines of the network and data is stored internally. While on-premises deployments are far more secure, they are often difficult to navigate successfully. The clients server environment, for example, may not be hospitable to the providers platform. They may be written in incompatible languages. The platform may have multiple dependencies that aren’t present on the client environment. This can create the need for a virtual machine within the client server emulating the platforms preferred environment. Setting up such an environment can be costly and time consuming.
Docker is a containerization software. Containerization is similar to virtualization, but the two concepts diverge in a number of important ways. Whereas each virtual machine would have its own operating system, containerization software makes one instance of an operating system available to multiple containers. This reduces the need for multiple OS licenses. It also substantially reduces the resource footprint associated with multiple virtualized instances. This repeated use of resources isn’t unique to operating systems. For example, if an application required an instance of Node.js to run, multiple containers on a server could share access to a single installation.
API Fortress is an end-to-end API testing application leveraged by enterprises to gain insight into their API quality throughout the development lifecycle. It is a platform that can be used across varying skill-sets and roles because it is flexible enough to accept code but can also automatically generate tests or add business logic using a simple GUI. API Fortress is capable of integrating with multiple other testing and CI/CD platforms, making it an easy addition to most quality assurance technology stacks.
Understanding the need for an on-premises option, API Fortress began to leverage Docker. By providing a Docker container to on-premises clients, API Fortress turns a potentially complicated deployment process into a straightforward solution. Once a client company has Docker installed on their server environment, API Fortress provides the necessary configuration files to create a bespoke instance of the platform. The client company can then pull a copy of the container from DockerHub. The process as a whole is as simple as forking and pulling a repository from GitHub. In this case however, instead of pulling a copy of some code they are pulling a functional private cloud instance. Providing an on-premises deployment gives API Fortress a number of market advantages. Potential clients with security concerns such as banks or insurance companies no longer need to worry about the potential dangers of dealing with a cloud-based platform. No external calls need to be made to gain the advantages of API Fortress’ automated API testing. Microservices that cannot be reached from outside of the network can be reached with the on-premises deployment of API Fortress. Furthermore, team collaboration is still possible as the platform is deployed as a private cloud instance. Unlike locally installed competitor products, API Fortress allows anyone in the client network to access the platform. This allows entire teams of QAs and developers to collaborate with ease.
In creating a Dockerized version of the platform, API Fortress has created an easy-to-deploy on-premises version of their software. The availability of this deployment positions the company uniquely amongst API testing platforms. Previously, the solution to the problem of cloud accessibility was the utilization of local software to test APIs. The problem with this local solution is that it makes team collaboration difficult. API Fortress’ unique, locally deployed cloud provides an easy to use and collaborative platform. Furthermore, the localized deployment of API Fortress allows the platform to cooperate with other locally deployed instances of software without the need to expose sensitive internal data to the world at large. Leveraging Docker has allowed API Fortress to provide a unique and powerful offering amongst API testing platforms.