Openmix Application Library

Cedexis Openmix applications give you dynamic, flexible, and automatic control over where your traffic is routed so that your business goals are achieved. Openmix applications are programmed in PHP, a commonly used server-side language accessible to most web programmers and network administrators, using the Openmix SDK which provides a testing harness and additional examples.

This library of Openmix applications provides examples to help you get started quickly and to give you ideas and best practices for your own applications. Explore the example applications, comment on them, make them your own, and let us know if you have an application you would like added to the library.

Applications

Basic Performance Application

Last updated: 01/31/2012
Categories: Performance

This application is ideal for getting started with Openmix application development. It uses both latency and availability to determine which platform to direct requests to, and you can quickly change from using latency to some other measure of performance.

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in openmix_library/perf-and-avail/app/OpenmixApplication.php.

Performance Routing with Platform Penalty

Last updated: 01/31/2012
Categories: Cost, Performance

The routing provided by the basic performance application is great for certain cases, but there are times when you know that you only want to use a specific platform when others are considerably worse. For example, you might only want to send traffic to your origin when it is significantly better than any other choice.

This application shows how this can work by using the concept of ‘padding’ to increase the value of the performance measure being used to decide where to send traffic.

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in openmix_library/perf-with-penalty/app/OpenmixApplication.php.

Avoid Platforms based on Geography

Last updated: 01/31/2012
Categories: Geography, Performance

You can choose to remove certain platforms from consideration based on geography. This example application shows you how to do that, wrapped in logic that chooses the available platform with the lowest response time.

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in avoid-by-geo/app/OpenmixApplication.php.

Conditional Host Names

Last updated: 01/31/2012
Categories: Geography, Performance

Some platforms use virtual-host specific hostnames, often for content localization, but you often want to centralize these into your Openmix script rather than creating many Openmix platforms. For example, imagine your website has the URLs http://.example.com/ where is replaced with ISO codes.

The solution is to dynamically construct the resulting hostname in the application as in this example application which routes traffic to the available platform with the lowest response time.

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in conditional-host-name/app/OpenmixApplication.php.

Route Based on Geography

Last updated: 01/31/2012
Categories: Geography

Demonstrates the basic use of geographic market and country data. Use Market data for most decsisions, but override certain countries.

Contributed by Jake Maul of Mozilla

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in geo-with-overides/app/OpenmixApplication.php.

Avoid Platforms that are Overloaded

Last updated: 01/31/2012
Categories: Fusion, Load

This app demonstrates using Pulse Load to obtain current load data for each provider. It uses this information to filter out providers that are currently overloaded. Of the remaining providers, it selects the best-performing one. If all providers are overloaded, it selects the best-performing overall.

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in openmix_library/limit-load/app/OpenmixApplication.php.

Avoid Platforms that have reached a cost threshold

Last updated: 01/31/2012
Categories: Fusion, Cost

This application demonstrates using Pulse Load to obtain cloud provider "cost", routing traffic away from a provider once it reaches a certain threshold. Any servers below the cost threshold will be load-balanced with origin based on round-trip time performance.

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in openmix_library/limit-money-spent/app/OpenmixApplication.php.

Performance with Geo Based Backup

Last updated: 05/11/2012
Categories: Radar, Geo

This application demonstrates using Cedexis Radar as the primary way to select platforms, but where Geolocation data is used if there is inadequate radar data available.

Download the Openmix application library to get the code and unit test suite for this application, then check out this tutorial about Openmix application development and testing. You'll find this application in openmix_library/perf-with-geo-backup/app/OpenmixApplication.php.