Skip to content

Making an Online Resume

Goals

  • Minimal hosting costs
  • Basic search engine optimization to be easy to find by name
  • Fully customizable content
  • No unwanted branding (e.g. no forced watermarks, headers, footers, ads, etc.)

Choices

Minimal hosting costs

Using an Azure Storage Account with a static web site is very minimal cost. This is slightly different from an Azure Static Web App which is also low-cost, but has some restrictions when used as a free service. However, if you're using a content generator to produce your resume content, it may be worth looking into Azure Static Web Apps later on.

Basic search engine optimization

This keys off purchasing a .com domain associated with the name you want to use on your resume. Depending on your name's popularity, you may need to use your middle name or initial as well. Be sure it matches what recruiters will use when trying to find you.

Also important is your choice of hosting platform. Using github pages, for example, causes one's Google ranking to plummet. Using Azure causes it to go back up. So we'll use Azure.

Fully customizable content

We'll be using raw HTML and CSS. You can either carefully hand craft this or use an HTML/CSS generator. How you make the content is up to you. I'll be using a very simple handmade example.

No unwanted branding

By hosting ourselves using a well-known and bypassing the many other options of "easy hosting" we avoid any unwanted inserted content. No ads, no watermarks, no headers, no footers. Just what we want to put out there.

This represents YOU, make it look nice.

End Result

We're going to end up with the following. You can see all those years of art school weren't wasted!

Final architecture

Our end users will access an Azure Front Door ("FD") configured with our custom DNS. That Azure Front Door will get its content from an Azure Storage Account ("SA") where we upload our HTML.

Azure Front Door serves as a content distribution network, basically moving our HTML content "closer" to our end users so their loading experience is good no matter where in the world they may be. The Storage Account is an Azure Front Door compatible place to put our HTML content. Don't worry if you don't know all the details about these Azure resources. You won't need to know all the details to make this work.

Process

Buy your domain

Buy a domain

Set up the Azure infrastructure

Summary:

  • Go to https://azure.microsoft.com/en-us/free/
  • "Start free"
  • Set up a budget to alert you on unusual spending
  • Create an Azure Storage Account
  • Configure Azure Storage Account for static web content

Details:

Set up DNS for your domain

There will be more configuration of DNS to come, but this step can sometimes take a couple days of waiting so we get it done early.

Summary:

  • Find a DNS provider
  • Azure can do it, but costs more than the ZoneEdit free option. Still $0.50/month is not a lot and it can be very convenient to have all your resume-related content all in one place. The cost is comparable to ZoneEdit's paid rates.
  • ZoneEdit allows you to have one DNS zone free: https://www.zoneedit.com/free-dns-2/
  • Your own provider. If you already have one, you can use it, though you're on your own for figuring out how to configure the necessary records.
  • Change your DNS servers in your name registration to those provided by your DNS provider. This can take a couple days to complete.

Details:

The completion of this step can take 48 hours or more to complete. You can keep going but at some point you'll need to wait for it. If in doubt, take a break and wait for the completion of the above to show up in WHOIS.

Upload initial minimal content to Azure

Summary:

  • Create Azure CDN (Content Delivery Network) profile for the resume content
  • Upload some initial content to the storage account
  • Configure Azure to deliver our content to appear on the desired URL

Details:

Confirm initial content is visible

Check that our final URL of https://resume.learning-dns.com/index.html works as expected. If you've been following along and it's working, you should see our initial minimal content appearing on our desired domain:

Custom domain and content!

Update existing content in Azure

You'll be doing this a lot. One of the options below is to automate this process using GitHub Actions DevOps pipelines. But every good automation starts with a series of manual steps, so here we go!

Options

Automated DevOps pipeline

This auto-publishes updates as you commit them to GitHub

  • TODO: automated steps to update content

It may be a very long time before this gets documented. If you want to do this, work with me on an individual basis. It's not at all necessary for infrequently updated content done by a single user, but can be a fun way to learn some DevOps automation.

Google Advertising Trackers

See who's looking at you. To some extent. The Google directions change a lot, so I'm not going to provide a lot of detail. You will need to add a couple of <script> headers to your index.html to make this work.

A good place to start are the introductory support articles from Google about Google Analytics: https://support.google.com/analytics/answer/15068052