InSkin Media

InSkin Media is an advertising technology business creating multi-screen, high-impact, non-intrusive brand advertising formats.

Services: Enterprise Application , Cloud Solution, System Development

Core Technologies: Google Cloud Architecture Platform, .NET Core, ASP .NET MVC, SQL Server, Redis

The InSkin Media Platform

Since 2010, the InSkin Ad Platform had been running on its own proprietary ad server, supporting the business in managing advertising campaigns and delivering them to appropriate target audiences across the world. However, overtime, the dedicated hosting server had some challenges:

  • Sub-optimal utilization of resources: Various systems were being run on a fixed set of servers. Subsequently, the same amount of computing resources were being used, irrespective of the load on the system.
  • Scaling was difficult and time consuming: Adding computing resources during peak times and anticipated spikes, or scaling down resources during periods of low load was time consuming, as one had to go through the entire cycle of modifying the contract to provisioning servers before configuration and including it in the mix.
  • Pricing: It became incredibly cost ineffective to maintain a dedicated hosting environment and provide dedicated support from the hosting company, and the cost was unjustified.

Due to these challenges, the best solution is to move the platform to a cloud-based infrastructure in order to have more choice and flexibility in its infrastructure management and costs.

Our Involvement

Our team provided multiple experiments and thorough verification and validation in order to implement the new cloud infrastructure.

  • Feasibility Study

    Our first step was conducting a feasibility study of various cloud providers and technologies available to us, then to build some Proof of Concepts (POCs) to validate our objectives. After reviewing the options with the client, we decided on using the Google Cloud Platform (GCP).

  • Hosting Architecture Redesign

    The next challenge was to design the hosting architecture on GCP. To maximize the effectiveness and value of the migration, we leveraged the various new services and power of GCP to create a more robust, scalable, and light-weight system that includes:

    • Internal and external load balancers for auto-scaling
    • Managed services like Redis, FileStore, StackDriver and Pub/Sub channels
    • Distributed resources in multiple availability zones to increase reliability
    • Image-based deployments
  • Code Refactoring

    The team restructured the coding to be compatible with ASP.NET Core from classic ASP.NET. Data structure and methods were also re-written to improve the efficiency of performance and maintenance:

    • Ported code from legacy ASP.NET to ASP.NET Core for the ad server
    • Linux OS instead of Windows was used to operate the ad server
    • To log errors and warnings, we moved away from file-based storage to Stackdriver logging
    • To record and store ad server metrics, we moved away from file based storage to Pub/Sub channels, which directly pushed data to the client’s BigQuery storage
    • We upgraded the SQL Server version to SQL Server 2016 and used S2D for building the failover cluster
  • Execute Migration

    After setting up the infrastructure in GCP, the code and database were migrated to the new platform on new sub-domains. Without incurring any downtime on the ad serving platform, the team employed certain temporary data sinks to store the transactional data while moving the main SQL Server databases to the new platform. Once the databases had been moved, calls to the ad server were redirected to the new domain. This helped ensure a seamless, zero downtime migration of the infrastructure.

  • Regression Testing

    Before moving the production system to the new platform, our quality team went through every single feature and functionality to ensure that the migration does not break any existing features. The team also engaged the ad server on GCP with all combinations of requests, and simulated various targeting methods to ensure that ad serving happened as expected. We also compared the output with the existing system to ensure like-for-like results.

InSkin’s System Results

With the new cloud infrastructure, InSkin’s platform is now a fully scalable and load-balanced architecture where resources are being utilized based on the current load on the system. To further bring down costs and management overheads, the medium-term plan is to migrate the underlying SQL Server database to GCP’s managed PgSQL Service, where high availability and backups are available out of the box and the cost of the service is 60-70% lower than an equivalent SQL Server setup.

  • 60%
    HOSTING
    REDUCTION

    Hosting costs were reduced by 60% primarily due to using Linux OS for ad server instances and flexible number of instances being used as per need for all other services. The base minimum configuration for all services were also downgraded from the existing legacy hosting.

  • 30%
    Ad Requests
    Ncreased

    Ad requests per second increased by 30% after deployment on GCP, even as it used less computing resources compared to dedicated hosting.

  • INFINITE

    The infrastructure auto-scales based on load, and is based on micro-services architecture without a single point of failure. The resources are distributed in multiple availability zones to mitigate the risk of physical data centre failures.