An Overview of Server-side Integrations with Amp.ai

Ajay Bhoj

Dec 03, 2018

Introduction

In an earlier post on How to Implement Autonomous Optimization Projects Using Amp.ai, we covered a simple web application that used the amp-js client library. In this post, we will discuss basic concepts related to server side integrations with Amp.ai. For a quick introduction to the key concepts in Amp.ai that are necessary to follow this post, please see Amp.ai vs A/B Testing: A paradigm shift

Depending on your use-case, you would choose either a server-side or client-side integration, and the main considerations involved are listed below.

Server-side decision-making is preferred when:

Client-side decision-making is preferred when:

Server-side integrations: Amp-agent thin-client architecture

Amp.ai supports web/mobile applications using monolithic client libraries, i.e. clients that have all the decision-making machinery built into them. In contrast, server-side integrations follow the Amp-agent thin-client architecture discussed below.

SS-Blog1.001.png#asset:832

Server-side integration essentially involves embedding a thin-client into your application(s), and allowing it to connect to an Amp-agent that handles:

As a docker container, Amp-agent can be hosted by SI in a region co-located with your servers on GCP, AWS or Azure cloud. Working with hosted Amp-agents leads to the following advantages:

Alternatively, for advanced users, it is easy to self-host the container within your backend system, which has the following advantages:

Typically, an Amp-agent can handle up to 5000 requests per second. If your deployment handles a larger traffic volume, multiple Amp-agents can be spun up, and the client libraries manage request routing automatically.

Compared to using the monolithic clients on the client-side, the Amp-agent thin-client architecture has several advantages:

From an implementation perspective, integration on the server-side can be accomplished using one of two ways, and they are discussed in the following posts:

Conclusion

Server-side integrations with Amp.ai use the Amp-agent thin-client architecture that addresses multiple issues in enabling intelligent, real-time server-side decisions. Currently, thin-client libraries are available for the following programming languages: Golang, Java, Python & Ruby. (Scala and NodeJS are coming soon). To request a thin-client for a different programming language, please contact us at support@amp.ai

For more information, contact us here or email us at support@amp.ai. Schedule a demo here