u-Server
In a Real-Time environment every microsecond counts and speed of decisioning is critical. u-Server is IPONWEB’s proprietary HTTP server, specifically designed for massive volume, high availability and extremely intelligent media trading decisioning engines.
Successfully used to build custom Ad-Servers, SSP’s, DSP’s and other RTB bidding agents; u-Server is fast, mature and battle hardened, handling billions of ad selection decisions requests every day.
Ad-Serving at Scale
For many development teams building an algorithmic ad-selection decisioning engine for the first time, the process starts with building core application logic using regularly available HTTP servers, such as Apache or MS IIS. The team does a great job in building an attractive and useful application. The application starts to enjoy success, and the ad selection decision volumes grow very quickly. Before they know it, they are needing to engage a very large number of servers to service the anticipated throughput, or having to re-cut their codebase, or both.
Why? Well, regular HTTP servers aren’t hugely efficient at volume. Great if you are serving 100 thousand ad selection requests per day, a real problem if you are serving 100 million per day, let alone several billion! Large numbers of physical servers are expensive to requisition and maintain. Recutting the codebase will paralyse the business for 6 to 12 months, which is also very expensive. If you are finding that your ad selection decision volumes are growing quickly, but so are the number of servers in your data-centres, then you are headed for scalability issues.
IPONWEB’s u-Server represents a critical first step in building for scale.
- Cost efficient development from the outset
- Avoiding the ‘stop, wait, we need to re-architect the codebase to allow scale’ problem when your application volumes start to grow
- u-Server scales like no other HTTP server available, runs on commodity hardware, delivering extraordinarily cost-efficient serving
Coding for Efficiency & Rapid Iteration
Typically, highly scalable applications have conflicting demands. You want highly efficient decisioning, which means building in either C++ or Java. You also want fast turnaround engineering builds that actually output the desired product on the first attempt. It’s a challenging problem, but one IPONWEB has neatly solved by using a separate, scripting language. u-Server utilizes LUA to deliver the amazing throughput of the highly tuned C++ HTTP server codebase, yet allows for application development that is simple, efficient and fast.
With separate business logic, every u-Server solution becomes totally unique for each customer. Combined with the very small LUA codebase, this enables extremely fast iteration of business models and custom decision logic. As the logic is stand-alone, code-testing requirements are significantly minimized so you don’t have to test logic across the whole ad serving codebase. It is not uncommon for our clients to release minor business logic changes on the day that they discover they want the change.
A Single Tenancy Approach with Global Coverage
IPONWEB has deployed u-Server instances for each major geographic region for our client’s traffic profiles. u-Server clusters are located in datacentres in locations across the USA, Europe, and Asia.
Within these geographic datacentres, each client’s media trading solution is a single tenancy for that client’s specific u-Server usage. Meaning that the u-Server cluster is running just the decisioning logic required for the client’s application, and not running features for other users in the u-Server ecosystem.
This single tenancy approach allows for the following key benefits:
- The featureset for the solution is specific to each and every client, delivering only what is needed.
- Software releases are fast, as each client is iterating their featureset independent of other IponWeb clients. Often changes in logic can be released on the same day that the need for them is discovered.
- Service availability is tailored for each client, meeting different needs of uptime availability for different clients’ requirements
- Data pipes feeding data in and out of u-Servers are also specific to each client. In this way also, changes to a client’s data pipes can be made quickly as there is no reliance upon them by other u-Server users.
- Features that are generally useful and applicable to all clients, such as campaign budget management, are abstracted into frameworks within the u-Server libraries, and are readily available for use in all client’s solution designs.
