  Content Delivery Networks (CDNs) deliver content (e.g. Web pages, videos) to
geographically distributed end-users over the Internet. Some contents do
sometimes attract the attention of a large group of end-users. This often leads
to flash crowds which can cause major issues such as outage in the CDN.
Microservice architectural style aims at decomposing monolithic systems into
smaller components which can be independently deployed, upgraded and disposed.
Network Function Virtualization (NFV) is an emerging technology that aims to
reduce costs and bring agility by decoupling network functions from the
underlying hardware. This paper leverages the NFV and microservice
architectural style to propose an architecture for on-the-fly CDN component
provisioning to tackle issues such as flash crowds. In the proposed
architecture, CDN components are designed as sets of microservices which
interact via RESTFul Web services and are provisioned as Virtual Network
Functions (VNFs), which are deployed and orchestrated on-the-fly. We have built
a prototype in which a CDN surrogate server, designed as a set of
microservices, is deployed on-the-fly. The prototype is deployed on SAVI, a
Canadian distributed test bed for future Internet applications. The performance
is also evaluated.
