AWS vs Azure … round 1, fight!

So, for whatever reason, I need to move some virtual machines and things from AWS (EC2, RDS), to an Azure. I have a few years experience with AWS, but until recently I’ve not really used Azure ….

Here are some initial notes……

  • AWS tooling feels more mature (with the ‘stock’ ansible that ships with Ubuntu 20.10, I’m not able to create a virtual machine in Azure without having python module errors appear)
  • AWS EBS disks are more flexible – I can enlarge and/or change their performance profile at runtime (no downtime). With Azure, I have to shutdown the server before I can change them.
  • AWS SSL certificates are better (for Azure I had to install a LetsEncrypt application and integrate it with my DNS provider ( e.g. https://github.com/shibayan/keyvault-acmebot ). AWS has it’s certificate service that issues free certs built in, and if the domain is already in Route53 there’s hardly anything to do.
  • Azure gives you more control over availability (with its concept of availability sets, it allows you to have some control over VM placement and order of updates being applied). It also gives Placement Groups – allowing you to influence physical placement of resources to reduce latency etc.
  • Azure feels more ‘commercial’ (with the various different third party products appearing in the portal when you search etc).
  • Azure has worse support for IPv6 (e.g. if you have a VPN within your Virtual Network you can’t have IPv6).
  • Azure doesn’t seem to offer ARM based Virtual Machines and fewer AMD equivalents (see also: EC2 Graviton 2).
  • Azure’s pricing feels harder to understand – there’s often a ‘standard’ and ‘premium’ option for most products, but the description of differences is often buried in documentation away from the portal ….. I often see ‘Pricing unavailable’.
    • Do I want a premium IP address?
    • Do I need Ultra or Premium SSDs or will Standard SSD suffice? Will I be able to change/revert if I’ve chosen the wrong one without deleting and recreating something?
    • Why do I need to choose a VPN server SKU?
  • Azure networks all have outbound NAT based internet access by default – so even if you’ve not assigned a public IP address to the resource, it can reach out. At the same time, you can also buy a NAT Gateway. If you give a VM a public IP address then it will use that for it’s outbound traffic.
  • Azure has a lot of services in ‘preview’ (to me beta). At the time of writing (March 2021), it doesn’t yet offer a production ready ….
    • MySQL database service that has zone redundancy (i.e. no real high availability)
    • Storage equivalent of EFS (NFS is in preview)
  • Azure does provide a working serial console for VMs, which is quite handy when systemd decides to throw a fit on bootup (2021/04/02 – AWS apparently now provides this too!).
  • Azure doesn’t let you detach the root volume from a stopped server to mount it elsewhere (e.g. for maintenance to fix something that won’t boot up!).
  • When deleting a VM in Azure, it’s necessary to manually delete linked disks. In AWS they can be cleaned up at the same time.

Packer and Azure

I needed to build some Virtual Machine images (using packer) for work the other day.

I already have a configuration setup for packer (but for AWS) and when trying to add in support for an ‘azure-arm‘ builder, I kept getting the following error message in my web browser as I attempted to authenticate packer with azure :

“AADSTS650052: The app needs to access to a service (https://vault.azure.net) that your organization \”<random-id>\” has not subscribed or enabled. Contact your IT Admin to review the configuration of your service subscriptions.”

This isn’t the most helpful of error messages, when I’m probably meant to be the “IT Admin”.

After eventually giving in (as I couldn’t find any similar reports of this problem) and reaching out to our contact in Microsoft, it turns out we needed to enable some additional Resource Providers in the Subscription…. and of course the name has to be slightly different πŸ˜‰ (Microsoft.KeyVault). Oh well….

Having done this, Packer does now work (Hurrah!)

Hopefully this will help someone else in the future.

Asus PN50 Desktop review

A few weeks ago I bought an ASUS PN50 as a new desktop (to replace an aging Intel Skull Canyon NUC, which was starting to crash once a week – presumably with a hardware fault).

I’d given up waiting for Intel to release a new NUC version – but of course a few weeks after I took the plunge they did release a new version…. Oh well.

Anyway, why this PN-50 thing ?

  • Relatively low power consumption
  • Hopefully quiet(ish)
  • Doesn’t take up much room (smaller than most Intel NUCs)
  • Faster than previous computer (and more processor cores)
  • Supports up to 64Gb RAM (I wanted something with at least 32Gb)
  • I could re-use the memory and m.2 storage from the skull canyon (although it only supports one of my two m.2 drives πŸ™ )
  • Supports up to 4 monitors (I have 3×27″ Dell UHD monitors) out of the box (HDMI and displayport over USB C)
  • Integrated graphics etc
  • Easy to setup/install – it’s effectively an AMD “NUC”.

So, here’s a non-scientific review …

Setup – this was fairly straight forward, although I did need to update the BIOS for some reason (perhaps as I was trying to get multi-monitor support working? Initially it wasn’t behaving, until I started using the DisplayPort MST functionality of my Dell monitor to daisy chain one monitor off the other…..).

Performance – it seems fairly quick (quicker than my Skull Canyon) but in the process of ‘upgrading’ I changed from Debian Buster to Ubuntu 20.10 …. so it’s possible I’m not quite comparing like-for-like. I also don’t have any test values to support any statement(s).

Quietness – the BIOS allows for setting quiet / performance / normal fan behaviour. When the fan is busy, it is noisier than the skull canyon. This has made me realise just how quiet the skull canyon was in comparison. It’s crashed a couple of times – with no kernel trace given – so I’ve recently changed from ‘quiet’ to ‘performance’ setting to see if this would make any difference and so far it seems to be OK.

Hardware wise – my Dell USB soundbar seems to reset itself every 30+ minutes when I’m on a video call – what I experience is the sound turning off for about 3-4 seconds (presumably while the USB stack or hardware reset itself). I’m not sure if this has fixed itself yet – as I applied a BIOS update a few days ago and haven’t had many calls since.

So as a rubbish summary – it’s a shame ASUS didn’t put better heat sinks in / improve the thermal design of it ….. it could have been better (in terms of quietness). It feels like there are a few BIOS related issues to solve (USB/Soundbar etc), but hopefully they’ll get resolved soon. Once they are, it’ll become a near perfect ‘desktop’ for me.

It’s been a long time ….

It’s been a long time since we’ve had a sane President in the USA.

It’s been a long time since everyday life was normal (stupid Coronavirus).

It’s been a long time since I’ve written a blog post.

(one of the above isn’t really news worthy).

Since I last bothered to write much of a blog post, this is kind of what’s been going on in my life …. aside from losing hair and finding my beard is increasingly going grey.

We now have a dog again (well, really since Oct 2019 ish). She’s soft and lovely and somehow puts up with almost torture from the children. She likes to bark, take me for walks and stop me from vegetating too much. Unfortunately she’s not very good at running. πŸ™

Pickle the dog, with some snow
Pickle!

Work wise, I’ve been working for Orlo (nee SocialSignIn) for the last 4 ish years. I’m a backend PHP developer / sysadmin … and for about the last 6 months I’ve also been the ‘dev team leader’ …. which mostly involves managing the development team (and trying to make sure everyone’s staying sane during a pandemic). Life there is fun and challenging. Recently I’ve migrated a significant part of the application from Rackspace to AWS (so touching on things like EC2, CloudWatch, SQS, Autoscale, Load Balancers, VPC Networking and VPNs etc).

Family wise – the children are growing bigger; one’s now even a teenager. Our house feels ever more cluttered and smaller and we’re still dithering over whether we should convert the conservatory into a normal extension or move to somewhere bigger.

Thanks to the joys of Coronavirus, I’m now sporting a trendy haircut that looks like it really was the result of an accident with a lawnmower.

Open source development wise, I’ve woken up the Postfixadmin project a bit and finally made a new major release (3.3) and then subsequently tried to deal with the various bug reports (which were kind of inevitable as no one really tests a beta/unstable release).

Technically – eventually I’d like to get time to learn another language (perhaps GoLang) and maybe do some certifications or qualifications (probably around Amazon Web Services – which given I’ve been using it for the last 4-5 years ‘in anger’ should be relatively easy).

Currently one of my favourite albums to listen to is The KΓΆln Concert –

https://open.spotify.com/embed/album/0I8vpSE1bSmysN2PhmHoQg

but having said that, I’m quite likely to jump from that to listening to something like Strapping Young Lad or Lady GaGa.

About a year ago, I started reading again in my spare time – mostly trashy stuff via Amazon’s Kindle Unlimited – e.g.

Travis Bagwell – Awaken Online series – see e.g. https://www.amazon.co.uk/gp/product/B01J0E8Z8A/

Marko Kloos – Frontline series e.g. https://www.amazon.co.uk/gp/product/B00CIXX144/

James Herbert’s Fluke – https://www.amazon.co.uk/gp/product/B0050AM5IA/

Trudi Canavan – Millennium’s Rule – https://www.amazon.co.uk/gp/product/B08P5PPW4J

and some even more trashy stuff – e.g. Mark Dawon’s John Milton series – e.g https://www.amazon.co.uk/Mark-Dawson/e/B0034Q9BO8