News: 1633368551

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Testing times: Microsoft gets PostgreSQL on Azure a day after GA

(2021/10/04)


Microsoft has pushed PostgreSQL 14 into General Availability on Azure Hyperscale (Citus) regions and the company, famed for the [1]occasional [2]outage of its [3]cloud and desktop platforms, has given an insight into what was involved.

[4]PostgreSQL 14 turned up at the end of the last week packed with features (although perhaps lacking in any singularly outstanding new toy) and tweaks aimed at boosting performance on high-end systems.

Barely a day later, Microsoft was trumpeting the database's arrival in its cloud. Kind of – only Hyperscale (Citus) regions need apply for now. Other regions and Azure Database for PostgreSQL will follow over the next few months.

[5]

Still, as Microsoft Postgres engineer lead and CTO of Citus Data, Ozgun Erdogan, [6]modestly said , "To our knowledge, this is the first time a major cloud provider has announced GA for a new Postgres major version on their platform one day after the official release."

[7]

[8]

Noting that Microsoft develops and maintains a number of open source extensions, including Citus, Erdogan explained the process by which extensions are updated as the PostgreSQL version was emitted. Breaking changes must be addressed, new features added (if applicable) and, of course, any failing tests in the inevitable pipeline must be fixed.

The "best practice" employed in order to churn out the extension so quickly is interesting from a development standpoint. Unit tests come first, and Erdogan boasted of the 100 per cent coverage achieved for the control plane, as well as the two-minute run time for those tests.

[9]Open-source veteran PostgreSQL emits release 14: Tweaked, scalable, and ready to get heavy

[10]Microsoft sinks standalone Hyper-V Server, wants you using Azure Stack HCI for VM-wrangling

[11]Azure services fall over in Europe, Microsoft works on fix

[12]Uptime funk: Microsoft has lifted availability of Azure Key Vault to 99.99%

However, while Unit Tests are all well and good, many of the calls have to be mocked – ie, software testers substitute a fake version of the service to stand in for the real one – which makes for quick feedback but, as Erdogan admitted, "doesn't provide a good end-to-end view." End-to-end testing therefore follows to check how the various components are interacting before deployment is considered.

Deployment to Azure is interesting in itself. A third round of tests is involved, with the payload first hitting a staging environment, then to the Azure Early Update Access Program regions, before finally hitting the rest of the production regions. More tests are then run during what Erdogan called the "bake off" period between deployments – including Citus provisioning, upgrades, restores and so on.

[13]

The seemingly cautious approach is highly automated: "all our team had to do was click a button - and the deployment was triggered," boasted Erdogan. And a new version of PostgreSQL became available.

Azure users reeling from repeated outages over the last year – and a change that left [14]Azure Active Directory broken earlier this year as the company scrambled to roll back a change to its authentication system – would be forgiven for wondering why the wunder-tech that gets PostgreSQL updates up and running so quickly does not feature in all corners of Microsoft's cloud. ®

Get our [15]Tech Resources



[1] https://www.theregister.com/2021/04/01/microsoft_azure_dns_outage/

[2] https://www.theregister.com/2021/05/20/microsoft_azure_outage/

[3] https://www.theregister.com/2021/03/15/microsoft_azure_outage/

[4] https://www.theregister.com/2021/10/01/postgresql_pushes_the_top_end/

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/databases&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YVt5qToQKJ6lFR6SgU7OwwAAANQ&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[6] https://www.citusdata.com/blog/2021/10/01/how-we-shipped-postgres-14-on-azure-within-a-day/

[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/databases&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YVt5qToQKJ6lFR6SgU7OwwAAANQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/databases&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YVt5qToQKJ6lFR6SgU7OwwAAANQ&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[9] https://www.theregister.com/2021/10/01/postgresql_pushes_the_top_end/

[10] https://www.theregister.com/2021/08/31/hyper_v_server_discontinued/

[11] https://www.theregister.com/2021/05/20/microsoft_azure_outage/

[12] https://www.theregister.com/2021/05/19/azure_key_vault/

[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/databases&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YVt5qToQKJ6lFR6SgU7OwwAAANQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[14] https://www.theregister.com/2021/03/15/microsoft_azure_outage/

[15] https://whitepapers.theregister.com/



Robert Grant

> To our knowledge, this is the first time a major cloud provider has announced GA for a new Postgres major version on their platform one day after the official release.

Not super surprising when you employ various people involved in the official release. Just... delay the release til the GA is ready.

I like Azure's Postgres support (although the upgrade process is painful), but this feels a bit unnecessary.

Boucher's Observation:
He who blows his own horn always plays the music
several octaves higher than originally written.