Skip to content

Latest commit

 

History

History

azure-ts-serverless-url-shortener-global

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Deploy

Globally distributed serverless URL-shortener

Multi-region deployment of Azure Functions and Cosmos DB with Traffic Manager

Running the App

  1. Create a new stack:

    $ pulumi stack init dev
    
  2. Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):

    $ az login
    
  3. Restore NPM dependencies:

    $ npm install
    
  4. Specify the Azure regions to deploy the application:

    $ pulumi config set locations westus,westeurope
    
  5. Run pulumi up to preview and deploy changes:

    $ pulumi up
    Previewing changes:
    ...
    
    Performing changes:
    ...
    info: 23 changes performed:
        + 23 resources created
    Update duration: 21m33.3252322s
    
  6. Add a short URL:

    $ pulumi stack output addEndpoint
    https://urlshort-add94ac80f8.azurewebsites.net/api/urlshort-add
    $ curl -H "Content-Type: application/json" \
        --request POST \
        -D '{"id":"pulumi","url":"https://pulumi.com"}' \
        "$(pulumi stack output addEndpoint)"    
    Short URL saved
    
  7. Query a short URL:

    $ pulumi stack output endpoint
    http:https://urlshort-tm.trafficmanager.net/api/{key}
    $ curl http:https://urlshort-tm.trafficmanager.net/api/pulumi
    <!doctype html>
    <html lang="en-US" prefix="og: http:https://ogp.me/ns#">
        <head>
        <title>
            Pulumi
        </title>
    ...