Azure gives me a headache

Azure 404

What should happen when you delete a web app and create another with the same name? Azure thinks it should sometimes show you the new app, and sometimes give you a “404 Not Found” error, depending on how it feels.

We use Azure for deploying production versions of CS Blogs, for reasons I won’t go into here, and it’s been a real pain. The lack of documentation for deploying Node.js apps that are more complex than a “Hello World” example has made it a process of modify-deploy-fail-repeat, just to try and figure out exactly what Azure wants in order to run our apps.

I had to mess about with deployment scripts, web.config files, and directory structures until we finally got everything working with continuous delivery via GitHub.

I started writing a list of problems as I went along:

  • UI sometimes updates on its own after a user action, sometimes after a page refresh.
  • “N/A” sometimes shown for Git commit messages.
  • Sometimes the git pull part of a deployment fails randomly.
  • Azure Functions have a separate interface to Web Apps that acts as a useless extra step to get to the features you want.
  • Random 500 Internal Server Errors.
  • Very slow console access.
  • 500 errors downloading files from your deployment.
  • GET request to Live Logging hangs indefinitely.
  • Infuriating try/fail testing of deployment that takes forever.
  • Logging of different stages of deployment can be found in different places around the website, undocumented of course.
  • Opaque, what seems like indeterministic deployment process (it reads a package.json from function directory but installs node_modules into root folder?).
  • You want to delete a large directory (like node_modules) via the Kudu dashboard? Error 500!
  • This error: “If multiple functions are exported, you must indicate the entry point, either by naming it ‘run’ or ‘index’, or by naming it explicitly via the ‘entryPoint’ metadata property.” Where is the ‘entryPoint’ property? Which file? Why can’t I find any documentation on this?
  • Can sometimes take 10-20 minutes to deploy a new Git commit.
  • Randomly get “Error loading tile” when opening a UI panel.

It’s been an infuriating process, especially after using Zeit Now to deploy in development, which was super easy. If Microsoft can fix the bugs and write more Node.js documentation, it would be a far better experience.