<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Si Novi</title>
    <subtitle>Custom software and SaaS development - engineering notes and case studies from the Si Novi team.</subtitle>
    <link href="https://sinovi.uk/feed.xml" rel="self"/>
    <link href="https://sinovi.uk/"/><updated>2026-10-02T09:54:47.000Z</updated>
    <id>https://sinovi.uk/</id>
    <author>
        <name>Si Novi</name>
        <uri>https://sinovi.uk/</uri>
    </author>
    <entry>
        <title>Elastic Beanstalk PHP 8.2 on AL2023 retires March 31, 2027</title>
        <link href="https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement"/>
        <id>https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement</id>
        <published>2026-10-02T00:00:00.000Z</published>
        <updated>2026-10-02T09:54:47.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="Software Development"/>
        <summary>AWS is retiring the Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branch on March 31, 2027. What the Action Required email means, and how to upgrade.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;aws-news&quot; class=&quot;editorial-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;You&#39;ve had an &quot;[Action Required]&quot; email from AWS&lt;/h2&gt;

        &lt;p&gt;If an email has landed from your AWS account with the subject &lt;em&gt;[Action Required] AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/em&gt;, it means at least one of your Elastic Beanstalk environments is running PHP 8.2, and that PHP version is reaching the end of its life.&lt;/p&gt;

        &lt;p&gt;Pragmatically, it&#39;s likely that nothing will break on March 31, but you have roughly six months to move each affected environment onto PHP 8.3, 8.4 or 8.5. In our experience that&#39;s a small project rather than a settings change, so we&#39;d start on it now rather than in March.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;p&gt;We maintain a large number of PHP applications on Elastic Beanstalk, many of them built on Yii, and we&#39;re already working through scheduled updates from PHP 8.2 to 8.4 across them. This retirement is fairly routine, but there are a couple of details in the email that are easy to miss.&lt;/p&gt;

        &lt;h2 id=&quot;what-retire-means&quot;&gt;What &quot;retire&quot; actually means&lt;/h2&gt;

        &lt;p&gt;From March 31, 2027, the &lt;strong&gt;PHP 8.2 on 64bit Amazon Linux 2023&lt;/strong&gt; platform branch is marked as retired. Under the &lt;a href=&quot;https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-support-policy.html&quot;&gt;Elastic Beanstalk platform support policy&lt;/a&gt; that means:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;Elastic Beanstalk stops providing maintenance updates for the branch, including security updates.&lt;/li&gt;
            &lt;li&gt;AWS no longer provides technical support for it.&lt;/li&gt;
            &lt;li&gt;The branch disappears from the Elastic Beanstalk console for creating new environments. Existing environments get a 90 day grace period, and can still be cloned or rebuilt through the CLI and API.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;Your existing environments keep running and AWS doesn&#39;t delete anything, but from then on nobody is patching the platform underneath your application.&lt;/p&gt;

        &lt;h2 id=&quot;the-date-that-matters-more&quot;&gt;The date that matters more is December 31, 2026&lt;/h2&gt;

        &lt;p&gt;We&#39;d plan around an earlier date than the one in the email, because PHP 8.2 itself reaches &lt;a href=&quot;https://www.php.net/supported-versions.php&quot;&gt;end of security support on December 31, 2026&lt;/a&gt;, three months before Elastic Beanstalk retires the platform branch.&lt;/p&gt;

        &lt;p&gt;From January 1 the PHP project stops releasing fixes for 8.2, so any vulnerability found in the language after that date stays unfixed, whatever AWS does with the platform. For an application that handles customer data or payments, we&#39;d treat the end of December as the real deadline. Auditors and cyber insurance questionnaires increasingly ask about unsupported runtimes, so it&#39;s often a compliance question as well as a technical one.&lt;/p&gt;

        &lt;h2 id=&quot;which-php-version&quot;&gt;Which PHP version should you move to?&lt;/h2&gt;

        &lt;p&gt;The email lists three PHP versions to move to, each with a different amount of support left:&lt;/p&gt;

        &lt;table&gt;
            &lt;thead&gt;
                &lt;tr&gt;
                    &lt;th&gt;Platform branch&lt;/th&gt;
                    &lt;th&gt;PHP security support ends&lt;/th&gt;
                &lt;/tr&gt;
            &lt;/thead&gt;
            &lt;tbody&gt;
                &lt;tr&gt;
                    &lt;td&gt;PHP 8.3 AL2023&lt;/td&gt;
                    &lt;td&gt;December 31, 2027&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;td&gt;PHP 8.4 AL2023&lt;/td&gt;
                    &lt;td&gt;December 31, 2028&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;td&gt;PHP 8.5 AL2023&lt;/td&gt;
                    &lt;td&gt;December 31, 2029&lt;/td&gt;
                &lt;/tr&gt;
            &lt;/tbody&gt;
        &lt;/table&gt;

        &lt;p&gt;PHP 8.3 is the smallest jump from 8.2, but it only buys about a year before you get this same email again. We generally recommend going to PHP 8.4, or PHP 8.5 if the application&#39;s dependencies already support it. The extra testing tends to be a modest cost compared with doing the whole exercise twice.&lt;/p&gt;

        &lt;h2 id=&quot;not-a-button&quot;&gt;It isn&#39;t a button in the console&lt;/h2&gt;

        &lt;p&gt;Elastic Beanstalk can update a platform version in place, but only within the same platform branch. PHP 8.2 to PHP 8.4 is a different branch, and &lt;a href=&quot;https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.platform.upgrade.html&quot;&gt;AWS recommends a blue/green deployment&lt;/a&gt; for that: build a new environment on the new branch, deploy the application to it, test it, then swap the CNAMEs so traffic moves across. Done properly, your users shouldn&#39;t notice any downtime.&lt;/p&gt;

        &lt;p&gt;The infrastructure side is usually the easy part, and we find most of the time goes on the application itself. PHP 8.2 to 8.4 sounds like a minor version bump, but each release changes enough that application code sometimes needs modifying. PHP 8.4 deprecates implicitly nullable parameter types, a pattern that&#39;s all over older codebases, and both 8.3 and 8.4 tighten up behaviour that older code and libraries depend on. Across the updates we&#39;ve done so far, the work tends to fall into the same few areas:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;Test coverage&lt;/strong&gt; - before changing anything, we make sure the application has a running test suite and that it&#39;s green on PHP 8.2. Without that, there&#39;s no reliable way to tell whether the upgrade broke something or it was already broken.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Composer dependencies&lt;/strong&gt; - older packages may not declare support for newer PHP versions, and some will need upgrading or replacing before &lt;code&gt;composer install&lt;/code&gt; will even run.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Framework versions&lt;/strong&gt; - an application on an old release of Yii, Laravel or Symfony may need a framework upgrade before it will run cleanly on PHP 8.4. We&#39;ve written about the bigger version of this in &lt;a href=&quot;https://sinovi.uk/articles/challenges-and-opportunities-of-migrating-from-yii1-to-yii2&quot;&gt;migrating from Yii 1 to Yii 2&lt;/a&gt;.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Deprecation notices&lt;/strong&gt; - each PHP release deprecates a few more behaviours. They rarely break anything immediately, but they can flood the logs and hide real errors.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;&lt;code&gt;.ebextensions&lt;/code&gt; and &lt;code&gt;.platform&lt;/code&gt; hooks&lt;/strong&gt; - custom configuration, installed packages and PHP extensions all need checking against the new platform.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;For a typical SME application, we&#39;d usually expect this to be a few days of work rather than weeks, but it varies a lot with how long the code has gone without maintenance.&lt;/p&gt;

        &lt;h2 id=&quot;finding-affected-environments&quot;&gt;Finding your affected environments&lt;/h2&gt;

        &lt;p&gt;The quickest place to look is the &lt;strong&gt;Affected resources&lt;/strong&gt; tab of the AWS Health Dashboard event the email links to. The Elastic Beanstalk console also shows a &lt;strong&gt;Platform state&lt;/strong&gt; column on the Environments page.&lt;/p&gt;

        &lt;p&gt;If you&#39;d rather use the CLI, this lists every environment on the retiring branch in one region. The example in the AWS email points at &lt;code&gt;us-east-1&lt;/code&gt;, so change the region to wherever your environments actually live:&lt;/p&gt;

        &lt;pre&gt;&lt;code&gt;aws elasticbeanstalk describe-environments &#92;
  --region eu-west-2 &#92;
  --query &quot;Environments[?contains(PlatformArn, &#39;PHP 8.2 running on 64bit Amazon Linux 2023&#39;)].[EnvironmentName,PlatformArn]&quot; &#92;
  --output table&lt;/code&gt;&lt;/pre&gt;

        &lt;p&gt;The email is sent per account and per region, so if you run several AWS accounts, check each one. Forgotten staging environments are often where these old platforms hide.&lt;/p&gt;

        &lt;h2 id=&quot;still-on-amazon-linux-2&quot;&gt;Still on Amazon Linux 2?&lt;/h2&gt;

        &lt;p&gt;If your environments are on an Amazon Linux 2 platform rather than Amazon Linux 2023, they&#39;re already retired: &lt;a href=&quot;https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-retiring.html&quot;&gt;AWS retired every AL2 platform branch on August 6, 2026&lt;/a&gt;. Moving from AL2 to AL2023 is a bigger change than a PHP version bump, because the operating system changes too, so we&#39;d do both together and going straight to PHP 8.4 or 8.5 on AL2023.&lt;/p&gt;

        &lt;h2 id=&quot;what-happens-if-ignored&quot;&gt;What happens if I ignore it?&lt;/h2&gt;

        &lt;p&gt;At first, not a lot. The environment keeps serving traffic and nothing visibly changes on March 31.&lt;/p&gt;

        &lt;p&gt;The risk builds up over time, though, with no security patches from PHP after December and none from AWS after March. AWS also warns that an Elastic Beanstalk API action may eventually stop working for an environment on a retired branch, which would be an awkward thing to discover while trying to deploy an urgent fix.&lt;/p&gt;

        &lt;p&gt;If you don&#39;t have the in-house capacity to make the upgrade, &lt;a href=&quot;https://sinovi.uk/contact-us&quot;&gt;get in touch&lt;/a&gt;. We&#39;re an AWS Partner based in Manchester and we do this kind of PHP and Elastic Beanstalk upgrade work regularly, whether that&#39;s a one-off migration or ongoing &lt;a href=&quot;https://sinovi.uk/what-we-provide/web-application-support-and-maintenance&quot;&gt;support and maintenance&lt;/a&gt;.&lt;/p&gt;

    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;Elastic Beanstalk platform versions scheduled for retirement:&lt;/strong&gt; &lt;a href=&quot;https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-retiring.html&quot;&gt;https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-retiring.html&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;&lt;strong&gt;PHP supported versions:&lt;/strong&gt; &lt;a href=&quot;https://www.php.net/supported-versions.php&quot;&gt;https://www.php.net/supported-versions.php&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=AWS%20Elastic%20Beanstalk%20PHP%208.2%20on%20Amazon%20Linux%202023%20platform%20branches%20retire%20on%20March%2031,%202027%20-%20https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement%20-%206%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=AWS%20Elastic%20Beanstalk%20PHP%208.2%20on%20Amazon%20Linux%202023%20platform%20branches%20retire%20on%20March%2031,%202027%20-%20https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/agentic-ai-for-business-operations&quot;&gt;
                                &lt;div data-image-type=&quot;screenshot&quot; class=&quot;journal-image article-visual article-visual-screenshot article-surface-lavender&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/agentic-ai-for-business-operations.png&quot; alt=&quot;The Xero reporting dashboard for the Si Novi organisation&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-09T00:00:00.000Z&quot;&gt;9th July 2026&lt;/time&gt;&lt;span&gt;4 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Pointing agentic AI at our own bookkeeping&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>AWS Community Summit Manchester 2026 preview</title>
        <link href="https://sinovi.uk/articles/aws-community-summit-manchester-2026"/>
        <id>https://sinovi.uk/articles/aws-community-summit-manchester-2026</id>
        <published>2026-09-25T00:00:00.000Z</published>
        <updated>2026-09-25T15:07:55.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="AI"/>
        <category term="Events"/>
        <summary>Martin and James will be at AWS Community Summit in Manchester on 1st October. The talks we&#39;re looking forward to, from AI-DLC to Ian Massingham&#39;s closing keynote.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;photo&quot; class=&quot;editorial-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;Back to Victoria Warehouse for ComSum 2026, with AI all over the agenda&lt;/h2&gt;

        &lt;p&gt;On Thursday 1st October, Martin and I will be at Victoria Warehouse for the &lt;a href=&quot;https://www.comsum.co.uk/mcr26&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AWS Community Summit&lt;/a&gt;. We were there last year too, and the photo above is from Matheus Guimaraes&#39;s afternoon session on bringing Generative AI into production. This year the agenda leans much further that way, which probably reflects where most of us are. We&#39;re developing in a very different way to how we did six months ago... even three months ago, but it isn&#39;t only the developer tooling that&#39;s changed - it&#39;s how businesses operate and what they choose to automate.&lt;/p&gt;

        &lt;p&gt;Even in a business our size we&#39;ve begun to embed AI workflows into what we do, from &lt;a href=&quot;https://sinovi.uk/articles/agentic-ai-for-business-operations&quot;&gt;the tools we&#39;ve built against Xero&lt;/a&gt; to our own knowledge OS. The ecosystem is so new that we&#39;re very much looking forward to hearing from and talking to people doing the same - and ComSum is a good chance to catch up with peers, colleagues and friends on how they&#39;re approaching this AI era.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;h2 id=&quot;opening-keynote&quot;&gt;Opening keynote: from compilers to copilots&lt;/h2&gt;

        &lt;p&gt;The day opens with David Anderson, Angela Timofte and Sheen Brisals on the evolution of software and the AI-powered future, all three familiar names from the serverless community. I&#39;m expecting it to set up the rest of the day nicely, with a look at how we got from compilers to the copilots and agents most of us now work alongside, from people who&#39;ve been building on AWS long enough to have seen a few of those shifts first hand.&lt;/p&gt;

        &lt;h2 id=&quot;ai-dlc&quot;&gt;AI-DLC and organisational context&lt;/h2&gt;

        &lt;p&gt;One session I&#39;m looking forward to is Matt Houghton&#39;s &lt;em&gt;Context Over Code: Why AI-DLC Is an Organisational Transformation, Not a Productivity Hack&lt;/em&gt;. AI-DLC is the AI-driven development lifecycle AWS has been talking about, where AI takes a part in every stage of delivery rather than just writing the code. The title matches what we&#39;ve found in our own work - the tooling is usually the easy bit to adopt, and the harder part is giving the models the context they need about how a business actually works, what&#39;s been decided and why, and where the boundaries are.&lt;/p&gt;

        &lt;p&gt;That context is a large part of why we built our knowledge OS, so the agents working on our projects know how we build, what&#39;s been planned and decided, and why. I&#39;m keen to hear how Matt frames it for larger engineering organisations, where that context is spread across far more teams and systems than ours.&lt;/p&gt;

        &lt;p&gt;Looking back at my notes from Matheus&#39;s talk last year, I see quaint notes on ideas to &lt;em&gt;&quot;build an MCP server for Si Novi coding standards&quot;.&lt;/em&gt; It&#39;s incredible how far things have come in a short space of time!&lt;/p&gt;

        &lt;h2 id=&quot;closing-keynote&quot;&gt;Closing keynote: beyond software engineering&lt;/h2&gt;

        &lt;p&gt;Ian Massingham, now at Anthropic, closes the day with a question we&#39;ve been asking ourselves a lot this year - what should engineers do when writing code is the easy part? His answer is choosing the outcomes, making systems legible to models, and going beyond software to bigger and more impactful problems. That lines up closely with how our own days have shifted, with more of our time going on deciding what should be built and making sure the agents doing the work have what they need to do it well. Ian was a familiar face at AWS events for years, so it&#39;ll be interesting to hear the view from inside a model provider, drawing on the thousands of startups building on Claude.&lt;/p&gt;

        &lt;h2 id=&quot;say-hello&quot;&gt;Come and say hello&lt;/h2&gt;

        &lt;p&gt;If you&#39;re going too, come and find us - we&#39;ll probably be in the Cottonsheds for the keynotes and in the Archives for the AI sessions in between. And if you can&#39;t make it, we&#39;ll share what we took away from the day afterwards.&lt;/p&gt;

    &lt;/article&gt;&lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=We&#39;re%20heading%20to%20AWS%20Community%20Summit%20Manchester%20-%20https://sinovi.uk/articles/aws-community-summit-manchester-2026%20-%203%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=We&#39;re%20heading%20to%20AWS%20Community%20Summit%20Manchester%20-%20https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/agentic-ai-for-business-operations&quot;&gt;
                                &lt;div data-image-type=&quot;screenshot&quot; class=&quot;journal-image article-visual article-visual-screenshot article-surface-lavender&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/agentic-ai-for-business-operations.png&quot; alt=&quot;The Xero reporting dashboard for the Si Novi organisation&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-09T00:00:00.000Z&quot;&gt;9th July 2026&lt;/time&gt;&lt;span&gt;4 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Pointing agentic AI at our own bookkeeping&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Build the squad. Own the platform.</title>
        <link href="https://sinovi.uk/articles/build-the-squad-own-the-platform"/>
        <link rel="via" href="https://martinhicks.dev/articles/build-the-squad-own-the-platform"/>
        <id>https://sinovi.uk/articles/build-the-squad-own-the-platform</id>
        <published>2026-07-17T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>Martin Hicks</name>
            <uri>https://sinovi.uk/about-us/founding-team/martin-hicks</uri>
        </author>
        <category term="AI"/>
        <category term="Digital Transformation"/>
        <summary>Deploying AI agents is an organisational problem, not just a technical one. My answer: build a deployment squad and own the platform layer.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;illustration&quot; class=&quot;editorial-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;
                
&lt;aside class=&quot;article-crosspost&quot;&gt;
    &lt;p&gt;
        This article was originally published on &lt;a href=&quot;https://martinhicks.dev/articles/build-the-squad-own-the-platform&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;martinhicks.dev&lt;/a&gt;, Martin&#39;s personal blog, on 3rd June 2026.
    &lt;/p&gt;
&lt;/aside&gt;

                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;Once the technology works, the bottleneck is the org chart&lt;/h2&gt;

        &lt;p&gt;My wife Helen, who works in HR, sent me an episode of &lt;a href=&quot;https://podcasts.apple.com/gb/podcast/hr-disrupted/id1224217097?i=1000767335369&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;HR Disrupted&lt;/a&gt; last week - Lucy Adams interviewing Andy Doyle from Kantar on putting AI agents into production HR workflows.&lt;/p&gt;

        &lt;p&gt;Andy describes some genuinely impressive work. Kantar had around 4,000 HR policies spread across 63 markets. Twenty-three versions of a single policy were scattered across the intranet, many written by different people at different times, some long out of date. Reviewing and standardising all that by hand would have been the work of years. So they built a set of small, single-purpose agents instead, one to rewrite each policy into a standard format, another to flag where it broke local employment law. The whole lot went into one common framework in a week.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;h2 id=&quot;why-now&quot;&gt;Why now?&lt;/h2&gt;

        &lt;p&gt;It&#39;s a real piece of engineering, which is what makes some of the rhetoric around it a shame: you don&#39;t train out hallucination, you constrain it with evals and guardrails. But the operational story underneath holds, and the lesson is in what they did, not how they describe it.&lt;/p&gt;

        &lt;p&gt;Listening to the podcast got me thinking less about Kantar and more about the next move for everyone who hears a story like that and wants to do something similar.&lt;/p&gt;

        &lt;p&gt;The conversation about AI inside large organisations has shifted in the last six months, from a model problem to a deployment one. AWS&#39;s Ishit Vachhrajani describes it as moving from &quot;generate and hope&quot; to systems that plan, decide, and act with human guidance. You can still argue about whether the models are ready, and plenty of people do. But the teams already shipping agents into production - Andy&#39;s at Kantar among them - have stopped waiting for that argument to settle. The hard parts that remain, reliability and hallucination, get handled operationally now - not trained away. Those are deployment problems, not model problems. The bottleneck is the org chart.&lt;/p&gt;

        &lt;p&gt;Where in your organisation does this capability live? Who owns it, who governs it, who carries the risk when something goes wrong? These are organisational design and architectural decisions, and the next ten years of AI in your business will be shaped more by how you answer them than by which models you pick.&lt;/p&gt;

        &lt;p&gt;And the honest version of where this is heading is bigger than a governance question. The functional org chart - HR over here, IT over there, finance in the corner - has been the default shape of large organisations for the better part of a century. AI may prove to be one of the forces that starts to pull it apart. Get this right and you&#39;re not just deploying agents well, you&#39;re building the first working piece of an organisation that composes around the work itself rather than the functions that have always owned it. The first step towards that is much smaller.&lt;/p&gt;

        &lt;p&gt;Faced with the immediate question - where does this capability live - most leaders reach for one of two answers. Both look reasonable. Both have serious problems.&lt;/p&gt;

        &lt;h2 id=&quot;two-easy-answers&quot;&gt;Two easy answers that don&#39;t quite work&lt;/h2&gt;

        &lt;p&gt;The first is to outsource the capability wholesale. Buy an agentic platform from one of the workflow-automation or RPA vendors who&#39;ve rebadged in the last eighteen months, let them run the platform layer, let their workflows define your agents.&lt;/p&gt;

        &lt;p&gt;This is a mistake, and a specific one. Not that you shouldn&#39;t get external help - most organisations will sensibly work with partners. The mistake is handing over the architectural decisions. Rent a vendor&#39;s abstraction and your data, governance, audit, and identity story is whatever they ship. When an agent does something it shouldn&#39;t, the loop back to the people who can change it goes through a support queue. You&#39;ve outsourced the part of your business that&#39;s about to become strategic.&lt;/p&gt;

        &lt;p&gt;Building on a hyperscaler is genuinely different. Model behaviour, pricing, and roadmap are externally controlled either way, but on AWS, Azure, or Google you own the IAM, the audit, the cost controls, the integration patterns. You stand on their shoulders without handing over the decisions that shape how your capability evolves.&lt;/p&gt;

        &lt;p&gt;The second easy answer is to bolt the capability onto an existing function. Hand it to HR, hand it to IT, hand it to whoever has the closest claim, and declare the strategy done.&lt;/p&gt;

        &lt;p&gt;There are really two layers here, and they want different answers. The platform layer - IAM, audit, cost controls, the cloud foundation the agents run on - IT will rightly own as platform engineering. It&#39;s foundational and benefits from standardised delivery, same as any cloud platform.&lt;/p&gt;

        &lt;p&gt;The harder question is who owns the capability that uses the platform: designing the agents, deploying them into real business problems, shaping how people interact with them, deciding what good looks like. That&#39;s where the &quot;give it to a function&quot; answers break down.&lt;/p&gt;

        &lt;p&gt;Of the single-function answers, HR has the strongest case. Adoption really is the hard part, and behavioural standards and change management live closer to HR than to engineering. None of that is wrong. The problem is that bolting the capability onto any single function inherits that function&#39;s operating pattern, and strategically important work inside a shared service ends up under-invested and slow. The interesting question isn&#39;t &quot;which function owns it?&quot; It&#39;s whether you&#39;re building cross-disciplinary capability that lives in the business, or single-discipline capability that gets delivered to the business.&lt;/p&gt;

        &lt;h2 id=&quot;done-this-before&quot;&gt;We&#39;ve done this before&lt;/h2&gt;

        &lt;p&gt;The thing that should give every senior leader pause is that we&#39;ve already lived through a version of this. It was called Excel.&lt;/p&gt;

        &lt;p&gt;Spreadsheets put powerful data manipulation in the hands of capable people with no engineering scaffolding around them. Net positive on the whole, but it also gave us the London Whale loss at JPMorgan and a generation of businesses running critical processes on undocumented workbooks built by an analyst who left two roles ago. We&#39;re still cleaning that up decades later.&lt;/p&gt;

        &lt;p&gt;&quot;Buy some licences and see what people can do&quot; is the same energy. Powerful tools, capable hands, no scaffolding. Except an agent doesn&#39;t sit in a workbook waiting to be opened - it acts. Put one on top of a broken process and it won&#39;t just record the mess, it&#39;ll run it. We learned the lesson once. This time the spreadsheet could fire people.&lt;/p&gt;

        &lt;h2 id=&quot;build-a-squad&quot;&gt;What to do instead: build a squad&lt;/h2&gt;

        &lt;p&gt;The answer isn&#39;t a new department. It&#39;s a deployment squad - and you can see the shape of one in the Kantar story, even if Andy doesn&#39;t call it that. The top agent builders are spread across HR, payroll, and analytics. The payroll manager who happened to be in the room when the Copilot licences went out became the AI manager. The head of analytics built the finance/HR reconciliation agent herself, eighty hours by her own count. The job title may be useful political cover, but it isn&#39;t the operating model. What Andy describes is a squad, not a function.&lt;/p&gt;

        &lt;p&gt;I&#39;m extrapolating here. I haven&#39;t run an internal AI deployment squad inside a large enterprise. What I have watched, up close, is the pattern AWS Professional Services and the Partner Network use to ship production work inside customer organisations - and the forward-deployed engineer roles that Anthropic, OpenAI, and Google are now pitching look like the same shape. The underlying logic is one AWS worked out long ago: access alone isn&#39;t the bottleneck. Deployment is.&lt;/p&gt;

        &lt;p&gt;So build your own version. A small, cross-functional squad: platform engineers who can operate like internal forward-deployed engineers, IT people who already know your data and systems, HR expertise on behavioural standards and adoption, and line-of-business owners who know what good looks like. It embeds into specific problems and ships production agents. Not an innovation pod or a tiger team that spins up a demo and disbands. It owns what it ships, it integrates properly with the platform, and it stays.&lt;/p&gt;

        &lt;p&gt;The squad needs two things to work.&lt;/p&gt;

        &lt;p&gt;The first is platform discipline. The agents it builds are applications. They live on a platform layer that decides who an agent is allowed to be, what it can touch, what records it leaves, what it costs, and what it&#39;s allowed to do with sensitive data. Most of that comes from the cloud platform you already use. What it doesn&#39;t give you, you build and maintain yourself. Be clear from day one about which decisions belong to the platform and which belong to the agent, and resist the urge to rebuild platform-level safeguards inside every individual agent. Andy&#39;s team raced past the audit trail and had to come back to it later; he notes it would have been far more costly in a regulated industry. The discipline matters from the start, not as a retrofit.&lt;/p&gt;

        &lt;p&gt;The second is a sponsor senior enough to clear blockers but light enough not to slow it down, with the authority to ship without permission from every adjacent function. Andy had exactly this: permission to think bigger and permission to fail visibly. The sponsor&#39;s risk tolerance is what lets the squad ship and learn. The platform discipline is what decides whether the inevitable failures are recoverable embarrassments or unrecoverable disasters.&lt;/p&gt;

        &lt;p&gt;Where the squad sits on the org chart matters less than these two things.&lt;/p&gt;

        &lt;p&gt;One thing the podcast skips is how the rest of the organisation reacts. A cross-cutting squad shipping into work that IT, finance, or operations think of as theirs can be read as a threat, even when it&#39;s there to help. Handling that is real work, and it gets easier each time: squads that do it well don&#39;t stay one-offs. They become the prototype for how AI capability spreads, and the platform team scales with them.&lt;/p&gt;

        &lt;h2 id=&quot;hr-and-helen&quot;&gt;What this means for HR, and for Helen&lt;/h2&gt;

        &lt;p&gt;The more forward-looking parts of the profession have been moving from a roles-based view of the workforce to a skills-based one, where the unit of work is the skill, not the job title, and teams get composed from skills as the business needs them. Mercer&#39;s Jess Von Bank, in a recent People Management feature, pushes HR to design itself from first principles - for what the business needs now, not what the org chart has always done. A deployment squad, assembled from the skills a problem needs, is exactly what that model produces, which is why HR shouldn&#39;t try to own the AI capability but should help compose the team that delivers it. That&#39;s a craft the profession has spent a decade building, and it deserves better than to be flattened into change management.&lt;/p&gt;

        &lt;p&gt;For someone like Helen, that means becoming genuinely literate in the platform layer - what agents do, how they fail - without becoming an engineer. The more HR understands how these systems work in practice, the more useful it is to the teams that build and deploy them.&lt;/p&gt;

        &lt;p&gt;The squad is the starting move. Build enough of them and the question stops being &quot;which function owns AI&quot; and starts being &quot;why are we organised around functions at all&quot;. That&#39;s a bigger argument, and not one for today - but you don&#39;t have to settle it to start.&lt;/p&gt;

        &lt;p&gt;Don&#39;t wait for a reorg to make it official. The future organisation doesn&#39;t arrive by redrawing the chart - it arrives one shipped agent at a time. The org chart will catch up when the work has earned it.&lt;/p&gt;

    &lt;/article&gt;&lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=Build%20the%20squad.%20Own%20the%20platform.%20The%20org%20chart%20will%20catch%20up.%20-%20https://sinovi.uk/articles/build-the-squad-own-the-platform%20-%209%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/build-the-squad-own-the-platform&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=Build%20the%20squad.%20Own%20the%20platform.%20The%20org%20chart%20will%20catch%20up.%20-%20https://sinovi.uk/articles/build-the-squad-own-the-platform&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/agentic-ai-for-business-operations&quot;&gt;
                                &lt;div data-image-type=&quot;screenshot&quot; class=&quot;journal-image article-visual article-visual-screenshot article-surface-lavender&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/agentic-ai-for-business-operations.png&quot; alt=&quot;The Xero reporting dashboard for the Si Novi organisation&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-09T00:00:00.000Z&quot;&gt;9th July 2026&lt;/time&gt;&lt;span&gt;4 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Pointing agentic AI at our own bookkeeping&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Agentic AI for operations: experimenting on our own bookkeeping</title>
        <link href="https://sinovi.uk/articles/agentic-ai-for-business-operations"/>
        <id>https://sinovi.uk/articles/agentic-ai-for-business-operations</id>
        <published>2026-07-09T00:00:00.000Z</published>
        <updated>2026-09-15T15:48:59.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AI"/>
        <category term="Automation"/>
        <category term="Software Development"/>
        <summary>An experiment in turning agentic tooling on our own operations, starting with the timeconsuming Xero bookkeeping jobs I&#39;d rather not do by hand.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;screenshot&quot; class=&quot;editorial-image article-visual article-visual-screenshot article-surface-lavender&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/agentic-ai-for-business-operations.png&quot; alt=&quot;The Xero reporting dashboard for the Si Novi organisation&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class=&quot;article-visual-caption&quot;&gt;&lt;a href=&quot;https://sinovi.uk/images/articles/agentic-ai-for-business-operations.png&quot;&gt;View full-size screenshot &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;


        &lt;p&gt;We&#39;ve been using agentic tooling for a while now, and lately we&#39;ve started turning it towards how we actually run Si Novi. Our Xero bookkeeping is one area of pain. I do our books myself, so I know exactly which jobs take the most time each month. Those are the ones I&#39;ve been handing to an agent, in the shape of a little suite of tools we&#39;ve built against the &lt;a href=&quot;https://developer.xero.com/documentation/api/accounting/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xero API&lt;/a&gt; and can drive from inside a &lt;a href=&quot;https://www.anthropic.com/claude-code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Claude Code&lt;/a&gt; session. The first results are really exciting and have already saved me a bunch of time and effort this quarter.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;h2 id=&quot;the-jobs&quot;&gt;Where I aimed it, and why&lt;/h2&gt;

        &lt;p&gt;I set the agent a task list of the fiddly, repetitive jobs I already know inside out and would happily never do by hand again. The big one, and where most of my monthly grief lives, is draft supplier bills, because every month there&#39;s a run of them to work through: converting the dollar receipts from the likes of GitHub into the pounds that actually left the bank, spotting where a supplier has sent both an invoice and a receipt for the same payment so one can be dropped, and setting the right tax treatment across reverse charge, No VAT, and plain 20%. None of it is hard, it&#39;s just fiddly and it mounts up, and one batch had five duplicate invoice-and-receipt pairs to weed out on its own.&lt;/p&gt;

        &lt;p&gt;I knew that with draft bills cleaned up I could then focus on reconciliation - which would be a much easier task even still using the Xero UI. But automating reconciliation is unlocked by the bills being clean.&lt;/p&gt;

        &lt;h2 id=&quot;the-shape&quot;&gt;The shape that&#39;s working so far&lt;/h2&gt;

        &lt;p&gt;The pattern underneath it is what I&#39;d call AI in the loop rather than AI in a box, and it falls into three clean roles. The scripts do the deterministic donkey work of authenticating, pulling the bills and the bank lines, and writing approved changes back. The agent does the judgement I actually point it at, reading a receipt, matching a foreign-currency bill to the sterling that left the bank, working out the category and flagging anything that looks off. And I sit in the middle, setting the task and approving every write, so nothing reaches Xero until I&#39;ve looked at it, which is the entire point when it&#39;s the live accounts.&lt;/p&gt;

        &lt;h2 id=&quot;the-limits&quot;&gt;Where the API runs out&lt;/h2&gt;

        &lt;p&gt;The one real limit I&#39;ve hit is that the data you want isn&#39;t always where the API reaches. It seems that raw unreconciled bank transactions are not available via the Xero API, so for now I&#39;m bridging the gap with a once-per-batch XLSX report export. I can hand that to our Xero Tools agent to be extracted via a script and included in the data processing. It works fine but isn&#39;t quite the elegant answer I&#39;d have liked. One manual step but still a huge improvement overall.&lt;/p&gt;

        &lt;h2 id=&quot;guardrails&quot;&gt;Guardrails, because it&#39;s live accounts&lt;/h2&gt;

        &lt;p&gt;Because this is pointed at the live accounts, everything runs as a dry run by default and won&#39;t write a thing until I confirm against named targets, each change is atomic so there&#39;s no half-finished mess to unpick, and a re-run knows what it has already done and skips it. The one time it genuinely hit a wall it stopped cleanly, refusing a couple of bills it shouldn&#39;t have touched rather than mangling them, which is exactly the behaviour you want the first time you let a tool near the books.&lt;/p&gt;

        &lt;h2 id=&quot;summary&quot;&gt;In summary... well, it&#39;s brilliant&lt;/h2&gt;

        &lt;p&gt;This is early and I&#39;m still very much playing, but it&#39;s a genuinely exciting way to work.&lt;/p&gt;

        &lt;p&gt;The part I like most is quiet: the supplier quirks and billing rules and tax treatments I know are getting written down as we go, as versioned notes the agent picks up on its own, so it starts each session already knowing what I taught it last time. And I love the compounding knowledge of the codified work I&#39;ve done here - this is operations software we can iterate over time and further optimise our workflows, saving ourselves time.&lt;/p&gt;

        &lt;p&gt;If you&#39;ve got a repetitive, fiddly corner of your own operations that you know better than anyone, that&#39;s just the sort of thing we like getting our teeth into, so do get in touch and we&#39;ll talk it through.&lt;/p&gt;

    &lt;/article&gt;&lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=Pointing%20agentic%20AI%20at%20our%20own%20bookkeeping%20-%20https://sinovi.uk/articles/agentic-ai-for-business-operations%20-%204%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/agentic-ai-for-business-operations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=Pointing%20agentic%20AI%20at%20our%20own%20bookkeeping%20-%20https://sinovi.uk/articles/agentic-ai-for-business-operations&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>What is AI-native? A clear definition</title>
        <link href="https://sinovi.uk/articles/what-is-ai-native"/>
        <id>https://sinovi.uk/articles/what-is-ai-native</id>
        <published>2026-06-05T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AI"/>
        <category term="AWS"/>
        <category term="Software Development"/>
        <summary>AI-native means software designed from the ground up with AI in mind. The spectrum from AI-washed to AI-native, and how to tell the difference.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;illustration&quot; class=&quot;editorial-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/what-is-ai-native.jpg&quot; alt=&quot;What is AI-native software, Si Novi&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;AI-native means designing the product around AI from the ground up&lt;/h2&gt;

        &lt;p&gt;Designing around AI changes what gets built underneath it, from where the data lives to what the product can promise its users. The models, agents and tools doing that work shape the system rather than sitting on top of it.&lt;/p&gt;

        &lt;p&gt;It&#39;s fast becoming a buzzword, and the useful way to get your head around what it actually means is by analogy to something most people building on the web already know well: cloud-native.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;h2 id=&quot;the-cloud-native-analogy&quot;&gt;The cloud-native analogy&lt;/h2&gt;

        &lt;p&gt;Cloud-native never just meant &quot;it runs on the cloud&quot;. You could lift an old application onto a virtual machine in AWS and change nothing about how it was built - that&#39;s hosting, not cloud-native. The term meant something more specific: software designed around the cloud&#39;s actual properties. Elasticity, managed services, ephemerality, microservices. Architected from the outset to take advantage of what the platform does well, rather than treated as a server that happens to live somewhere else.&lt;/p&gt;

        &lt;p&gt;AI-native is the same move, applied to AI. The system is architected around the model&#39;s properties from day one, and without the model there would be no product. Take the same step that cloud-native took, and point it at large language models instead of infrastructure.&lt;/p&gt;

        &lt;h2 id=&quot;a-spectrum-not-a-binary&quot;&gt;A spectrum, not a binary&lt;/h2&gt;

        &lt;p&gt;The term AI-native and its derivatives are everywhere at the moment, so here&#39;s an attempt to clarify. In my view the spectrum has three clear points on it:&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;AI-washed.&lt;/strong&gt; The marketing claims AI, there&#39;s very little real substance behind it. A logo on a landing page and a press release. But what does it actually DO? And WHY?&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;AI-enabled, or AI-powered.&lt;/strong&gt; A working product with AI added as a genuine feature - a chatbot stapled onto an existing CRM, say, or a summarise button in a tool that got along fine without one. The key test: remove the AI and the product still stands. It&#39;s diminished, maybe, but it&#39;s still a product.&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;AI-native.&lt;/strong&gt; Remove the AI and there&#39;s no product left. The model is doing the central job, and without it you&#39;re holding an empty shell.&lt;/p&gt;

        &lt;p&gt;Most of what gets called AI-native is really AI-enabled, and that&#39;s fine - there&#39;s nothing wrong with adding AI to a solid product.&lt;/p&gt;

        &lt;h2 id=&quot;whats-different&quot;&gt;What&#39;s actually different about it&lt;/h2&gt;

        &lt;p&gt;The difference shows up in how the thing is actually built, not in the marketing.&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;The AI runs through it, not beside it.&lt;/strong&gt; Genuinely AI-native isn&#39;t a single API call to a model provider tacked onto one screen. The model shapes the whole design - how data is stored and retrieved, which cloud services you reach for, how a request flows through the system. Pull on almost any part of it and the AI is there.&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;It handles what you never specified.&lt;/strong&gt; Traditional software makes you build for every expected input and every branch in advance, and anything outside that list just isn&#39;t supported. A model doesn&#39;t need a list. The clearest case is unstructured input: free text, emails, PDFs, scanned invoices, photos. Each of those used to need either a person or a parser written for one supplier&#39;s exact layout, and now a single path deals with all of them however the document happens to arrive. Also the input can be the user&#39;s own words, not items from a dropdown list.&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;It can act on your systems.&lt;/strong&gt; An AI-enabled feature answers a question and hands the result back for you to do something with. An AI-native product gives the model tools and lets it get on with the job: read the message, pull the right record, check it against what is already there, and draft whatever comes next. That changes what you are building, because the model now needs tools it can call, permissions bounding what it is allowed to touch, and a record of what it did. We&#39;ve been doing this on our own books, &lt;a href=&quot;https://sinovi.uk/articles/agentic-ai-for-business-operations&quot;&gt;pointing agentic tooling at the Xero jobs&lt;/a&gt; nobody enjoys doing by hand.&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;The costs and risks are different.&lt;/strong&gt; You tend to pay per use rather than a flat monthly bill, and there&#39;s a new set of safety problems to worry about - the model being tricked into misbehaving, or confidently making things up. Older security thinking doesn&#39;t fully cover these, which is why OWASP now keeps a dedicated &lt;a href=&quot;https://owasp.org/www-project-top-10-for-large-language-model-applications/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Top 10 for AI applications&lt;/a&gt;.&lt;/p&gt;

        &lt;h2 id=&quot;ai-you-didnt-ask-for&quot;&gt;AI you didn&#39;t ask for&lt;/h2&gt;

        &lt;p&gt;What really gets me is that plenty of software you&#39;ve happily paid for and used for years is suddenly sprouting AI features, and the price is going up to cover them. You didn&#39;t ask for the AI, you might not even want it, and now you&#39;re paying for it whether you use it or not.&lt;/p&gt;

        &lt;p&gt;That&#39;s the wrong way round. If a tool has done the job for five years, I should get to decide whether the AI is worth it to me. If it isn&#39;t, I shouldn&#39;t be paying for it. Opt in, not opt out with a price rise quietly attached.&lt;/p&gt;

        &lt;p&gt;There&#39;s a fairer model more software could offer, and it&#39;s one I&#39;d love to see more of: bring your own key. Let me plug in my own account with the AI provider and pay the real cost of what I use directly, instead of a marked-up rate on top. The software gives me the clever part - the AI built sensibly into the tool - and I bring the fuel. Everyone can see exactly what they&#39;re paying for.&lt;/p&gt;

        &lt;p&gt;Done well, the AI is woven into what the app is actually for and stays in step with what you&#39;re trying to do. It works for the person using it, rather than being bolted on to tick a box or grow the invoice. Who the AI is really serving is the question to ask.&lt;/p&gt;

        &lt;h2 id=&quot;how-we-build&quot;&gt;How we build AI-native systems&lt;/h2&gt;

        &lt;p&gt;For us it starts before the technology. The first job is to understand what the business is trying to achieve and what the people using the software are actually trying to get done, then design from there. Get the goal clear and the question of where AI belongs - and where it doesn&#39;t - gets a lot easier to answer.&lt;/p&gt;

        &lt;p&gt;From there it builds on how we already work. We&#39;ve been building cloud-native on AWS for years - serverless, event-driven, managed services, infrastructure as code - and AI-native sits naturally within that. The same foundation that lets a system scale and stay maintainable is what gives a model somewhere solid to live: your own data to draw on, events to react to, and the compute to run it all without servers to babysit. &lt;a href=&quot;https://aws.amazon.com/bedrock/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Amazon Bedrock&lt;/a&gt; is one piece of it, letting us use a range of AI models through a single managed service, grounded in your data, with the tools and safety guardrails a serious AI feature needs. AI-native done well is cloud-native with the model treated as a first-class part of the design, rather than bolted on the side.&lt;/p&gt;

        &lt;p&gt;This is still early doors. The tools are evolving fast, which is part of what makes it an amazing time to be building.&lt;/p&gt;

    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;Further reading:&lt;/strong&gt; &lt;a href=&quot;https://owasp.org/www-project-top-10-for-large-language-model-applications/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OWASP Top 10 for Large Language Model Applications&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=What%20is%20AI-native?%20-%20https://sinovi.uk/articles/what-is-ai-native%20-%206%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/what-is-ai-native&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=What%20is%20AI-native?%20-%20https://sinovi.uk/articles/what-is-ai-native&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Re-platforming a live insurance book with event-sourced architecture</title>
        <link href="https://sinovi.uk/our-work/rubber-ring-platform-rebuild"/>
        <id>https://sinovi.uk/our-work/rubber-ring-platform-rebuild</id>
        <published>2026-04-13T00:00:00.000Z</published>
        <updated>2026-09-11T08:31:26.000Z</updated>
        <summary>How Si Novi rebuilt Rubber Ring&#39;s live insurance platform on AWS - an event-sourced DynamoDB-to-PostgreSQL CQRS design with React Router 7 and PHP on ECS Fargate.</summary><content type="html">&lt;article style=&quot;--accent: #1DEDBB&quot;&gt;

    &lt;div class=&quot;wrap case-opening&quot;&gt;&lt;div class=&quot;project-presentation project-presentation-detail&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;eager&quot; fetchpriority=&quot;high&quot; src=&quot;https://sinovi.uk/images/work/rr-golf.jpg&quot; alt=&quot;Golf course&quot; sizes=&quot;(min-width: 900px) 75vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand project-brand-badge&quot;&gt;&lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/clients/rr/rr-logo.png&quot; alt=&quot;&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Insurance platform rebuild&lt;/p&gt;
            &lt;p class=&quot;project-panel-date&quot;&gt;Published 2026&lt;/p&gt;&lt;/div&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

    &lt;div class=&quot;wrap case-reading&quot;&gt;
        &lt;div class=&quot;case-grid&quot;&gt;
            &lt;div class=&quot;case-story&quot;&gt;
                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;Re-platforming a fintech insurance business&lt;/h2&gt;
        &lt;p&gt;Rubber Ring set out to make insurance feel like modern fintech - simple, fast and app-like. Since launching in 2020 their platform had grown and evolved: first a serverless Progressive Web App for tyre insurance, then a re-platform onto a modern, serverless JavaScript stack that brought golf, sports and new products into the fold. By 2026, to scale further - more products, more customers, and richer operations - it was ready for a new architectural foundation. We rebuilt the entire platform on modern technology and an event-sourced architecture, and migrated the live book of policies in a single, carefully planned cutover.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;div&gt;

        &lt;h3&gt;The challenge: modernise a working business, without disruption&lt;/h3&gt;
        &lt;p&gt;The platform that preceded this rebuild was already cloud-native and serverless, and it had served Rubber Ring well. But a growing, multi-product insurance business needed more than that design could offer: a clean separation between the systems that write data and those that report on it, infrastructure defined entirely in code, far richer back-office tooling, and the headroom to add new products quickly. Left unaddressed, the older design would increasingly slow the pace of new products and cap how far the business could scale. And it all had to happen around a live book of customers, with no interruption to cover or claims.&lt;/p&gt;

        &lt;h3&gt;An event-sourced architecture (CQRS)&lt;/h3&gt;
        &lt;p&gt;Rather than simply refresh the old stack, we rebuilt the platform around a clear separation of concerns - known as CQRS - splitting the write side from the read side:&lt;/p&gt;
        &lt;ul class=&quot;list-disc list-inside&quot;&gt;
            &lt;li&gt;&lt;strong&gt;A single-table Amazon DynamoDB store&lt;/strong&gt; is the source of truth for every policy, quote, customer and claim - fast and endlessly scalable.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Change data streams&lt;/strong&gt; from DynamoDB are processed in real time and projected into an &lt;strong&gt;Amazon RDS PostgreSQL&lt;/strong&gt; read model, purpose-built for querying, reporting and the admin experience.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;The customer application&lt;/strong&gt;, built with React Router 7 on Node.js, reads and writes against DynamoDB directly, giving customers a fast, server-rendered, app-like experience.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;The admin application&lt;/strong&gt;, a Laravel application (PHP) with two-factor authentication, queries the PostgreSQL read model to power policy and customer management, claims triage, reporting and a configurable pricing model.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;div class=&quot;logo-row&quot;&gt;
            &lt;img src=&quot;https://sinovi.uk/images/work/rr-app-quote.png&quot; alt=&quot;The Rubber Ring customer app showing a step of the guided quote flow on a phone&quot;&gt;
        &lt;/div&gt;

        &lt;h3&gt;A modern stack, containerised and defined in code&lt;/h3&gt;
        &lt;p&gt;The customer and admin applications run as containers on &lt;strong&gt;Amazon ECS Fargate&lt;/strong&gt; - the right home for two long-running, framework-rich apps - fronted by CloudFront and a web application firewall. Around them sits a set of &lt;strong&gt;serverless microservices&lt;/strong&gt; (AWS Lambda) that each do one job well. And the entire cloud environment is provisioned with the AWS Cloud Development Kit (CDK), so every piece of infrastructure is version-controlled, repeatable and reviewable. AWS lets us run this deliberate mix of containers and serverless under one roof, with the security and compliance controls a regulated insurance business depends on.&lt;/p&gt;
        &lt;ul class=&quot;list-disc list-inside&quot;&gt;
            &lt;li&gt;&lt;strong&gt;React Router 7 on Node.js&lt;/strong&gt;: a modern, server-rendered customer application, containerised on ECS Fargate.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Laravel admin application&lt;/strong&gt;: a rich back-office for the Rubber Ring team, also on ECS Fargate.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Amazon DynamoDB &amp;amp; change streams&lt;/strong&gt;: the event-sourced write store and the backbone of the CQRS design.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Amazon RDS (PostgreSQL) with RDS Proxy&lt;/strong&gt;: the queryable read model behind the admin and reporting.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Serverless microservices (AWS Lambda, SQS, SNS &amp;amp; EventBridge)&lt;/strong&gt;: focused, event-driven and scheduled jobs - document generation, customer communications, renewals and expiries, and automated regulatory compliance screening.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;AWS CDK&lt;/strong&gt;: the whole environment defined as code across multiple stacks, with CloudFront, WAF, ACM and Secrets Manager for secure, fast delivery.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h3&gt;A single, planned cutover&lt;/h3&gt;
        &lt;p&gt;Migrating a live insurance book is unforgiving work. We built and rehearsed a one-shot migration that transformed every existing policy into the new platform&#39;s shape, and cut the business over in April 2026.&lt;/p&gt;

        &lt;p&gt;Proving that out safely meant working with real data shapes rather than synthetic fixtures: we imported S3 backups of the live legacy DynamoDB table into &lt;a href=&quot;https://dynoxide.dev&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Dynoxide&lt;/a&gt;, our own open-source DynamoDB engine, and used its anonymisation to strip customer data, so the team could dry-run the migration against production-shaped records without ever handling real customer information. Security, resilience and data integrity were designed in and proven well before that switch, so from the moment new and existing customers were served entirely by the new platform, our focus was operational tuning and refinement rather than shoring up foundations.&lt;/p&gt;

    &lt;/div&gt;&lt;div&gt;

        &lt;h3&gt;Results: a platform built to scale&lt;/h3&gt;
        &lt;ul class=&quot;list-disc list-inside&quot;&gt;
            &lt;li&gt;&lt;strong&gt;Room to grow&lt;/strong&gt;: adding new insurance products and features is faster and safer on the new architecture.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Clean separation of concerns&lt;/strong&gt;: the CQRS design keeps the fast customer experience and the rich back-office reporting independent and independently scalable.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Infrastructure as code&lt;/strong&gt;: everything is defined in CDK - repeatable, reviewable and easy to evolve.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Compliance built in&lt;/strong&gt;: regulatory checks and back-office workflows are automated rather than manual.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;A clean cutover&lt;/strong&gt;: the entire live book migrated in a single, planned switch-over with no interruption to cover.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h3&gt;A partnership that keeps building&lt;/h3&gt;
        &lt;p&gt;Having designed, built and evolved the platform since 2019, we were uniquely placed to re-architect it without losing the hard-won detail that keeps an insurance business running day to day. The re-platform is the latest chapter in that partnership - and with a modern foundation now in place, we continue to work with Rubber Ring to grow the business, shipping new products and improvements on an architecture built to keep up.&lt;/p&gt;

        &lt;h3&gt;About Si Novi: cloud-native engineering partners&lt;/h3&gt;
        &lt;p&gt;Si Novi is an AWS Select Tier Services Partner. We design, build and modernise cloud-native platforms on AWS across a wide range of industries - and we&#39;re at our best re-architecting live systems without disrupting the businesses that depend on them.&lt;/p&gt;
        &lt;p&gt;From event-sourced architectures to careful, high-stakes migrations, we help businesses like Rubber Ring move onto foundations built to scale - safely.&lt;/p&gt;

    &lt;/div&gt;&lt;/div&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;case-rail&quot;&gt;

    &lt;!-- Supporting project facts remain available at every screen size. --&gt;
    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;At a glance&lt;/h2&gt;
        &lt;dl class=&quot;case-facts-list&quot;&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Client&lt;/dt&gt;
                &lt;dd&gt;Rubber Ring&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;What we built&lt;/dt&gt;
                &lt;dd&gt;Insurance platform rebuild&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Technology&lt;/dt&gt;
                &lt;dd&gt;
&lt;span class=&quot;nowrap&quot;&gt;Amazon ECS Fargate,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon RDS for PostgreSQL,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon DynamoDB,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon EventBridge,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;AWS Lambda,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;AWS CDK,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;React,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Node.js,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Laravel&lt;/span&gt;
&lt;/dd&gt;
            &lt;/div&gt;

            &lt;!-- Says &quot;Published&quot; while `delivered` is unset, which it is on all ten, because
                 the published date is not the date the work shipped. Fill `delivered` in and
                 this becomes &quot;Delivered&quot; with the real year on its own. --&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Published&lt;/dt&gt;
                &lt;dd&gt;&lt;time datetime=&quot;2026-04-13&quot;&gt;2026&lt;/time&gt;&lt;/dd&gt;
            &lt;/div&gt;
        &lt;/dl&gt;

    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
        &lt;div class=&quot;share-links&quot;&gt;
            &lt;a href=&quot;https://bsky.app/intent/compose?text=Rebuilding%20an%20insurance%20platform%20with%20an%20event-sourced%20architecture%20-%20https://sinovi.uk/our-work/rubber-ring-platform-rebuild%20-%20A%20case%20study%20of%20our%20recent%20work%20with%20Rubber%20Ring&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/our-work/rubber-ring-platform-rebuild&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://tootpick.org/#text=Rebuilding%20an%20insurance%20platform%20with%20an%20event-sourced%20architecture%20-%20https://sinovi.uk/our-work/rubber-ring-platform-rebuild&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
        
    &lt;/div&gt;

&lt;/aside&gt;

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;div class=&quot;quote-band&quot;&gt;
            &lt;div class=&quot;wrap&quot;&gt;
                &lt;figure class=&quot;quote-figure&quot;&gt;
                    &lt;span aria-hidden=&quot;true&quot; class=&quot;quote-ornament&quot;&gt;“&lt;/span&gt;
                    &lt;blockquote&gt;The best migrations are the ones you&#39;ve already run a hundred times. We rehearsed this cutover against real, anonymised data until the surprises were out of it, then moved the entire live book across in one go. That&#39;s the standard a live insurance book deserves.&lt;/blockquote&gt;
                    &lt;figcaption&gt;&lt;b&gt;Martin Hicks&lt;/b&gt;, Principal Consultant, Si Novi&lt;/figcaption&gt;
                &lt;/figure&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        

&lt;section class=&quot;section work-related panel-paper&quot;&gt;&lt;div class=&quot;wrap&quot;&gt;
    &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Case studies&lt;/span&gt;&lt;h2&gt;Work we have done for businesses like yours&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/our-work&quot; class=&quot;text-link&quot;&gt;All our work &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
    &lt;div class=&quot;work-index&quot;&gt;
        &lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/duwio&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/duwio-banner.jpg&quot; alt=&quot;Lewis Hamilton driving a Ferrari Formula 1 car past the grandstands&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center bottom&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;!-- No scoped style block here, and it must stay that way. Scoped styles force WebC to
     keep the &lt;duwio-logo&gt; host so the scope class has an element to sit on. The host
     then takes the caller&#39;s class, the same class this svg already binds, and every
     caller passes positioning: `absolute bottom-20 right-4`. Applied to both, the
     positioned host becomes the svg&#39;s containing block and the offsets land twice, so
     the mark sat 160px off the card&#39;s foot instead of 80. Every other logo in here is
     a bare svg for this reason. --&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 104 28&quot; fill=&quot;none&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;g clip-path=&quot;url(#clip0_55_510)&quot;&gt;
&lt;path d=&quot;M8.27101 7.89722C10.7603 7.89722 12.9075 9.04244 14.0528 10.7523V2.05185H19.8027V26.9205H14.0528V24.2325C13.0109 25.9503 11.0307 27.1909 8.27101 27.1909C3.66628 27.1909 0 23.4292 0 17.5123C0 11.5953 3.66628 7.89722 8.27101 7.89722ZM9.94907 12.9075C7.80179 12.9075 5.84538 14.522 5.84538 17.5123C5.84538 20.5026 7.79384 22.1806 9.94907 22.1806C12.1043 22.1806 14.0528 20.5344 14.0528 17.5441C14.0528 14.5538 12.1361 12.9075 9.94907 12.9075Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M42.4842 26.9205H36.7343V24.3677C35.5891 25.9821 33.577 27.1273 31.0559 27.1273C26.7216 27.1273 23.7949 24.137 23.7949 19.1267V8.16762H29.5051V18.3553C29.5051 20.9082 30.9525 22.3238 33.0998 22.3238C35.2471 22.3238 36.7263 20.9161 36.7263 18.3553V8.16762H42.4763V26.9205H42.4842Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M44.6714 8.16762H50.4213L53.0776 21.5762L56.2349 8.16762H62.3189L65.5159 21.5126L68.1404 8.16762H73.5483L68.4744 26.9205H62.12L59.1616 14.7526L56.0997 26.9205H49.7771L44.6714 8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M75.1948 3.12549C75.1948 1.37585 76.5707 0 78.6225 0C80.6744 0 82.0184 1.37585 82.0184 3.12549C82.0184 4.87512 80.6426 6.21916 78.6225 6.21916C76.6025 6.21916 75.1948 4.84331 75.1948 3.12549ZM75.7356 8.16762H81.4856V26.9205H75.7356V8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M94.186 27.1909C88.6746 27.1909 84.5073 23.4929 84.5073 17.5441C84.5073 11.5953 88.778 7.89722 94.2576 7.89722C99.7371 7.89722 104.008 11.5953 104.008 17.5441C104.008 23.4929 99.7053 27.1909 94.1939 27.1909H94.186ZM94.186 22.2124C96.2378 22.2124 98.1545 20.7014 98.1545 17.5441C98.1545 14.3868 96.2697 12.8757 94.2576 12.8757C92.2455 12.8757 90.3607 14.355 90.3607 17.5441C90.3607 20.7332 92.1103 22.2124 94.1939 22.2124H94.186Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/g&gt;
&lt;defs&gt;
&lt;clipPath id=&quot;clip0_55_510&quot;&gt;
&lt;rect width=&quot;104&quot; height=&quot;27.1909&quot; fill=&quot;white&quot;&gt;&lt;/rect&gt;
&lt;/clipPath&gt;
&lt;/defs&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Cloud-native SaaS platform&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Duwio&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Working with Spacesuit Media, we transformed years of experience in image delivery into Duwio - a new SaaS platform for creative professionals, re-engineered from the ground up on AWS.&lt;/p&gt;&lt;p&gt;Built on an AWS well-architected foundation, it enables photographers and agencies to store, tag, search and deliver images seamlessly from anywhere in the world.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;
&lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/gt-world-powered-by-sro&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/gtworld-lead.jpg&quot; alt=&quot;GT World racing cars in motion&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 185 68&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;path d=&quot;M7.38,67.68V64c0-.55,0-1.82,0-2.21-.15.37-.45,1.09-.7,1.66l-2,4.46-2-4.46c-.26-.57-.56-1.29-.71-1.66,0,.39,0,1.66,0,2.21v3.68H0v-10H1.93L4,62.19c.25.56.55,1.32.68,1.68.13-.37.42-1.1.68-1.68l2-4.54h2v10Zm9.7.16c-2.74,0-4.35-2.12-4.35-5.17s1.61-5.18,4.35-5.18,4.36,2.12,4.36,5.18S19.82,67.84,17.08,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.29-1.39,2.29-3.18S18.7,59.48,17.08,59.48Zm11.7.15v8.05h-2V59.63H23.89v-2h7.77v2Zm9.68,8.21c-2.73,0-4.35-2.12-4.35-5.17s1.62-5.18,4.35-5.18,4.36,2.12,4.36,5.18S41.2,67.84,38.46,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.3-1.39,2.3-3.18S40.08,59.48,38.46,59.48ZM52,67.68l-1.79-3.61h-2v3.61h-2v-10h4.67c1.89,0,3.46,1.05,3.46,3.18a2.85,2.85,0,0,1-1.93,3l1.93,3.9ZM50.78,59.6H48.16v2.58h2.62c.93,0,1.43-.43,1.43-1.3S51.67,59.6,50.78,59.6Zm10,8.24A4.64,4.64,0,0,1,56.93,66l1.44-1.29a3.26,3.26,0,0,0,2.57,1.15c1.19,0,1.75-.33,1.75-1.09s-.35-.93-2.24-1.36-3.14-1-3.14-3c0-1.82,1.61-2.94,3.58-2.94a4.8,4.8,0,0,1,3.66,1.58l-1.45,1.4a3.08,3.08,0,0,0-2.28-1c-1.07,0-1.43.46-1.43.91,0,.63.43.83,2,1.2s3.35.92,3.35,3.09C64.76,66.55,63.56,67.84,60.82,67.84Zm11.46-3.71H70.07v3.55h-2v-10h4.38c1.89,0,3.46,1.05,3.46,3.18C75.91,63.15,74.36,64.13,72.28,64.13Zm.1-4.53H70.07v2.58h2.34c.93,0,1.43-.43,1.43-1.3S73.27,59.6,72.38,59.6ZM83,67.84c-2.74,0-4.36-2.12-4.36-5.17s1.62-5.18,4.36-5.18,4.35,2.12,4.35,5.18S85.7,67.84,83,67.84Zm0-8.36c-1.62,0-2.3,1.4-2.3,3.19s.68,3.18,2.3,3.18,2.29-1.39,2.29-3.18S84.59,59.48,83,59.48Zm13.5,8.2-1.79-3.61h-2v3.61h-2v-10h4.67c1.9,0,3.46,1.05,3.46,3.18a2.86,2.86,0,0,1-1.92,3l1.92,3.9ZM95.28,59.6H92.66v2.58h2.62c.93,0,1.43-.43,1.43-1.3S96.17,59.6,95.28,59.6Zm11.1,0v8.05h-2V59.63H101.5v-2h7.76v2Zm9.32,8.21A4.63,4.63,0,0,1,111.81,66l1.44-1.29a3.25,3.25,0,0,0,2.57,1.15c1.19,0,1.75-.33,1.75-1.09s-.35-.93-2.24-1.36-3.14-1-3.14-3c0-1.82,1.61-2.94,3.58-2.94a4.8,4.8,0,0,1,3.66,1.58L118,60.47a3.08,3.08,0,0,0-2.28-1c-1.07,0-1.43.46-1.43.91,0,.63.43.83,2,1.2s3.35.92,3.35,3.09C119.64,66.55,118.44,67.84,115.7,67.84Zm18.64,0c-2.63,0-4.39-2-4.39-5.17s1.84-5.18,4.46-5.18A3.72,3.72,0,0,1,138.2,60l-1.9.79a1.94,1.94,0,0,0-1.92-1.31c-1.5,0-2.36,1.32-2.36,3.19s.87,3.21,2.37,3.21,1.85-.65,2-1.52h-1.59V62.48h3.59V63.8A3.77,3.77,0,0,1,134.34,67.84Zm13.4-.16L146,64.07h-2v3.61h-2v-10h4.67c1.89,0,3.45,1.05,3.45,3.18a2.85,2.85,0,0,1-1.92,3l1.92,3.9Zm-1.19-8.08h-2.62v2.58h2.62c.94,0,1.44-.43,1.44-1.3S147.44,59.6,146.55,59.6Zm10.82,8.24c-2.73,0-4.35-2.12-4.35-5.17s1.62-5.18,4.35-5.18,4.36,2.12,4.36,5.18S160.11,67.84,157.37,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.3-1.39,2.3-3.18S159,59.48,157.37,59.48Zm11.8,8.36c-2.43,0-4.06-1.63-4.06-4.56V57.65h2v5.6c0,1.61.77,2.63,2,2.63s2.06-1,2.06-2.6V57.65h2v5.6C173.23,66.16,171.72,67.84,169.17,67.84Zm12.2-3.71h-2.2v3.55h-2v-10h4.39c1.89,0,3.45,1.05,3.45,3.18C185,63.15,183.45,64.13,181.37,64.13Zm.1-4.53h-2.3v2.58h2.33c.94,0,1.44-.43,1.44-1.3S182.36,59.6,181.47,59.6Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M173.27,1.37A22.26,22.26,0,0,0,165.8.13H148.39A8.13,8.13,0,0,0,146,.68a10.17,10.17,0,0,0-2.59,1.53,8.33,8.33,0,0,0-1.87,2.14A5.16,5.16,0,0,0,140.87,7v8.94a5.16,5.16,0,0,1,.69-2.65,8.27,8.27,0,0,1,1.86-2.13A9.68,9.68,0,0,1,146,9.63a8.38,8.38,0,0,1,3.21-.58H165.8a9.14,9.14,0,0,1,3.17.54A8.67,8.67,0,0,1,171.49,11l7.76-6.39A20.25,20.25,0,0,0,173.27,1.37Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M183.49,9.79a15.87,15.87,0,0,0-3.41-4.41c-.23-.21-.45-.43-.69-.63l-.14-.11L171.49,11l.08.06a7.81,7.81,0,0,1,1.74,2.2,5.9,5.9,0,0,1,.62,2.65V29.58a5.94,5.94,0,0,1-2.33,4.78,8.78,8.78,0,0,1-5.8,1.92h11.07a8.81,8.81,0,0,0,5.81-1.92,6,6,0,0,0,2.31-4.3c0-.16,0-.32,0-.48V15.94A13.07,13.07,0,0,0,183.49,9.79Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M176.87,36.28H148.81a10.2,10.2,0,0,1-2.79-.5,8.58,8.58,0,0,1-2.67-1.44,6.79,6.79,0,0,1-1.82-2.13,5.35,5.35,0,0,1-.65-2.27c0-.12,0-.23,0-.35V7a5.16,5.16,0,0,1,.69-2.65,8.33,8.33,0,0,1,1.87-2.14A10.17,10.17,0,0,1,146,.68a8.13,8.13,0,0,1,2.37-.54,22.12,22.12,0,0,0-6.63,1.23,20.1,20.1,0,0,0-6.12,3.38,16,16,0,0,0-4.1,5A13.07,13.07,0,0,0,130,15.94V29.58a13.07,13.07,0,0,0,1.51,6.15,16,16,0,0,0,4.1,5,20.1,20.1,0,0,0,6.12,3.38,22.26,22.26,0,0,0,7.47,1.24H165.8a22.26,22.26,0,0,0,7.47-1.24,20.1,20.1,0,0,0,6.12-3.38,15.9,15.9,0,0,0,4.1-5,13.16,13.16,0,0,0,1.5-5.67,6,6,0,0,1-2.31,4.3A8.81,8.81,0,0,1,176.87,36.28Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M16.57,0a19.37,19.37,0,0,0-6.31,1A17.57,17.57,0,0,0,5,3.86a14.13,14.13,0,0,0-3.64,4.3A11.07,11.07,0,0,0,.07,12.4,10.19,10.19,0,0,0,0,13.64a9.76,9.76,0,0,0,.07,1.22,11,11,0,0,0,1.28,4.2A14.48,14.48,0,0,0,5,23.37a17.28,17.28,0,0,0,5.26,2.86,19.19,19.19,0,0,0,6.35,1.06h22.3a6,6,0,0,1,3.91,1.34,4,4,0,0,1,1.66,3.18A3.44,3.44,0,0,1,44,33.53,5.52,5.52,0,0,1,42.74,35,6.54,6.54,0,0,1,41,36.12a5.79,5.79,0,0,1-2.12.48H.07v8.79H39a18.3,18.3,0,0,0,6.28-1,17.14,17.14,0,0,0,5.27-2.87,13.87,13.87,0,0,0,3.56-4.3,11.37,11.37,0,0,0,1.31-5.42,11.59,11.59,0,0,0-1.23-5.26,14,14,0,0,0-3.45-4.33,16.63,16.63,0,0,0-5.26-3,19.77,19.77,0,0,0-6.62-1.08H16.57a6.41,6.41,0,0,1-3.76-1.24,3.86,3.86,0,0,1-1.74-3.29,3.48,3.48,0,0,1,.54-1.88A5.57,5.57,0,0,1,13,10.3a5.93,5.93,0,0,1,1.78-.93,13.87,13.87,0,0,1,4.46-.58h36V0Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M112.07,29.07a17.19,17.19,0,0,0,6.19-5.45A13.86,13.86,0,0,0,120,20.05a11.67,11.67,0,0,0,.62-3.73V15.05a11.6,11.6,0,0,0-1.28-5.3,16.34,16.34,0,0,0-3.48-4.62,18.29,18.29,0,0,0-5.26-3.41A22.2,22.2,0,0,0,104.09,0H65.52V8.8h35.86a8.82,8.82,0,0,1,3.14.57,9.21,9.21,0,0,1,2.67,1.53,7.76,7.76,0,0,1,1.86,2.2,5.27,5.27,0,0,1,.7,2.58,5.51,5.51,0,0,1-.66,2.68,7.09,7.09,0,0,1-1.82,2.14,9,9,0,0,1-2.67,1.43,10,10,0,0,1-3.22.51H76.69c-6.16,0-11.15,4.1-11.15,9.17V45.39H76.69V35.15c0-1.94,1.94-3.53,4.31-3.53h20.38l7.36,13.77h12.15Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;React Native mobile app&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;SRO Motorsports Group&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Si Novi partnered with Whiteflame and SRO Motorsports Group to build a new GT World app, replacing a Europe-only version with one that covers every SRO championship worldwide.&lt;/p&gt;&lt;p&gt;It brings together live video, timing, schedules, team data and race reminders each fan can tune to the series they follow, on a single React Native codebase over a serverless AWS backend.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;

    &lt;/div&gt;
&lt;/div&gt;&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>From Early AWS Adopters to Select Tier Partner</title>
        <link href="https://sinovi.uk/articles/aws-select-tier-partner"/>
        <id>https://sinovi.uk/articles/aws-select-tier-partner</id>
        <published>2026-03-25T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <summary>Si Novi has been validated as an AWS Select Tier Partner on the Services path. Our journey from early AWS adoption to recognition in the AWS Partner Network.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;photo&quot; class=&quot;editorial-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-select-tier-partner-si-novi.jpg&quot; alt=&quot;AWS Select Tier Partner Badge overlaid on image of the AWS Summit London&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;Si Novi is now a Select Tier partner in the AWS Partner Network&lt;/h2&gt;

        &lt;p&gt;We&#39;ve recently been validated as a Select Tier partner in the AWS Partner Network, on the Services path. It&#39;s a milestone worth marking because it formally recognises how we&#39;ve been working for a long time.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;h2 id=&quot;early-adoption&quot;&gt;Early adoption&lt;/h2&gt;

        &lt;p&gt;We started using AWS in the early 2010s, at a time when most of the projects we worked on were heading to traditional hosting providers with a single server running a web application, database and file storage all on one box. When we started exploring AWS, what struck us wasn&#39;t just that you could host things differently, it was that you could separate concerns entirely. S3 for storage, RDS for databases, EC2 for compute - each one a managed service you could rely on independently, with its own durability, scaling and lifecycle.&lt;/p&gt;

        &lt;p&gt;That&#39;s a more significant transition than it sounds. It&#39;s not just swapping one server provider for another, it changes how you approach architecture, application and business logic, deployment and scaling from the ground up.&lt;/p&gt;

        &lt;h2 id=&quot;infrastructure-evolution&quot;&gt;Infrastructure evolution&lt;/h2&gt;

        &lt;p&gt;How we manage infrastructure has evolved significantly too. In the early days on AWS it was console work - clicking through the AWS dashboard, configuring things manually, and doing your best to document what you&#39;d done so you could replicate it later. CloudFormation brought infrastructure-as-code into the picture, which was a step forward, though debugging huge JSON or YAML templates could be frustrating. But the shift that&#39;s made the biggest difference for us has been AWS CDK, where we can define infrastructure in real code, with the expressiveness and reuse that brings.&lt;/p&gt;

        &lt;h2 id=&quot;founding-si-novi-and-choosing-serverless&quot;&gt;Founding Si Novi and choosing serverless&lt;/h2&gt;

        &lt;p&gt;When we founded Si Novi in 2018, we made a conscious decision to add serverless application development to our practice, using Lambda and DynamoDB. That was a natural extension of our experience with AWS and the direction we were already heading in. Serverless felt like the next step in the evolution with even more managed services, more abstraction, and an even greater emphasis on building applications without worrying about the underlying infrastructure.&lt;/p&gt;

        &lt;p&gt;Serverless structures aligned perfectly with our approach to building well-architected systems that could scale and evolve over time, and put more tools in our hands to choose the right components for each client project.&lt;/p&gt;

        &lt;p&gt;In the years that followed we began to blend serverless with event-driven architectures and containerised workloads, building applications which draw on the whole ecosystem of AWS services. A web-based application is no longer an app on a server - it&#39;s a system built on cloud infrastructure.&lt;/p&gt;

        &lt;h2 id=&quot;shaped-by-client-work&quot;&gt;Shaped by client work&lt;/h2&gt;

        &lt;p&gt;This evolution over 10-15 years has been shaped almost entirely by our client work. The systems we build have become more ambitious as the AWS platform has matured, and as our clients&#39; needs have grown.&lt;/p&gt;

        &lt;p&gt;The work now involves well-architected systems with clear separation of concerns, managed services where they make sense, and infrastructure that can scale without requiring a rethink every time something changes.&lt;/p&gt;

        &lt;p&gt;Many of our clients have been with us for years, and their platforms have evolved alongside our approach. That long-term relationship is a big part of how we&#39;ve got here.&lt;/p&gt;

        &lt;h2 id=&quot;the-partner-journey&quot;&gt;Becoming a partner&lt;/h2&gt;

        &lt;p&gt;Becoming a partner grew out of all this quite naturally. We&#39;ve been attending AWS events for years - summits, partner days, community meetups - and engaging more closely with AWS teams along the way. At a certain point, formalising the relationship just made sense.&lt;/p&gt;

        &lt;p&gt;The Select Tier validation isn&#39;t a case of signing up, but rather it requires demonstrated client workloads, ongoing revenue, technical certifications, and accreditations across the team and the wider network we work with. Meeting those requirements felt less like reaching for something new and more like a recognition of what was already in place.&lt;/p&gt;

        &lt;figure class=&quot;badge-figure&quot;&gt;
            &lt;img id=&quot;svg&quot; src=&quot;https://sinovi.uk/images/aws-select-tier-badge.svg&quot; alt=&quot;AWS Select Tier Services Partner badge&quot;&gt;
        &lt;/figure&gt;

        &lt;p&gt;What it validates, more than anything, is consistency.&lt;/p&gt;

        &lt;p&gt;We&#39;ve been building and supporting web applications on AWS for over a decade. Not proofs of concept or short-lived experiments, but production systems that businesses rely on - the kind of systems where decisions made early on have a long tail, and where getting the fundamentals right at the start genuinely matters. That&#39;s been our focus throughout, and this is an external confirmation of it.&lt;/p&gt;

        &lt;h2 id=&quot;what-it-means&quot;&gt;What it means for our clients&lt;/h2&gt;

        &lt;p&gt;For our clients, the day-to-day doesn&#39;t change. Same team, same approach, same focus on building things well and then staying involved to support and evolve them over time. What the partnership does provide is a closer alignment with AWS, and better access to partner programmes, support resources, and the ability to engage more directly with AWS where it benefits a project. The fundamentals remain exactly as they were with our passion for technology and the web brought to life on the AWS platform.&lt;/p&gt;

        &lt;p&gt;We didn&#39;t set out to become a partner. We set out to build good systems on AWS, and this is where that&#39;s led.&lt;/p&gt;

    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;View our AWS Partner Network profile:&lt;/strong&gt; &lt;a href=&quot;https://partners.amazonaws.com/partners/0018a00001oDg3GAAS/Si%20Novi%20Limited&quot;&gt;https://partners.amazonaws.com/partners/0018a00001oDg3GAAS/Si%20Novi%20Limited&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=From%20Early%20AWS%20Adopters%20to%20Select%20Tier%20Partner%20-%20https://sinovi.uk/articles/aws-select-tier-partner%20-%204%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/aws-select-tier-partner&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=From%20Early%20AWS%20Adopters%20to%20Select%20Tier%20Partner%20-%20https://sinovi.uk/articles/aws-select-tier-partner&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>High availability strategies for web applications on AWS</title>
        <link href="https://sinovi.uk/articles/high-availability-strategies-for-websites-and-web-applications-on-aws"/>
        <id>https://sinovi.uk/articles/high-availability-strategies-for-websites-and-web-applications-on-aws</id>
        <published>2026-03-02T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="Infrastructure"/>
        <category term="High Availability"/>
        <category term="CloudFront"/>
        <category term="Security"/>
        <summary>Practical high availability strategies for websites and web applications on AWS. From traffic shaping and caching to autoscaling, WAF and multi-AZ resilience.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;illustration&quot; class=&quot;editorial-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/high-availability-strategies-aws.jpg&quot; alt=&quot;Screen-print illustration of a crowd reaching towards a monitor, in layered teal and lime silhouettes&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;Designing for the moment your website actually gets attention&lt;/h2&gt;
        &lt;p&gt;There is a very predictable pattern every time a founder walks into Dragon&#39;s Den. The pitch lands, thousands of people reach for their phones to Google the business and within minutes the site is either crawling or completely gone. It gets blamed on &#39;too much traffic&#39;, as if success itself broke the thing, when in reality the infrastructure was probably only ever designed for a quiet Tuesday afternoon.&lt;/p&gt;

        &lt;p&gt;Lately I&#39;ve noticed more and more sites that just feel... tired. Slow to respond, occasionally throwing a 502, sometimes fine, sometimes not. In many cases it is not a dramatic failure, just a system running close to the edge because it was never designed with peaks in mind, or because it is sharing infrastructure with who-knows-what, or because it is quietly serving a steady stream of bot traffic that nobody has really taken seriously.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;p&gt;High availability is not about ticking a box that says &#39;multi-az enabled&#39;. It is about stepping back and asking how this thing behaves when real life happens.&lt;/p&gt;

        &lt;h2 id=&quot;start-with-the-business-model&quot;&gt;Start with the business model, not the instance size&lt;/h2&gt;

        &lt;p&gt;Before we talk about ECS clusters or Lambda concurrency, we talk about the business. When does traffic spike? Is it predictable, like race weekends or product launches, or is it chaotic and campaign-driven? Does traffic double on a Friday afternoon newsletter, or is it a steady hum all week and then madness once a month?&lt;/p&gt;

        &lt;p&gt;Designing around the average is usually the mistake. Systems do not fail on average days. They fail on peak days, and peak days are often entirely foreseeable if you look at the commercial model rather than the CPU graph.&lt;/p&gt;

        &lt;p&gt;If you know that 80 percent of your revenue lands in a tight window, then your infrastructure should reflect that. Autoscaling policies can be tuned around known patterns, capacity can be biased toward expected surges, and testing can focus on the moments that matter rather than some artificial steady state that never really happens.&lt;/p&gt;

        &lt;h2 id=&quot;elasticity&quot;&gt;Elasticity is powerful, but only if the app allows it&lt;/h2&gt;

        &lt;p&gt;On Amazon Web Services, scaling out is mechanically straightforward. ECS will happily run more tasks, whether on EC2 or Fargate. Lambda will spin up additional executions at an impressive rate. The cloud is not usually the bottleneck.&lt;/p&gt;

        &lt;p&gt;The application often is.&lt;/p&gt;

        &lt;p&gt;If session state is tied to a single container, horizontal scaling becomes awkward. If health checks always return 200 even when the database is on fire, the load balancer has no idea anything is wrong. If the database connection pool is undersized, doubling your task count may simply move the bottleneck from CPU to connection exhaustion.&lt;/p&gt;

        &lt;p&gt;With Lambda, concurrency can scale rapidly, but downstream systems still have limits. A burst of invocations hitting a relational database with tight connection caps can cause more harm than good. In those cases we tend to introduce queues, limit concurrency deliberately, or move expensive work out of the request path altogether.&lt;/p&gt;

        &lt;p&gt;Elasticity works best when the application is stateless, decoupled and designed to share load cleanly across multiple instances and availability zones.&lt;/p&gt;

        &lt;blockquote&gt;
            High availability is not about ticking a box that says &#39;multi-az enabled&#39;. It is about stepping back and asking how this thing behaves when real life happens.
        &lt;/blockquote&gt;

        &lt;h2 id=&quot;unwanted-traffic&quot;&gt;Unwanted traffic is still traffic&lt;/h2&gt;

        &lt;p&gt;One of the more sobering realisations for many clients is how much of their traffic is not customers at all. It is bots scraping content, automated scanners wandering through random URLs looking for something exploitable, scripts poking at old WordPress paths on a stack that has never seen WordPress, and the occasional overenthusiastic client retrying failed requests in tight loops until something gives.&lt;/p&gt;

        &lt;p&gt;Left unchecked, your application will serve all of it quite happily.&lt;/p&gt;

        &lt;p&gt;This is where WAF and CloudFront earn their keep. Managed rule sets take care of a lot of commodity attack patterns. Rate-based rules allow you to say, calmly and automatically, that 400 requests per minute to a login endpoint from a single IP is not normal behaviour. Bot control lets you distinguish between genuine search engine crawlers and suspicious automation so that you can treat them differently rather than blocking blindly.&lt;/p&gt;

        &lt;p&gt;We often add pragmatic rules around excessive 404 responses as well. If a client is requesting dozens of non-existent paths in quick succession, that is rarely someone browsing politely. Blocking that at the edge means the request never reaches your containers, never opens a database connection, never consumes application CPU. It is a small decision that adds up quickly.&lt;/p&gt;

        &lt;p&gt;High availability is partly about capacity, but it is also about refusing to waste it.&lt;/p&gt;

        &lt;h2 id=&quot;offloading&quot;&gt;Build for scale by offloading aggressively&lt;/h2&gt;

        &lt;p&gt;A common anti-pattern is letting the application server do everything. Serving large images, streaming downloads, rendering identical responses repeatedly for anonymous users, performing heavy computations inline with web requests. It works when traffic is low, then creaks under load.&lt;/p&gt;

        &lt;p&gt;Static assets belong in S3, fronted by CloudFront. That single move can remove a surprising amount of pressure from the origin. Assets are cached at the edge, delivered closer to users and scaled automatically. Your containers can then focus on actual application logic rather than acting as a file server.&lt;/p&gt;

        &lt;p&gt;Background processing should be decoupled from user-facing requests. Queues absorb spikes. Workers process jobs at a controlled rate. Managed services such as RDS, ElastiCache and S3 are designed to scale in ways that a single VM simply is not.&lt;/p&gt;

        &lt;p&gt;The more work you can push to services that are effectively &#39;limitless&#39; from your perspective, the more headroom your core application retains when traffic surges.&lt;/p&gt;

        &lt;h2 id=&quot;caching&quot;&gt;Caching is where performance is won or lost&lt;/h2&gt;

        &lt;p&gt;Caching tends to be either ignored or overused.&lt;/p&gt;

        &lt;p&gt;At the edge, CloudFront can cache not just assets but API responses and even full HTML pages. For content that does not change per user, this can reduce origin load dramatically. But cache keys need care. Forget to vary by query string or header and you may serve the wrong thing. Cache personalised content and you create problems that are far worse than a slow page.&lt;/p&gt;

        &lt;p&gt;For content-heavy sites, short-lived HTML caching for anonymous users can transform performance. A page that would normally execute several database queries and render templates becomes a simple cache lookup for the majority of traffic. Multiply that by thousands of requests and the impact is obvious.&lt;/p&gt;

        &lt;p&gt;At the application layer, Redis is invaluable for session storage and frequently accessed lookups. It reduces database pressure and smooths out spikes. But cache invalidation still needs thought. Expiry times, write-through strategies and fallback behaviour when the cache is cold all matter. Cache should accelerate a well-behaved system, not hide an inefficient one.&lt;/p&gt;

        &lt;blockquote&gt;
            If your website collapses the moment it receives attention, that is not success exposing a flaw in the cloud. It is a design that never expected to succeed.
        &lt;/blockquote&gt;

        &lt;h2 id=&quot;resilience-across-azs&quot;&gt;Resilience across availability zones&lt;/h2&gt;

        &lt;p&gt;Single availability zone deployments are cheaper and simpler, right up until they are not.&lt;/p&gt;

        &lt;p&gt;We generally deploy across at least two zones, with load balancers distributing traffic and replacing unhealthy targets automatically. Databases are configured for multi-az where the business case justifies it, so that failover is automatic rather than a panicked manual exercise.&lt;/p&gt;

        &lt;p&gt;The aim is not perfection, it is resilience. When something degrades, traffic shifts. When an instance fails, another takes its place. Users ideally do not notice.&lt;/p&gt;

        &lt;h2 id=&quot;in-summary&quot;&gt;In summary&lt;/h2&gt;

        &lt;p&gt;High availability is not magic and it is not a single feature toggle. It is the accumulation of sensible, sometimes unglamorous decisions:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;Understand real traffic patterns and design for peaks, not averages&lt;/li&gt;
            &lt;li&gt;Scale horizontally with proper guardrails around databases and downstream systems&lt;/li&gt;
            &lt;li&gt;Filter and rate limit unwanted traffic at the edge&lt;/li&gt;
            &lt;li&gt;Offload static and heavy work to services built to scale&lt;/li&gt;
            &lt;li&gt;Use caching carefully and deliberately&lt;/li&gt;
            &lt;li&gt;Monitor the system so you can see problems before users do&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;If your website collapses the moment it receives attention, that is not success exposing a flaw in the cloud. It is a design that never expected to succeed.&lt;/p&gt;

        &lt;p&gt;When done properly, a traffic spike should feel almost boring. Instances scale out, caches warm up, unwanted traffic is filtered quietly at the edge and users simply carry on. That kind of boring is exactly what you want.&lt;/p&gt;
    &lt;/article&gt;

    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=High%20availability%20strategies%20for%20websites%20and%20web%20applications%20on%20AWS%20-%20https://sinovi.uk/articles/high-availability-strategies-for-websites-and-web-applications-on-aws%20-%207%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/high-availability-strategies-for-websites-and-web-applications-on-aws&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=High%20availability%20strategies%20for%20websites%20and%20web%20applications%20on%20AWS%20-%20https://sinovi.uk/articles/high-availability-strategies-for-websites-and-web-applications-on-aws&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>AWS Lambda Node.js 18 and 16 end of support: March 2026</title>
        <link href="https://sinovi.uk/articles/aws-lambda-end-of-support-for-nodejs-18"/>
        <id>https://sinovi.uk/articles/aws-lambda-end-of-support-for-nodejs-18</id>
        <published>2025-10-29T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="Lambda"/>
        <category term="Node.js"/>
        <category term="Serverless"/>
        <category term="Software Development"/>
        <summary>AWS has extended Lambda end of support for Node.js 18 and 16 to 9 March 2026. What it means for your serverless applications and why not to delay migration.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;aws-news&quot; class=&quot;editorial-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Lambda, Node.js 18&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Lambda, Node.js 18&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2 id=&quot;intro&quot;&gt;AWS extends Node 18 and Node 16 support - what this reprieve means&lt;/h2&gt;

        &lt;p&gt;
        If you were gearing up for AWS Lambda to pull the plug on &lt;strong&gt;Node.js 18&lt;/strong&gt; and &lt;strong&gt;Node.js 16&lt;/strong&gt; this week, you can breathe - but only a little. AWS has announced a new date: &lt;strong&gt;9 March 2026&lt;/strong&gt;. The 1 November cutoff has officially been pushed back by four months. A stay of execution, then - not a pardon.
        &lt;/p&gt;

        &lt;p&gt;
        AWS quietly updated its &lt;a href=&quot;https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lambda runtimes documentation&lt;/a&gt; in &lt;strong&gt;August 2025&lt;/strong&gt; to reflect the new March 2026 deadline. The change effectively gives everyone a bit more breathing space, but it doesn&#39;t change the outcome: Node 18 and 16 are still heading for retirement.
        &lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

  &lt;p&gt;
    For those who&#39;ve spent the last fortnight frantically auditing functions, this is welcome news. For everyone else, it&#39;s a reminder that AWS can (and will) change course, but the end result is the same. These runtimes are still on borrowed time.
  &lt;/p&gt;

  &lt;p&gt;
    So rather than tearing up the migration checklist, keep it open. The extra time is there to test, not to procrastinate!
  &lt;/p&gt;

  &lt;h2 id=&quot;what-happens-now&quot;&gt;What actually happens now&lt;/h2&gt;

  &lt;p&gt;
    AWS has essentially hit snooze on the final phase of the Node 18 and 16 deprecation plan. Here&#39;s the updated picture:
  &lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;September 2025:&lt;/strong&gt; AWS stopped releasing patches for Node 18. No more bug fixes or performance updates.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;October 2025:&lt;/strong&gt; New function creation using Node 18 / 16 disabled in the console and APIs.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;9 March 2026:&lt;/strong&gt; The hard stop. From this date you won&#39;t be able to update, redeploy or modify existing functions using those runtimes.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h2 id=&quot;the-illusion-of-it-still-works&quot;&gt;The illusion of &quot;it still works&quot;&lt;/h2&gt;

  &lt;p&gt;
    The tricky part of these runtime deprecations is that, on the surface, nothing breaks immediately. Your users won&#39;t see errors, dashboards won&#39;t flash red, and your automated monitoring probably won&#39;t flag anything. It lulls teams into thinking they can postpone the work. But this is one of those rare moments where inaction quietly increases risk every day.
  &lt;/p&gt;

  &lt;p&gt;
    Unsupported runtimes are more than a theoretical problem. Once Node 18 and 16 fall off the patch cycle, any new vulnerabilities discovered in the Node core or dependent libraries remain unpatched. For functions that process customer data, interact with AWS services, or connect to public APIs, that&#39;s a material security exposure. Auditors and cyber teams will spot it quickly, and regulators increasingly view unsupported environments as a compliance failure.
  &lt;/p&gt;

  &lt;p&gt;
    Even if security isn&#39;t your main concern, there&#39;s a reliability angle. Lambda itself continues to evolve behind the scenes. Over time, infrastructure updates or changes in AWS&#39;s internal execution environment can cause older runtimes to behave unpredictably. It doesn&#39;t happen overnight - but when it does, you won&#39;t get support for it.
  &lt;/p&gt;

  &lt;h2 id=&quot;why-this-isnt-just-a-developer-problem&quot;&gt;Why this isn&#39;t just a developer problem&lt;/h2&gt;

  &lt;p&gt;
    CTOs, engineering directors and founders often underestimate how many small but critical systems depend on Lambda. It&#39;s the unsung hero behind automation, cron jobs, image resizing, S3 triggers, and internal APIs. These are the &quot;set and forget&quot; functions that quietly power your operations. Because they require no infrastructure management, they tend to go untouched for years - until something like this deadline brings them back into view.
  &lt;/p&gt;

  &lt;p&gt;
    In a typical SME environment, you might find dozens of small Lambda functions scattered across multiple AWS accounts. Some run every minute, others only on specific events. They all need reviewing. Treat this like a digital MOT: the sooner you inspect them, the less likely you&#39;ll be caught out when one stops behaving after an AWS change next spring.
  &lt;/p&gt;

  &lt;h2 id=&quot;node-22-is-the-new-standard-but-its-not-a-quick-switch&quot;&gt;Node 22 is the new standard - but it&#39;s not a quick switch&lt;/h2&gt;

  &lt;p&gt;
    The newest supported runtime is Node 22 and is a likely candidate for upgrading legacy functions. On paper, that sounds simple - change the runtime setting, redeploy, done. In reality, it rarely goes that smoothly.
  &lt;/p&gt;

  &lt;p&gt;
    Functions built years ago on older Node runtimes tend to come with older npm packages. Some of those dependencies may have since been deprecated, changed APIs, or dropped Node 20+ compatibility altogether. In many cases, the runtime upgrade exposes these buried issues. Code that once compiled fine on Node 14 or 16 can suddenly fail because of stricter syntax checks, ES module changes, or transitive dependency mismatches.
  &lt;/p&gt;

  &lt;p&gt;
    So each function should be evaluated. Review its dependencies, rebuild its package-lock file, and test locally under Node 22 before deploying. The aim isn&#39;t just to &quot;get it running&quot;, but to ensure the entire dependency chain is healthy and supported. If you&#39;re using a CI/CD pipeline, now&#39;s the time to add automated tests that run against the new runtime - not just unit tests, but integration checks that confirm AWS service calls still behave as expected.
  &lt;/p&gt;

  &lt;h2 id=&quot;the-aws-sdk-surprise-v2-is-gone&quot;&gt;The AWS SDK surprise - v2 is gone&lt;/h2&gt;

  &lt;p&gt;
    One significant change is that &lt;strong&gt;the AWS SDK for JavaScript v2 is no longer included&lt;/strong&gt; in the Node 20 runtime. For years, AWS shipped v2 as part of the runtime, so you could simply write:
  &lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;const AWS = require(&#39;aws-sdk&#39;);
const s3 = new AWS.S3();
&lt;/code&gt;&lt;/pre&gt;

  &lt;p&gt;
    That&#39;s no longer the case. Node 20 only includes &lt;strong&gt;AWS SDK v3&lt;/strong&gt;, which is modular and imported per service. It looks more like this:
  &lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;import { S3Client, PutObjectCommand } from &#39;@aws-sdk/client-s3&#39;;
const s3 = new S3Client();
&lt;/code&gt;&lt;/pre&gt;

  &lt;p&gt;
    The change is positive in the long run - v3 loads faster and reduces cold start times - but it means older functions won&#39;t work without adjustment. If you&#39;re still using v2, you&#39;ll need to either include it in your deployment bundle or refactor your code to v3 syntax. Including v2 manually works as a stopgap, but refactoring is cleaner and avoids future runtime surprises.
  &lt;/p&gt;

  &lt;p&gt;
    For larger teams, this is a good opportunity to standardise on v3 across the codebase. It simplifies dependency management and aligns with AWS&#39;s own documentation going forward.
  &lt;/p&gt;

  &lt;h2 id=&quot;finding-whats-affected&quot;&gt;Finding what&#39;s affected&lt;/h2&gt;

  &lt;p&gt;
    The easiest way to see which of your Lambda functions still use deprecated runtimes is through the AWS CLI. Run this for each region:
  &lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;aws lambda list-functions &#92;
  --region eu-west-2 &#92;
  --query &quot;Functions[?Runtime==&#39;nodejs18.x&#39; || Runtime==&#39;nodejs16.x&#39;].FunctionName&quot;&lt;/code&gt;&lt;/pre&gt;

  &lt;p&gt;
    Alternatively, you can use &lt;strong&gt;Trusted Advisor&lt;/strong&gt; or the &lt;strong&gt;AWS Health Dashboard&lt;/strong&gt; which now highlights deprecated runtime usage across your organisation. The Health event includes a list of affected functions by name and region - worth reviewing even if you think everything&#39;s up to date. Forgotten test environments and legacy staging stacks are often where these old functions hide.
  &lt;/p&gt;

  &lt;p&gt;
    For businesses with multiple AWS accounts, it&#39;s wise to script the discovery process. Loop through all accounts via AWS Organizations or a central credentials profile and generate a simple report. It&#39;s not glamorous work, but it&#39;s better than a support call from a client wondering why their nightly export job hasn&#39;t run for two days.
  &lt;/p&gt;

  &lt;h2 id=&quot;practical-migration-strategy&quot;&gt;Practical migration strategy&lt;/h2&gt;

  &lt;p&gt;
    Once you&#39;ve identified affected functions, follow a structured plan:
  &lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Audit:&lt;/strong&gt; List every function still running Node 18 or 16. Include its triggers (S3, API Gateway, EventBridge, etc.) and dependencies.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Assess:&lt;/strong&gt; Note which ones handle sensitive data, customer-facing workloads, or high-volume traffic. Prioritise those first.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Test locally:&lt;/strong&gt; Run each function under Node 22, installing dependencies fresh. Resolve compatibility issues early.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Refactor:&lt;/strong&gt; Update AWS SDK usage and replace deprecated npm packages. Consider upgrading to ES modules if appropriate.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Redeploy:&lt;/strong&gt; Once tested, deploy to production using Node 22. Monitor logs closely for the first 24 hours.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Automate:&lt;/strong&gt; Add a runtime check to your CI/CD pipeline so future deployments can&#39;t accidentally use old runtimes.&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;
    Treat this not as a one-off patch but as an opportunity to tighten your development process. Runtime upgrades tend to expose where the gaps are - missing documentation, untested code paths, or inconsistent packaging workflows.
  &lt;/p&gt;

  &lt;h2 id=&quot;what-if-you-do-nothing&quot;&gt;What if you do nothing?&lt;/h2&gt;

  &lt;p&gt;
    The honest answer: nothing dramatic, at first. Your functions won&#39;t suddenly stop running on 9th March. But from that day onwards, you&#39;ll be locked out of making any modifications, and over time that turns into operational risk.
  &lt;/p&gt;

  &lt;p&gt;
    AWS will eventually remove support entirely, and while they rarely pull the plug abruptly, history suggests they will start restricting functionality more aggressively in 2026. When that happens, upgrading late will become more painful because the code will have drifted even further from current standards.
  &lt;/p&gt;

  &lt;p&gt;
    If your Lambdas still run Node 18 or Node 16, the best course of action is clear: upgrade them to Node 22, retest, and redeploy before the March lockout hits. Don&#39;t assume it&#39;s a quick runtime flip - evaluate each function, check dependencies, and modernise where needed.
  &lt;/p&gt;
  &lt;/article&gt;&lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=AWS%20Lambda%20end%20of%20support%20for%20Node.js%2018%20and%20Node.js%2016%20extended%20to%20March%202026%20-%20https://sinovi.uk/articles/aws-lambda-end-of-support-for-nodejs-18%20-%207%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/aws-lambda-end-of-support-for-nodejs-18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=AWS%20Lambda%20end%20of%20support%20for%20Node.js%2018%20and%20Node.js%2016%20extended%20to%20March%202026%20-%20https://sinovi.uk/articles/aws-lambda-end-of-support-for-nodejs-18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Duwio: A cloud-native platform for image management</title>
        <link href="https://sinovi.uk/our-work/duwio"/>
        <id>https://sinovi.uk/our-work/duwio</id>
        <published>2025-10-29T00:00:00.000Z</published>
        <updated>2026-09-11T13:13:59.000Z</updated>
        <summary>How Si Novi and Spacesuit Media built Duwio, a multi-tenant SaaS for creative teams to store, tag, search and deliver high-resolution images, built on AWS.</summary><content type="html">&lt;article style=&quot;--accent: #1DBBED&quot;&gt;

    &lt;div class=&quot;wrap case-opening&quot;&gt;&lt;div class=&quot;project-presentation project-presentation-detail&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;eager&quot; fetchpriority=&quot;high&quot; src=&quot;https://sinovi.uk/images/work/duwio-banner.jpg&quot; alt=&quot;Lewis Hamilton driving a Ferrari Formula 1 car past the grandstands&quot; sizes=&quot;(min-width: 900px) 75vw, 100vw&quot; style=&quot;object-position:center bottom&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;!-- No scoped style block here, and it must stay that way. Scoped styles force WebC to
     keep the &lt;duwio-logo&gt; host so the scope class has an element to sit on. The host
     then takes the caller&#39;s class, the same class this svg already binds, and every
     caller passes positioning: `absolute bottom-20 right-4`. Applied to both, the
     positioned host becomes the svg&#39;s containing block and the offsets land twice, so
     the mark sat 160px off the card&#39;s foot instead of 80. Every other logo in here is
     a bare svg for this reason. --&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 104 28&quot; fill=&quot;none&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;g clip-path=&quot;url(#clip0_55_510)&quot;&gt;
&lt;path d=&quot;M8.27101 7.89722C10.7603 7.89722 12.9075 9.04244 14.0528 10.7523V2.05185H19.8027V26.9205H14.0528V24.2325C13.0109 25.9503 11.0307 27.1909 8.27101 27.1909C3.66628 27.1909 0 23.4292 0 17.5123C0 11.5953 3.66628 7.89722 8.27101 7.89722ZM9.94907 12.9075C7.80179 12.9075 5.84538 14.522 5.84538 17.5123C5.84538 20.5026 7.79384 22.1806 9.94907 22.1806C12.1043 22.1806 14.0528 20.5344 14.0528 17.5441C14.0528 14.5538 12.1361 12.9075 9.94907 12.9075Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M42.4842 26.9205H36.7343V24.3677C35.5891 25.9821 33.577 27.1273 31.0559 27.1273C26.7216 27.1273 23.7949 24.137 23.7949 19.1267V8.16762H29.5051V18.3553C29.5051 20.9082 30.9525 22.3238 33.0998 22.3238C35.2471 22.3238 36.7263 20.9161 36.7263 18.3553V8.16762H42.4763V26.9205H42.4842Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M44.6714 8.16762H50.4213L53.0776 21.5762L56.2349 8.16762H62.3189L65.5159 21.5126L68.1404 8.16762H73.5483L68.4744 26.9205H62.12L59.1616 14.7526L56.0997 26.9205H49.7771L44.6714 8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M75.1948 3.12549C75.1948 1.37585 76.5707 0 78.6225 0C80.6744 0 82.0184 1.37585 82.0184 3.12549C82.0184 4.87512 80.6426 6.21916 78.6225 6.21916C76.6025 6.21916 75.1948 4.84331 75.1948 3.12549ZM75.7356 8.16762H81.4856V26.9205H75.7356V8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M94.186 27.1909C88.6746 27.1909 84.5073 23.4929 84.5073 17.5441C84.5073 11.5953 88.778 7.89722 94.2576 7.89722C99.7371 7.89722 104.008 11.5953 104.008 17.5441C104.008 23.4929 99.7053 27.1909 94.1939 27.1909H94.186ZM94.186 22.2124C96.2378 22.2124 98.1545 20.7014 98.1545 17.5441C98.1545 14.3868 96.2697 12.8757 94.2576 12.8757C92.2455 12.8757 90.3607 14.355 90.3607 17.5441C90.3607 20.7332 92.1103 22.2124 94.1939 22.2124H94.186Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/g&gt;
&lt;defs&gt;
&lt;clipPath id=&quot;clip0_55_510&quot;&gt;
&lt;rect width=&quot;104&quot; height=&quot;27.1909&quot; fill=&quot;white&quot;&gt;&lt;/rect&gt;
&lt;/clipPath&gt;
&lt;/defs&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Cloud-native SaaS platform&lt;/p&gt;
            &lt;p class=&quot;project-panel-date&quot;&gt;Published 2025&lt;/p&gt;&lt;/div&gt;
            &lt;a href=&quot;https://www.duwio.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; class=&quot;project-panel-action&quot;&gt;Visit project website&lt;span class=&quot;project-link-note&quot;&gt;Opens in a new tab&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

    &lt;div class=&quot;wrap case-reading&quot;&gt;
        &lt;div class=&quot;case-grid&quot;&gt;
            &lt;div class=&quot;case-story&quot;&gt;
                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;About Spacesuit Media&lt;/h2&gt;
        &lt;p&gt;Spacesuit Media is a specialist photography and film-making agency working across international motorsport - including Formula 1, Formula E, IndyCar and the British Rally Championship - and other global events. Its in-house software platform, &lt;em&gt;Spacesuit Collections&lt;/em&gt;, had become an indispensable tool for delivering and managing large volumes of imagery across multiple clients and teams.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;div&gt;

    &lt;h3&gt;The opportunity for evolution&lt;/h3&gt;
    &lt;p&gt;With almost a decade of success behind them, Spacesuit wanted to take the next step - to evolve their proven concept into a full SaaS product. &lt;strong&gt;Duwio&lt;/strong&gt; would offer dedicated workspaces for subscribers, modern collaboration tools, and a fresh user experience, all underpinned by a scalable and secure cloud architecture.&lt;/p&gt;

    &lt;h3&gt;The challenge&lt;/h3&gt;
    &lt;p&gt;Creative teams were stuck between consumer tools like Dropbox, Google Drive and WeTransfer - none built for high-volume image workflows - and enterprise DAM platforms with enterprise price tags. Rebuilding a mature application as a multi-tenant platform required more than a design refresh. The system needed to handle isolated data per workspace, user roles and permissions, real-time collaboration and global content delivery - without introducing complexity or performance overheads. At the same time, Spacesuit wanted a foundation that could grow to include new media types such as video and design assets.&lt;/p&gt;

    &lt;h3&gt;Partnering for transformation&lt;/h3&gt;
    &lt;p&gt;Our &lt;a href=&quot;https://sinovi.uk/our-work/spacesuit-media&quot;&gt;previous work with Spacesuit Media&lt;/a&gt; had laid the groundwork for both the collaborative relationships and the technical discovery required to wholistically understand the project and the business goals.&lt;/p&gt;
    &lt;p&gt;Si Novi worked alongside Spacesuit&#39;s core team - Ross (Managing Director), Adam (Designer &amp;amp; Operations) and Jamie (Compliance &amp;amp; Security) - to design both the product experience and the technical framework. Spacesuit Media leaned on our AWS Partner status and extensive AWS experience, with our role combining software engineering, AWS architecture and long-term cloud strategy, guiding the business from traditional hosting to a resilient, automated AWS environment.&lt;/p&gt;
  &lt;/div&gt;&lt;div&gt;
    &lt;h3&gt;Our Solution&lt;/h3&gt;
    &lt;p&gt;Duwio was built as a cloud-native application using the AWS Well-Architected Framework as its guide. Inheriting its core from the original Spacesuit Collections application, the platform runs a containerised PHP stack on &lt;strong&gt;Amazon ECS&lt;/strong&gt; with &lt;strong&gt;Amazon RDS for MySQL&lt;/strong&gt; providing reliable data storage. Assets are served through &lt;strong&gt;Amazon S3&lt;/strong&gt; with an authenticated &lt;strong&gt;Amazon CloudFront&lt;/strong&gt; CDN, ensuring fast, secure delivery to global audiences.&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Amazon ECS&lt;/strong&gt; for containerised application services and managed scaling.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Amazon RDS (MySQL)&lt;/strong&gt; for relational data and workspace isolation.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Amazon S3 + CloudFront&lt;/strong&gt; for deduplicated, high-speed media delivery.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;AWS Lambda&lt;/strong&gt; for background automation such as metadata extraction, thumbnailing and user event notifications.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;AWS Backup&lt;/strong&gt; for cross-region and cross-account protection and recovery of both RDS and S3 data.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;AWS CloudTrail&lt;/strong&gt; for auditing and continuous security visibility.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3&gt;Designed for creative workflows&lt;/h3&gt;
    &lt;p&gt;The new interface prioritises clarity and flow: tagging and folder organisation feel effortless, previews respond instantly, and every workspace has its own secure customer area for gallery delivery. Role-based permissions make collaboration straightforward, letting photographers, editors and assistants work together safely under one account.&lt;/p&gt;

    &lt;img src=&quot;https://sinovi.uk/images/work/duwio.jpg&quot; title=&quot;Duwio workspace interface&quot; alt=&quot;Duwio workspace interface&quot; class=&quot;panel-flex-row--image&quot;&gt;

    &lt;h3&gt;Results and early feedback&lt;/h3&gt;

    &lt;p&gt;Duwio is now live and trusted by global brands including Nissan, Envision Racing and OX Delivers. Spacesuit Media have migrated their entire archive of 600,000 high-res images onto the platform, and users have praised its simplicity, performance and visual cohesion. The AWS foundation allows Spacesuit Media to onboard new clients with confidence while maintaining strict security and performance standards.&lt;/p&gt;

    &lt;h3&gt;What&#39;s next&lt;/h3&gt;
    &lt;p&gt;Si Novi continues to support Spacesuit Media as Duwio grows - adding billing automation, advanced reporting and expanded media support. The platform&#39;s architecture is designed to scale gracefully as the customer base and content volume increase.&lt;/p&gt;
  &lt;/div&gt;&lt;/div&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;case-rail&quot;&gt;

    &lt;!-- Supporting project facts remain available at every screen size. --&gt;
    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;At a glance&lt;/h2&gt;
        &lt;dl class=&quot;case-facts-list&quot;&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Client&lt;/dt&gt;
                &lt;dd&gt;Duwio&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;What we built&lt;/dt&gt;
                &lt;dd&gt;Cloud-native SaaS platform&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Technology&lt;/dt&gt;
                &lt;dd&gt;
&lt;span class=&quot;nowrap&quot;&gt;Amazon ECS,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon RDS for MySQL,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon S3,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon CloudFront,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;AWS Lambda,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;PHP&lt;/span&gt;
&lt;/dd&gt;
            &lt;/div&gt;

            &lt;!-- Says &quot;Published&quot; while `delivered` is unset, which it is on all ten, because
                 the published date is not the date the work shipped. Fill `delivered` in and
                 this becomes &quot;Delivered&quot; with the real year on its own. --&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Published&lt;/dt&gt;
                &lt;dd&gt;&lt;time datetime=&quot;2025-10-29&quot;&gt;2025&lt;/time&gt;&lt;/dd&gt;
            &lt;/div&gt;
        &lt;/dl&gt;

    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
        &lt;div class=&quot;share-links&quot;&gt;
            &lt;a href=&quot;https://bsky.app/intent/compose?text=Duwio:%20A%20cloud-native%20platform%20for%20image%20management%20-%20https://sinovi.uk/our-work/duwio%20-%20A%20case%20study%20of%20our%20recent%20work%20with%20Duwio&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/our-work/duwio&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://tootpick.org/#text=Duwio:%20A%20cloud-native%20platform%20for%20image%20management%20-%20https://sinovi.uk/our-work/duwio&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
        
    &lt;/div&gt;

&lt;/aside&gt;

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;div class=&quot;quote-band quote-band-azure&quot;&gt;
            &lt;div class=&quot;wrap&quot;&gt;
                &lt;figure class=&quot;quote-figure&quot;&gt;
                    &lt;span aria-hidden=&quot;true&quot; class=&quot;quote-ornament&quot;&gt;“&lt;/span&gt;
                    &lt;blockquote&gt;We&#39;re so confident in Duwio that we made Spacesuit the ultimate test case. We&#39;ve moved our entire archive of 600,000 high-res images from our legacy platform into a Duwio workspace. Duwio really is a better way to manage images.&lt;/blockquote&gt;
                    &lt;figcaption&gt;&lt;b&gt;Ross Ringham&lt;/b&gt;, Managing Director &amp;amp; Duwio Founder, Spacesuit Media&lt;/figcaption&gt;
                &lt;/figure&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        

&lt;section class=&quot;section work-related panel-paper&quot;&gt;&lt;div class=&quot;wrap&quot;&gt;
    &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Case studies&lt;/span&gt;&lt;h2&gt;Work we have done for businesses like yours&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/our-work&quot; class=&quot;text-link&quot;&gt;All our work &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
    &lt;div class=&quot;work-index&quot;&gt;
        &lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/rubber-ring-platform-rebuild&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/rr-golf.jpg&quot; alt=&quot;Golf course&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand project-brand-badge&quot;&gt;&lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/clients/rr/rr-logo.png&quot; alt=&quot;&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Insurance platform rebuild&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Rubber Ring&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Rubber Ring&#39;s digital insurance business had outgrown its original platform.&lt;/p&gt;&lt;p&gt;Discover how we rebuilt it on a modern, event-sourced architecture on AWS - a single-table DynamoDB source of truth streamed into a PostgreSQL read model, with containerised React Router 7 and PHP applications on ECS Fargate - and migrated the entire live book in one cutover.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;
&lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/gt-world-powered-by-sro&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/gtworld-lead.jpg&quot; alt=&quot;GT World racing cars in motion&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 185 68&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;path d=&quot;M7.38,67.68V64c0-.55,0-1.82,0-2.21-.15.37-.45,1.09-.7,1.66l-2,4.46-2-4.46c-.26-.57-.56-1.29-.71-1.66,0,.39,0,1.66,0,2.21v3.68H0v-10H1.93L4,62.19c.25.56.55,1.32.68,1.68.13-.37.42-1.1.68-1.68l2-4.54h2v10Zm9.7.16c-2.74,0-4.35-2.12-4.35-5.17s1.61-5.18,4.35-5.18,4.36,2.12,4.36,5.18S19.82,67.84,17.08,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.29-1.39,2.29-3.18S18.7,59.48,17.08,59.48Zm11.7.15v8.05h-2V59.63H23.89v-2h7.77v2Zm9.68,8.21c-2.73,0-4.35-2.12-4.35-5.17s1.62-5.18,4.35-5.18,4.36,2.12,4.36,5.18S41.2,67.84,38.46,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.3-1.39,2.3-3.18S40.08,59.48,38.46,59.48ZM52,67.68l-1.79-3.61h-2v3.61h-2v-10h4.67c1.89,0,3.46,1.05,3.46,3.18a2.85,2.85,0,0,1-1.93,3l1.93,3.9ZM50.78,59.6H48.16v2.58h2.62c.93,0,1.43-.43,1.43-1.3S51.67,59.6,50.78,59.6Zm10,8.24A4.64,4.64,0,0,1,56.93,66l1.44-1.29a3.26,3.26,0,0,0,2.57,1.15c1.19,0,1.75-.33,1.75-1.09s-.35-.93-2.24-1.36-3.14-1-3.14-3c0-1.82,1.61-2.94,3.58-2.94a4.8,4.8,0,0,1,3.66,1.58l-1.45,1.4a3.08,3.08,0,0,0-2.28-1c-1.07,0-1.43.46-1.43.91,0,.63.43.83,2,1.2s3.35.92,3.35,3.09C64.76,66.55,63.56,67.84,60.82,67.84Zm11.46-3.71H70.07v3.55h-2v-10h4.38c1.89,0,3.46,1.05,3.46,3.18C75.91,63.15,74.36,64.13,72.28,64.13Zm.1-4.53H70.07v2.58h2.34c.93,0,1.43-.43,1.43-1.3S73.27,59.6,72.38,59.6ZM83,67.84c-2.74,0-4.36-2.12-4.36-5.17s1.62-5.18,4.36-5.18,4.35,2.12,4.35,5.18S85.7,67.84,83,67.84Zm0-8.36c-1.62,0-2.3,1.4-2.3,3.19s.68,3.18,2.3,3.18,2.29-1.39,2.29-3.18S84.59,59.48,83,59.48Zm13.5,8.2-1.79-3.61h-2v3.61h-2v-10h4.67c1.9,0,3.46,1.05,3.46,3.18a2.86,2.86,0,0,1-1.92,3l1.92,3.9ZM95.28,59.6H92.66v2.58h2.62c.93,0,1.43-.43,1.43-1.3S96.17,59.6,95.28,59.6Zm11.1,0v8.05h-2V59.63H101.5v-2h7.76v2Zm9.32,8.21A4.63,4.63,0,0,1,111.81,66l1.44-1.29a3.25,3.25,0,0,0,2.57,1.15c1.19,0,1.75-.33,1.75-1.09s-.35-.93-2.24-1.36-3.14-1-3.14-3c0-1.82,1.61-2.94,3.58-2.94a4.8,4.8,0,0,1,3.66,1.58L118,60.47a3.08,3.08,0,0,0-2.28-1c-1.07,0-1.43.46-1.43.91,0,.63.43.83,2,1.2s3.35.92,3.35,3.09C119.64,66.55,118.44,67.84,115.7,67.84Zm18.64,0c-2.63,0-4.39-2-4.39-5.17s1.84-5.18,4.46-5.18A3.72,3.72,0,0,1,138.2,60l-1.9.79a1.94,1.94,0,0,0-1.92-1.31c-1.5,0-2.36,1.32-2.36,3.19s.87,3.21,2.37,3.21,1.85-.65,2-1.52h-1.59V62.48h3.59V63.8A3.77,3.77,0,0,1,134.34,67.84Zm13.4-.16L146,64.07h-2v3.61h-2v-10h4.67c1.89,0,3.45,1.05,3.45,3.18a2.85,2.85,0,0,1-1.92,3l1.92,3.9Zm-1.19-8.08h-2.62v2.58h2.62c.94,0,1.44-.43,1.44-1.3S147.44,59.6,146.55,59.6Zm10.82,8.24c-2.73,0-4.35-2.12-4.35-5.17s1.62-5.18,4.35-5.18,4.36,2.12,4.36,5.18S160.11,67.84,157.37,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.3-1.39,2.3-3.18S159,59.48,157.37,59.48Zm11.8,8.36c-2.43,0-4.06-1.63-4.06-4.56V57.65h2v5.6c0,1.61.77,2.63,2,2.63s2.06-1,2.06-2.6V57.65h2v5.6C173.23,66.16,171.72,67.84,169.17,67.84Zm12.2-3.71h-2.2v3.55h-2v-10h4.39c1.89,0,3.45,1.05,3.45,3.18C185,63.15,183.45,64.13,181.37,64.13Zm.1-4.53h-2.3v2.58h2.33c.94,0,1.44-.43,1.44-1.3S182.36,59.6,181.47,59.6Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M173.27,1.37A22.26,22.26,0,0,0,165.8.13H148.39A8.13,8.13,0,0,0,146,.68a10.17,10.17,0,0,0-2.59,1.53,8.33,8.33,0,0,0-1.87,2.14A5.16,5.16,0,0,0,140.87,7v8.94a5.16,5.16,0,0,1,.69-2.65,8.27,8.27,0,0,1,1.86-2.13A9.68,9.68,0,0,1,146,9.63a8.38,8.38,0,0,1,3.21-.58H165.8a9.14,9.14,0,0,1,3.17.54A8.67,8.67,0,0,1,171.49,11l7.76-6.39A20.25,20.25,0,0,0,173.27,1.37Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M183.49,9.79a15.87,15.87,0,0,0-3.41-4.41c-.23-.21-.45-.43-.69-.63l-.14-.11L171.49,11l.08.06a7.81,7.81,0,0,1,1.74,2.2,5.9,5.9,0,0,1,.62,2.65V29.58a5.94,5.94,0,0,1-2.33,4.78,8.78,8.78,0,0,1-5.8,1.92h11.07a8.81,8.81,0,0,0,5.81-1.92,6,6,0,0,0,2.31-4.3c0-.16,0-.32,0-.48V15.94A13.07,13.07,0,0,0,183.49,9.79Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M176.87,36.28H148.81a10.2,10.2,0,0,1-2.79-.5,8.58,8.58,0,0,1-2.67-1.44,6.79,6.79,0,0,1-1.82-2.13,5.35,5.35,0,0,1-.65-2.27c0-.12,0-.23,0-.35V7a5.16,5.16,0,0,1,.69-2.65,8.33,8.33,0,0,1,1.87-2.14A10.17,10.17,0,0,1,146,.68a8.13,8.13,0,0,1,2.37-.54,22.12,22.12,0,0,0-6.63,1.23,20.1,20.1,0,0,0-6.12,3.38,16,16,0,0,0-4.1,5A13.07,13.07,0,0,0,130,15.94V29.58a13.07,13.07,0,0,0,1.51,6.15,16,16,0,0,0,4.1,5,20.1,20.1,0,0,0,6.12,3.38,22.26,22.26,0,0,0,7.47,1.24H165.8a22.26,22.26,0,0,0,7.47-1.24,20.1,20.1,0,0,0,6.12-3.38,15.9,15.9,0,0,0,4.1-5,13.16,13.16,0,0,0,1.5-5.67,6,6,0,0,1-2.31,4.3A8.81,8.81,0,0,1,176.87,36.28Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M16.57,0a19.37,19.37,0,0,0-6.31,1A17.57,17.57,0,0,0,5,3.86a14.13,14.13,0,0,0-3.64,4.3A11.07,11.07,0,0,0,.07,12.4,10.19,10.19,0,0,0,0,13.64a9.76,9.76,0,0,0,.07,1.22,11,11,0,0,0,1.28,4.2A14.48,14.48,0,0,0,5,23.37a17.28,17.28,0,0,0,5.26,2.86,19.19,19.19,0,0,0,6.35,1.06h22.3a6,6,0,0,1,3.91,1.34,4,4,0,0,1,1.66,3.18A3.44,3.44,0,0,1,44,33.53,5.52,5.52,0,0,1,42.74,35,6.54,6.54,0,0,1,41,36.12a5.79,5.79,0,0,1-2.12.48H.07v8.79H39a18.3,18.3,0,0,0,6.28-1,17.14,17.14,0,0,0,5.27-2.87,13.87,13.87,0,0,0,3.56-4.3,11.37,11.37,0,0,0,1.31-5.42,11.59,11.59,0,0,0-1.23-5.26,14,14,0,0,0-3.45-4.33,16.63,16.63,0,0,0-5.26-3,19.77,19.77,0,0,0-6.62-1.08H16.57a6.41,6.41,0,0,1-3.76-1.24,3.86,3.86,0,0,1-1.74-3.29,3.48,3.48,0,0,1,.54-1.88A5.57,5.57,0,0,1,13,10.3a5.93,5.93,0,0,1,1.78-.93,13.87,13.87,0,0,1,4.46-.58h36V0Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M112.07,29.07a17.19,17.19,0,0,0,6.19-5.45A13.86,13.86,0,0,0,120,20.05a11.67,11.67,0,0,0,.62-3.73V15.05a11.6,11.6,0,0,0-1.28-5.3,16.34,16.34,0,0,0-3.48-4.62,18.29,18.29,0,0,0-5.26-3.41A22.2,22.2,0,0,0,104.09,0H65.52V8.8h35.86a8.82,8.82,0,0,1,3.14.57,9.21,9.21,0,0,1,2.67,1.53,7.76,7.76,0,0,1,1.86,2.2,5.27,5.27,0,0,1,.7,2.58,5.51,5.51,0,0,1-.66,2.68,7.09,7.09,0,0,1-1.82,2.14,9,9,0,0,1-2.67,1.43,10,10,0,0,1-3.22.51H76.69c-6.16,0-11.15,4.1-11.15,9.17V45.39H76.69V35.15c0-1.94,1.94-3.53,4.31-3.53h20.38l7.36,13.77h12.15Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;React Native mobile app&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;SRO Motorsports Group&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Si Novi partnered with Whiteflame and SRO Motorsports Group to build a new GT World app, replacing a Europe-only version with one that covers every SRO championship worldwide.&lt;/p&gt;&lt;p&gt;It brings together live video, timing, schedules, team data and race reminders each fan can tune to the series they follow, on a single React Native codebase over a serverless AWS backend.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;

    &lt;/div&gt;
&lt;/div&gt;&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Amazon RDS MySQL 8.0 deprecation and Extended Support</title>
        <link href="https://sinovi.uk/articles/amazon-rds-mysql-8-0-deprecation-extended-support"/>
        <id>https://sinovi.uk/articles/amazon-rds-mysql-8-0-deprecation-extended-support</id>
        <published>2025-07-28T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="Database"/>
        <summary>MySQL 8.0 reaches end of standard support in July 2026 and moves to Amazon RDS Extended Support. How to prepare for an RDS migration or the support costs.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;aws-news&quot; class=&quot;editorial-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — Deprecation notice: RDS MySQL 8.0&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;Deprecation notice&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;RDS MySQL 8.0&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;span class=&quot;context&quot;&gt;
    Database Management
&lt;/span&gt;




        &lt;p&gt;AWS has announced that Amazon RDS for MySQL 8.0 will reach end of standard support on July 31, 2026,
        following the MySQL community&#39;s end of life timeline. This affects all RDS MySQL 8.0 database instances and
        requires immediate planning for either migration to a newer version or transition to Extended Support.&lt;/p&gt;

        &lt;p&gt;The MySQL community will stop providing bug fixes and security patches for MySQL 8.0 in April 2026, and AWS
        follows this community timeline for their managed database services. This means organisations running MySQL
        8.0 on RDS must make important decisions about their database strategy.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;p&gt;As an AWS Partner supporting clients with RDS MySQL deployments, we&#39;re already helping them plan upgrades or manage the transition to Extended Support - ensuring there&#39;s no disruption and no surprise costs.&lt;/p&gt;

        &lt;h2 id=&quot;mysql-8-0-end-of-life-timeline&quot;&gt;MySQL 8.0 end of life timeline&lt;/h2&gt;

        &lt;p&gt;The key dates for MySQL 8.0 deprecation are:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;April 2026&lt;/strong&gt; - MySQL community ends support for MySQL 8.0, no more bug fixes or security
                patches&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;July 31, 2026&lt;/strong&gt; - Amazon RDS ends standard support for MySQL 8.0&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;August 1, 2026 onwards&lt;/strong&gt; - MySQL 8.0 available only under Amazon RDS Extended Support
                (additional charges apply)&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h2 id=&quot;extended-support-costs&quot;&gt;Understanding extended support costs&lt;/h2&gt;

        &lt;p&gt;Extended Support allows you to continue running RDS MySQL 8.0 beyond the end-of-life window - but it comes at
            a price. From 1 August 2026, AWS will apply per-vCPU-hour charges based on your instance size:&lt;/p&gt;

        &lt;table&gt;
            &lt;thead&gt;
                &lt;tr&gt;
                    &lt;th&gt;Duration&lt;/th&gt;
                    &lt;th&gt;Cost per vCPU-hour, eu-west-2&lt;/th&gt;
                &lt;/tr&gt;
            &lt;/thead&gt;
            &lt;tbody&gt;
                &lt;tr&gt;
                    &lt;td&gt;&lt;strong&gt;Year 1 &amp;amp; 2&lt;/strong&gt;&lt;/td&gt;
                    &lt;td class=&quot;text-right&quot;&gt;&lt;strong&gt;$0.118&lt;/strong&gt;&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;td&gt;&lt;strong&gt;Year 3&lt;/strong&gt;&lt;/td&gt;
                    &lt;td class=&quot;text-right&quot;&gt;&lt;strong&gt;$0.235&lt;/strong&gt;&lt;/td&gt;
                &lt;/tr&gt;
            &lt;/tbody&gt;
        &lt;/table&gt;


        &lt;p&gt;For example, a 4-vCPU instance would cost an additional $676.80 a month in Year 3 - and that&#39;s just one database. These charges
            apply to each provisioned RDS instance running MySQL 8.0 under Extended Support - so if you&#39;re multi-AZ then
            it&#39;s double the cost.&lt;/p&gt;

        &lt;p&gt;While Extended Support can be a lifeline for critical applications, it is not a long-term solution. The costs
            can quickly add up, especially for larger instances or multiple databases. We recommend planning your
            migration to a newer MySQL version as soon as possible to avoid these charges.&lt;/p&gt;

        &lt;h2 id=&quot;why-extended-support-is-not-a-long-term-solution&quot;&gt;Why extended support is not a long-term solution&lt;/h2&gt;

        &lt;p&gt;Extended Support is designed to provide temporary relief, not a permanent fix. It allows you to continue
            using MySQL 8.0 while you plan your migration, but it does not address the underlying issues of running an
            unsupported database version:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;Security Risks:&lt;/strong&gt; No security patches means increased vulnerability to exploits.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Compliance Issues:&lt;/strong&gt; Many regulations require running supported software versions.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Performance Limitations:&lt;/strong&gt; Newer MySQL versions include performance improvements and
                features that are not available in 8.0.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;Furthermore, Extended Support is only available for a three year period following deprecation of the database version. In short, Extended Support is a stopgap measure. It buys you time to migrate, but it does not provide a
            sustainable solution for your database needs.&lt;/p&gt;

        &lt;h2 id=&quot;cost-vs-value-of-extended-support&quot;&gt;Cost vs value of Extended Support&lt;/h2&gt;

        &lt;p&gt;When considering Extended Support, it&#39;s important to weigh the costs against the value it provides. While it
            may seem cheaper than an immediate migration, the long-term costs can be significant.&lt;/p&gt;

        &lt;p&gt;In comparison the costs of migrating to a newer MySQL version may be higher upfront, but they can lead to
            greater savings in the long run by eliminating Extended Support fees and providing access to new features
            and optimisations. A typical investment for SME&#39;s may range from hundreds to a few thousand pounds,
            depending on the number and complexity of RDS MySQL instances and dependent applications.&lt;/p&gt;

        &lt;h2 id=&quot;migration-options&quot;&gt;Migration options and strategies&lt;/h2&gt;

        &lt;p&gt;MySQL 8.4 (a Long-Term Support release) is already available on RDS and will be the natural upgrade path for
            most users. AWS may also support MySQL 9.x or beyond by the time the deadline arrives.&lt;/p&gt;

        &lt;p&gt;Strategies for replacement will depend on your specific use case and requirements. Consider factors such as
            application compatibility, downtime tolerance, and resource availability when planning your migration.&lt;/p&gt;

        &lt;p&gt;A database that&#39;s used as a read-only data source will be easier to migrate, however in cases of typical
            web applications a more comprehensive approach will be needed including pausing or queuing writes during the migration
            process.&lt;/p&gt;

        &lt;h2 id=&quot;planning-your-upgrade&quot;&gt;Planning your database upgrade&lt;/h2&gt;

        &lt;p&gt;If you&#39;re unsure what version of MySQL you&#39;re running in AWS, now&#39;s the time to find out.&lt;/p&gt;

        &lt;p&gt;Here&#39;s what to do:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;Audit your AWS estate&lt;/strong&gt;: Identify any RDS instances running MySQL 8.0, and check which
                apps depend on them.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Evaluate downtime tolerance&lt;/strong&gt;: Can you afford a short outage, or is a Blue/Green
                deployment a better fit?&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Test the upgrade&lt;/strong&gt;: Take a snapshot, try the upgrade in a staging environment, and time
                the process.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Set a deadline&lt;/strong&gt;: Aim to upgrade by early 2026 - well before AWS forces your hand.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;If you rely on a consultancy to manage your AWS setup, this is something they should already be raising with
            you. If not - we&#39;d be happy to help.&lt;/p&gt;


    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;Read more about Amazon RDS Extended Support:&lt;/strong&gt; &lt;a href=&quot;https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support-charges.html&quot;&gt;https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support-charges.html&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;&lt;strong&gt;AWS MySQL on RDS:&lt;/strong&gt; &lt;a href=&quot;https://aws.amazon.com/rds/mysql/&quot;&gt;https://aws.amazon.com/rds/mysql/&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=Amazon%20RDS%20MySQL%208.0%20deprecation%20and%20Extended%20Support%20-%20https://sinovi.uk/articles/amazon-rds-mysql-8-0-deprecation-extended-support%20-%204%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/amazon-rds-mysql-8-0-deprecation-extended-support&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=Amazon%20RDS%20MySQL%208.0%20deprecation%20and%20Extended%20Support%20-%20https://sinovi.uk/articles/amazon-rds-mysql-8-0-deprecation-extended-support&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Bringing every SRO championship into a single cross-platform app</title>
        <link href="https://sinovi.uk/our-work/gt-world-powered-by-sro"/>
        <id>https://sinovi.uk/our-work/gt-world-powered-by-sro</id>
        <published>2025-07-02T00:00:00.000Z</published>
        <updated>2026-09-11T08:31:26.000Z</updated>
        <summary>How Si Novi built the GT World app: one React Native codebase for iOS and Android, consolidating 16 SRO championships over a serverless AWS backend built for race day.</summary><content type="html">&lt;article style=&quot;--accent: #1DEDBB&quot;&gt;

    &lt;div class=&quot;wrap case-opening&quot;&gt;&lt;div class=&quot;project-presentation project-presentation-detail&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;eager&quot; fetchpriority=&quot;high&quot; src=&quot;https://sinovi.uk/images/work/gtworld-lead.jpg&quot; alt=&quot;GT World racing cars in motion&quot; sizes=&quot;(min-width: 900px) 75vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 185 68&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;path d=&quot;M7.38,67.68V64c0-.55,0-1.82,0-2.21-.15.37-.45,1.09-.7,1.66l-2,4.46-2-4.46c-.26-.57-.56-1.29-.71-1.66,0,.39,0,1.66,0,2.21v3.68H0v-10H1.93L4,62.19c.25.56.55,1.32.68,1.68.13-.37.42-1.1.68-1.68l2-4.54h2v10Zm9.7.16c-2.74,0-4.35-2.12-4.35-5.17s1.61-5.18,4.35-5.18,4.36,2.12,4.36,5.18S19.82,67.84,17.08,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.29-1.39,2.29-3.18S18.7,59.48,17.08,59.48Zm11.7.15v8.05h-2V59.63H23.89v-2h7.77v2Zm9.68,8.21c-2.73,0-4.35-2.12-4.35-5.17s1.62-5.18,4.35-5.18,4.36,2.12,4.36,5.18S41.2,67.84,38.46,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.3-1.39,2.3-3.18S40.08,59.48,38.46,59.48ZM52,67.68l-1.79-3.61h-2v3.61h-2v-10h4.67c1.89,0,3.46,1.05,3.46,3.18a2.85,2.85,0,0,1-1.93,3l1.93,3.9ZM50.78,59.6H48.16v2.58h2.62c.93,0,1.43-.43,1.43-1.3S51.67,59.6,50.78,59.6Zm10,8.24A4.64,4.64,0,0,1,56.93,66l1.44-1.29a3.26,3.26,0,0,0,2.57,1.15c1.19,0,1.75-.33,1.75-1.09s-.35-.93-2.24-1.36-3.14-1-3.14-3c0-1.82,1.61-2.94,3.58-2.94a4.8,4.8,0,0,1,3.66,1.58l-1.45,1.4a3.08,3.08,0,0,0-2.28-1c-1.07,0-1.43.46-1.43.91,0,.63.43.83,2,1.2s3.35.92,3.35,3.09C64.76,66.55,63.56,67.84,60.82,67.84Zm11.46-3.71H70.07v3.55h-2v-10h4.38c1.89,0,3.46,1.05,3.46,3.18C75.91,63.15,74.36,64.13,72.28,64.13Zm.1-4.53H70.07v2.58h2.34c.93,0,1.43-.43,1.43-1.3S73.27,59.6,72.38,59.6ZM83,67.84c-2.74,0-4.36-2.12-4.36-5.17s1.62-5.18,4.36-5.18,4.35,2.12,4.35,5.18S85.7,67.84,83,67.84Zm0-8.36c-1.62,0-2.3,1.4-2.3,3.19s.68,3.18,2.3,3.18,2.29-1.39,2.29-3.18S84.59,59.48,83,59.48Zm13.5,8.2-1.79-3.61h-2v3.61h-2v-10h4.67c1.9,0,3.46,1.05,3.46,3.18a2.86,2.86,0,0,1-1.92,3l1.92,3.9ZM95.28,59.6H92.66v2.58h2.62c.93,0,1.43-.43,1.43-1.3S96.17,59.6,95.28,59.6Zm11.1,0v8.05h-2V59.63H101.5v-2h7.76v2Zm9.32,8.21A4.63,4.63,0,0,1,111.81,66l1.44-1.29a3.25,3.25,0,0,0,2.57,1.15c1.19,0,1.75-.33,1.75-1.09s-.35-.93-2.24-1.36-3.14-1-3.14-3c0-1.82,1.61-2.94,3.58-2.94a4.8,4.8,0,0,1,3.66,1.58L118,60.47a3.08,3.08,0,0,0-2.28-1c-1.07,0-1.43.46-1.43.91,0,.63.43.83,2,1.2s3.35.92,3.35,3.09C119.64,66.55,118.44,67.84,115.7,67.84Zm18.64,0c-2.63,0-4.39-2-4.39-5.17s1.84-5.18,4.46-5.18A3.72,3.72,0,0,1,138.2,60l-1.9.79a1.94,1.94,0,0,0-1.92-1.31c-1.5,0-2.36,1.32-2.36,3.19s.87,3.21,2.37,3.21,1.85-.65,2-1.52h-1.59V62.48h3.59V63.8A3.77,3.77,0,0,1,134.34,67.84Zm13.4-.16L146,64.07h-2v3.61h-2v-10h4.67c1.89,0,3.45,1.05,3.45,3.18a2.85,2.85,0,0,1-1.92,3l1.92,3.9Zm-1.19-8.08h-2.62v2.58h2.62c.94,0,1.44-.43,1.44-1.3S147.44,59.6,146.55,59.6Zm10.82,8.24c-2.73,0-4.35-2.12-4.35-5.17s1.62-5.18,4.35-5.18,4.36,2.12,4.36,5.18S160.11,67.84,157.37,67.84Zm0-8.36c-1.62,0-2.29,1.4-2.29,3.19s.67,3.18,2.29,3.18,2.3-1.39,2.3-3.18S159,59.48,157.37,59.48Zm11.8,8.36c-2.43,0-4.06-1.63-4.06-4.56V57.65h2v5.6c0,1.61.77,2.63,2,2.63s2.06-1,2.06-2.6V57.65h2v5.6C173.23,66.16,171.72,67.84,169.17,67.84Zm12.2-3.71h-2.2v3.55h-2v-10h4.39c1.89,0,3.45,1.05,3.45,3.18C185,63.15,183.45,64.13,181.37,64.13Zm.1-4.53h-2.3v2.58h2.33c.94,0,1.44-.43,1.44-1.3S182.36,59.6,181.47,59.6Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M173.27,1.37A22.26,22.26,0,0,0,165.8.13H148.39A8.13,8.13,0,0,0,146,.68a10.17,10.17,0,0,0-2.59,1.53,8.33,8.33,0,0,0-1.87,2.14A5.16,5.16,0,0,0,140.87,7v8.94a5.16,5.16,0,0,1,.69-2.65,8.27,8.27,0,0,1,1.86-2.13A9.68,9.68,0,0,1,146,9.63a8.38,8.38,0,0,1,3.21-.58H165.8a9.14,9.14,0,0,1,3.17.54A8.67,8.67,0,0,1,171.49,11l7.76-6.39A20.25,20.25,0,0,0,173.27,1.37Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M183.49,9.79a15.87,15.87,0,0,0-3.41-4.41c-.23-.21-.45-.43-.69-.63l-.14-.11L171.49,11l.08.06a7.81,7.81,0,0,1,1.74,2.2,5.9,5.9,0,0,1,.62,2.65V29.58a5.94,5.94,0,0,1-2.33,4.78,8.78,8.78,0,0,1-5.8,1.92h11.07a8.81,8.81,0,0,0,5.81-1.92,6,6,0,0,0,2.31-4.3c0-.16,0-.32,0-.48V15.94A13.07,13.07,0,0,0,183.49,9.79Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M176.87,36.28H148.81a10.2,10.2,0,0,1-2.79-.5,8.58,8.58,0,0,1-2.67-1.44,6.79,6.79,0,0,1-1.82-2.13,5.35,5.35,0,0,1-.65-2.27c0-.12,0-.23,0-.35V7a5.16,5.16,0,0,1,.69-2.65,8.33,8.33,0,0,1,1.87-2.14A10.17,10.17,0,0,1,146,.68a8.13,8.13,0,0,1,2.37-.54,22.12,22.12,0,0,0-6.63,1.23,20.1,20.1,0,0,0-6.12,3.38,16,16,0,0,0-4.1,5A13.07,13.07,0,0,0,130,15.94V29.58a13.07,13.07,0,0,0,1.51,6.15,16,16,0,0,0,4.1,5,20.1,20.1,0,0,0,6.12,3.38,22.26,22.26,0,0,0,7.47,1.24H165.8a22.26,22.26,0,0,0,7.47-1.24,20.1,20.1,0,0,0,6.12-3.38,15.9,15.9,0,0,0,4.1-5,13.16,13.16,0,0,0,1.5-5.67,6,6,0,0,1-2.31,4.3A8.81,8.81,0,0,1,176.87,36.28Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M16.57,0a19.37,19.37,0,0,0-6.31,1A17.57,17.57,0,0,0,5,3.86a14.13,14.13,0,0,0-3.64,4.3A11.07,11.07,0,0,0,.07,12.4,10.19,10.19,0,0,0,0,13.64a9.76,9.76,0,0,0,.07,1.22,11,11,0,0,0,1.28,4.2A14.48,14.48,0,0,0,5,23.37a17.28,17.28,0,0,0,5.26,2.86,19.19,19.19,0,0,0,6.35,1.06h22.3a6,6,0,0,1,3.91,1.34,4,4,0,0,1,1.66,3.18A3.44,3.44,0,0,1,44,33.53,5.52,5.52,0,0,1,42.74,35,6.54,6.54,0,0,1,41,36.12a5.79,5.79,0,0,1-2.12.48H.07v8.79H39a18.3,18.3,0,0,0,6.28-1,17.14,17.14,0,0,0,5.27-2.87,13.87,13.87,0,0,0,3.56-4.3,11.37,11.37,0,0,0,1.31-5.42,11.59,11.59,0,0,0-1.23-5.26,14,14,0,0,0-3.45-4.33,16.63,16.63,0,0,0-5.26-3,19.77,19.77,0,0,0-6.62-1.08H16.57a6.41,6.41,0,0,1-3.76-1.24,3.86,3.86,0,0,1-1.74-3.29,3.48,3.48,0,0,1,.54-1.88A5.57,5.57,0,0,1,13,10.3a5.93,5.93,0,0,1,1.78-.93,13.87,13.87,0,0,1,4.46-.58h36V0Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M112.07,29.07a17.19,17.19,0,0,0,6.19-5.45A13.86,13.86,0,0,0,120,20.05a11.67,11.67,0,0,0,.62-3.73V15.05a11.6,11.6,0,0,0-1.28-5.3,16.34,16.34,0,0,0-3.48-4.62,18.29,18.29,0,0,0-5.26-3.41A22.2,22.2,0,0,0,104.09,0H65.52V8.8h35.86a8.82,8.82,0,0,1,3.14.57,9.21,9.21,0,0,1,2.67,1.53,7.76,7.76,0,0,1,1.86,2.2,5.27,5.27,0,0,1,.7,2.58,5.51,5.51,0,0,1-.66,2.68,7.09,7.09,0,0,1-1.82,2.14,9,9,0,0,1-2.67,1.43,10,10,0,0,1-3.22.51H76.69c-6.16,0-11.15,4.1-11.15,9.17V45.39H76.69V35.15c0-1.94,1.94-3.53,4.31-3.53h20.38l7.36,13.77h12.15Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;React Native mobile app&lt;/p&gt;
            &lt;p class=&quot;project-panel-date&quot;&gt;Published 2025&lt;/p&gt;&lt;/div&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

    &lt;div class=&quot;wrap case-reading&quot;&gt;
        &lt;div class=&quot;case-grid&quot;&gt;
            &lt;div class=&quot;case-story&quot;&gt;
                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;Every SRO championship, in one app&lt;/h2&gt;
        &lt;p&gt;SRO Motorsports Group run GT racing across four continents, but their previous app covered Europe alone. Working with design partner Whiteflame, Si Novi built a single app for iOS and Android that brings all of SRO&#39;s championships together - live video, timing, schedules, team data and race reminders each fan can tune to the series they follow - and that holds up when a race weekend puts the whole audience on it at once.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;div&gt;
        &lt;p&gt;The GT World app brings live coverage, schedules and content from across SRO&#39;s motorsport ecosystem into one place, replacing the previous Europe-only GT World Challenge app. It covers:&lt;/p&gt;
        &lt;ul&gt;
            &lt;li&gt;GT World Challenge in Europe, America, Asia and Australia&lt;/li&gt;
            &lt;li&gt;GT4 championships across the UK, Europe, America and Australia&lt;/li&gt;
            &lt;li&gt;TC America and other regional series&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;SRO, with design partner Whiteflame, commissioned a complete rebuild to match the scale of its international championships. Si Novi was brought in for the engineering and infrastructure: turning a spread of separate series data and broadcast feeds into one coherent mobile app.&lt;/p&gt;

        &lt;h3&gt;About SRO Motorsports Group&lt;/h3&gt;
        &lt;p&gt;SRO Motorsports Group is a global leader in GT racing, behind some of the most competitive GT3, GT4 and touring car championships in the world. Its events span four continents and a large international following, live and online.&lt;/p&gt;

        &lt;h3&gt;Launched at the CrowdStrike 24 Hours of Spa&lt;/h3&gt;
        &lt;p&gt;The app launched during the CrowdStrike 24 Hours of Spa, one of motorsport&#39;s great endurance races, held at Circuit de Spa-Francorchamps. It is one of the busiest weekends in SRO&#39;s calendar, which made it both the obvious stage for the launch and a real test of the app under load.&lt;/p&gt;

        &lt;h3&gt;The engineering challenge&lt;/h3&gt;
        &lt;p&gt;SRO do not run one championship, they run around sixteen, and each has grown up with its own separate data system. The app had to pull all of that into a single, consistent experience, run on both iOS and Android from one codebase, keep responding when a fan is in a grandstand with barely any signal, and stay fast on a race weekend when the whole audience opens it at once.&lt;/p&gt;
    &lt;/div&gt;&lt;div&gt;
        &lt;h3&gt;Why SRO partnered with Si Novi&lt;/h3&gt;
        &lt;p&gt;Si Novi was chosen for our record building fast, cloud-native applications on AWS, and for working closely with design teams. Many SRO series are already sponsored and powered by AWS, and SRO&#39;s existing content systems run in the same AWS estate, so fitting a new serverless application in alongside them was familiar ground. We took the app from concept to release with Whiteflame, across engineering, architecture, testing and deployment.&lt;/p&gt;

        &lt;h3&gt;How we built it&lt;/h3&gt;

        &lt;h4&gt;One codebase, both app stores&lt;/h4&gt;
        &lt;p&gt;The app is built with React Native through Expo, so a single codebase produces both the iOS and the Android version. We worked from Whiteflame&#39;s Figma designs, building them into a reusable component library so the two apps stay visually consistent and design and engineering could move in step. The interface is tuned to render without the jumps and reflows that make an app feel cheap, and to scale cleanly from small phones up to tablets. Because it runs on Expo, we can push updates to the JavaScript layer over the air, and the app checks for them both on launch and each time a fan reopens it, so a fix reaches people without waiting on an app-store review.&lt;/p&gt;

        &lt;h4&gt;Built to keep working when the signal drops&lt;/h4&gt;
        &lt;p&gt;Grandstands and paddocks are not known for their mobile coverage. Every screen reads through a two-tier cache - an in-memory layer over on-device file storage, indexed so a lookup is a single quick check rather than a scan - and falls back to the last data it holds whenever the connection is missing or a request fails. In practice the app keeps showing schedules, standings and team data whether or not there is a usable signal.&lt;/p&gt;

        &lt;h4&gt;Race reminders each fan tunes themselves&lt;/h4&gt;
        &lt;p&gt;A fan following British GT does not want alerts for a series on another continent. Each person chooses the championships they care about and how much warning they want before a session - an hour, fifteen minutes, five - and the app turns those choices into the exact set of notifications it subscribes them to. The same choices filter the content they see.&lt;/p&gt;
        &lt;p&gt;On the backend, every reminder for every upcoming session is worked out in advance and filed by the minute it needs to go out. Once a minute, a small job asks for everything due right now and sends it. That makes reminding a hundred thousand fans about a session start as cheap as reminding ten, and costs almost nothing between race weekends.&lt;/p&gt;

        &lt;h4&gt;Sixteen feeds behind one clean app&lt;/h4&gt;
        &lt;p&gt;Behind the app, a scheduled process reaches out across all of SRO&#39;s separate championship systems, normalises what comes back, and writes it into one store the app reads from cleanly. Each item is fingerprinted so unchanged data is left alone and only genuine changes are written, and anything removed upstream is cleared out. The app talks to one tidy, consistent feed instead of sixteen inconsistent ones.&lt;/p&gt;

        &lt;h4&gt;Ready for race day&lt;/h4&gt;
        &lt;p&gt;The whole backend is serverless, so it scales with demand and costs little when nothing is racing. In front of it sits a short cache: when thousands of fans refresh the standings within the same few seconds, they are served the same cached response instead of every request reaching the origin. Live video comes through the series&#39; existing YouTube broadcasts, embedded in the app with the different-language commentary feeds, and the live timing screen brings in SRO&#39;s timing provider, so the heavy real-time work stays with the systems built for it.&lt;/p&gt;

        &lt;img src=&quot;https://sinovi.uk/images/work/gtworld-app-screenshot.png&quot; alt=&quot;GT World mobile app screenshot on iOS&quot; class=&quot;img-spaced&quot;&gt;

        &lt;h3&gt;Features at a glance&lt;/h3&gt;
        &lt;ul&gt;
            &lt;li&gt;Live video and replays (subject to region availability)&lt;/li&gt;
            &lt;li&gt;Live session timing and status&lt;/li&gt;
            &lt;li&gt;Detailed team and driver directories&lt;/li&gt;
            &lt;li&gt;Event calendar with circuits, schedules and links&lt;/li&gt;
            &lt;li&gt;News and video content across all GT World series&lt;/li&gt;
            &lt;li&gt;Push reminders each fan sets per series and per session&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h3&gt;The outcome&lt;/h3&gt;
        &lt;p&gt;The app launched at Spa to strong early adoption, and gave SRO a single place for fans of every one of its championships, on either kind of phone. For SRO it is one digital home for a growing, international audience. For us it is a good example of taking a project with several moving parts - the rights holder, the design studio and a spread of upstream data systems - from architecture through to a release on both stores.&lt;/p&gt;

        &lt;h3&gt;Who we are: Si Novi&lt;/h3&gt;
        &lt;p&gt;Si Novi designs and builds secure, scalable applications and runs them for the long term. As AWS specialists and mobile app developers, we work with clients and their creative partners to take ambitious products from idea to release, across platforms and time zones.&lt;/p&gt;
    &lt;/div&gt;&lt;/div&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;case-rail&quot;&gt;

    &lt;!-- Supporting project facts remain available at every screen size. --&gt;
    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;At a glance&lt;/h2&gt;
        &lt;dl class=&quot;case-facts-list&quot;&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Client&lt;/dt&gt;
                &lt;dd&gt;SRO Motorsports Group&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;What we built&lt;/dt&gt;
                &lt;dd&gt;React Native mobile app&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Technology&lt;/dt&gt;
                &lt;dd&gt;
&lt;span class=&quot;nowrap&quot;&gt;React Native,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Expo,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;AWS Lambda,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon API Gateway,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon DynamoDB,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon CloudFront&lt;/span&gt;
&lt;/dd&gt;
            &lt;/div&gt;

            &lt;!-- Says &quot;Published&quot; while `delivered` is unset, which it is on all ten, because
                 the published date is not the date the work shipped. Fill `delivered` in and
                 this becomes &quot;Delivered&quot; with the real year on its own. --&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Published&lt;/dt&gt;
                &lt;dd&gt;&lt;time datetime=&quot;2025-07-02&quot;&gt;2025&lt;/time&gt;&lt;/dd&gt;
            &lt;/div&gt;
        &lt;/dl&gt;

    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
        &lt;div class=&quot;share-links&quot;&gt;
            &lt;a href=&quot;https://bsky.app/intent/compose?text=Bringing%20every%20SRO%20championship%20into%20a%20single%20cross-platform%20app%20-%20https://sinovi.uk/our-work/gt-world-powered-by-sro%20-%20A%20case%20study%20of%20our%20recent%20work%20with%20SRO%20Motorsports%20Group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/our-work/gt-world-powered-by-sro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://tootpick.org/#text=Bringing%20every%20SRO%20championship%20into%20a%20single%20cross-platform%20app%20-%20https://sinovi.uk/our-work/gt-world-powered-by-sro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
        
    &lt;/div&gt;

&lt;/aside&gt;

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;div class=&quot;quote-band&quot;&gt;
            &lt;div class=&quot;wrap&quot;&gt;
                &lt;figure class=&quot;quote-figure&quot;&gt;
                    &lt;span aria-hidden=&quot;true&quot; class=&quot;quote-ornament&quot;&gt;“&lt;/span&gt;
                    &lt;blockquote&gt;This all new app replaces the highly successful GT World Challenge Europe app delivering content from across the GT racing world. It&#39;s the complete GT World experience.&lt;/blockquote&gt;
                    &lt;figcaption&gt;SRO Motorsports Group&lt;/figcaption&gt;
                &lt;/figure&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        

&lt;section class=&quot;section work-related panel-paper&quot;&gt;&lt;div class=&quot;wrap&quot;&gt;
    &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Case studies&lt;/span&gt;&lt;h2&gt;Work we have done for businesses like yours&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/our-work&quot; class=&quot;text-link&quot;&gt;All our work &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
    &lt;div class=&quot;work-index&quot;&gt;
        &lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/rubber-ring-platform-rebuild&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/rr-golf.jpg&quot; alt=&quot;Golf course&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand project-brand-badge&quot;&gt;&lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/clients/rr/rr-logo.png&quot; alt=&quot;&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Insurance platform rebuild&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Rubber Ring&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Rubber Ring&#39;s digital insurance business had outgrown its original platform.&lt;/p&gt;&lt;p&gt;Discover how we rebuilt it on a modern, event-sourced architecture on AWS - a single-table DynamoDB source of truth streamed into a PostgreSQL read model, with containerised React Router 7 and PHP applications on ECS Fargate - and migrated the entire live book in one cutover.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;
&lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/duwio&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/duwio-banner.jpg&quot; alt=&quot;Lewis Hamilton driving a Ferrari Formula 1 car past the grandstands&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center bottom&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;!-- No scoped style block here, and it must stay that way. Scoped styles force WebC to
     keep the &lt;duwio-logo&gt; host so the scope class has an element to sit on. The host
     then takes the caller&#39;s class, the same class this svg already binds, and every
     caller passes positioning: `absolute bottom-20 right-4`. Applied to both, the
     positioned host becomes the svg&#39;s containing block and the offsets land twice, so
     the mark sat 160px off the card&#39;s foot instead of 80. Every other logo in here is
     a bare svg for this reason. --&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 104 28&quot; fill=&quot;none&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;g clip-path=&quot;url(#clip0_55_510)&quot;&gt;
&lt;path d=&quot;M8.27101 7.89722C10.7603 7.89722 12.9075 9.04244 14.0528 10.7523V2.05185H19.8027V26.9205H14.0528V24.2325C13.0109 25.9503 11.0307 27.1909 8.27101 27.1909C3.66628 27.1909 0 23.4292 0 17.5123C0 11.5953 3.66628 7.89722 8.27101 7.89722ZM9.94907 12.9075C7.80179 12.9075 5.84538 14.522 5.84538 17.5123C5.84538 20.5026 7.79384 22.1806 9.94907 22.1806C12.1043 22.1806 14.0528 20.5344 14.0528 17.5441C14.0528 14.5538 12.1361 12.9075 9.94907 12.9075Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M42.4842 26.9205H36.7343V24.3677C35.5891 25.9821 33.577 27.1273 31.0559 27.1273C26.7216 27.1273 23.7949 24.137 23.7949 19.1267V8.16762H29.5051V18.3553C29.5051 20.9082 30.9525 22.3238 33.0998 22.3238C35.2471 22.3238 36.7263 20.9161 36.7263 18.3553V8.16762H42.4763V26.9205H42.4842Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M44.6714 8.16762H50.4213L53.0776 21.5762L56.2349 8.16762H62.3189L65.5159 21.5126L68.1404 8.16762H73.5483L68.4744 26.9205H62.12L59.1616 14.7526L56.0997 26.9205H49.7771L44.6714 8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M75.1948 3.12549C75.1948 1.37585 76.5707 0 78.6225 0C80.6744 0 82.0184 1.37585 82.0184 3.12549C82.0184 4.87512 80.6426 6.21916 78.6225 6.21916C76.6025 6.21916 75.1948 4.84331 75.1948 3.12549ZM75.7356 8.16762H81.4856V26.9205H75.7356V8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M94.186 27.1909C88.6746 27.1909 84.5073 23.4929 84.5073 17.5441C84.5073 11.5953 88.778 7.89722 94.2576 7.89722C99.7371 7.89722 104.008 11.5953 104.008 17.5441C104.008 23.4929 99.7053 27.1909 94.1939 27.1909H94.186ZM94.186 22.2124C96.2378 22.2124 98.1545 20.7014 98.1545 17.5441C98.1545 14.3868 96.2697 12.8757 94.2576 12.8757C92.2455 12.8757 90.3607 14.355 90.3607 17.5441C90.3607 20.7332 92.1103 22.2124 94.1939 22.2124H94.186Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/g&gt;
&lt;defs&gt;
&lt;clipPath id=&quot;clip0_55_510&quot;&gt;
&lt;rect width=&quot;104&quot; height=&quot;27.1909&quot; fill=&quot;white&quot;&gt;&lt;/rect&gt;
&lt;/clipPath&gt;
&lt;/defs&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Cloud-native SaaS platform&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Duwio&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Working with Spacesuit Media, we transformed years of experience in image delivery into Duwio - a new SaaS platform for creative professionals, re-engineered from the ground up on AWS.&lt;/p&gt;&lt;p&gt;Built on an AWS well-architected foundation, it enables photographers and agencies to store, tag, search and deliver images seamlessly from anywhere in the world.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;

    &lt;/div&gt;
&lt;/div&gt;&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Exportable SSL Certificates from AWS ACM</title>
        <link href="https://sinovi.uk/articles/aws-acm-exportable-ssl-certificates"/>
        <id>https://sinovi.uk/articles/aws-acm-exportable-ssl-certificates</id>
        <published>2025-06-17T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="Security"/>
        <category term="Infrastructure"/>
        <summary>AWS now lets you export public SSL/TLS certificates from Certificate Manager, private key and trust chain included, for use outside AWS services.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;aws-news&quot; class=&quot;editorial-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — New feature: Certificate Manager&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;New feature&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Certificate Manager&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2 id=&quot;aws-certificate-manager-now-supports-exportable-ssl-certificates&quot;&gt;AWS Certificate Manager now supports exportable SSL certificates&lt;/h2&gt;
        &lt;p&gt;In June 2025, AWS announced a long-awaited update to AWS Certificate Manager (ACM): the ability to request
        &lt;strong&gt;exportable public SSL/TLS certificates&lt;/strong&gt;. This brings significant flexibility for
        organisations that want to standardise certificate management through ACM, even beyond the AWS ecosystem.
        &lt;/p&gt;

        &lt;p&gt;Previously, ACM-issued certificates were restricted to use with AWS-managed services such as CloudFront,
        Elastic Load Balancing, and API Gateway. This limitation meant teams with hybrid infrastructure or external
        dependencies needed to source certificates elsewhere - typically via Let’s Encrypt or commercial certificate
        authorities.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;p&gt;With this update, AWS has positioned ACM as a viable alternative for managing &lt;strong&gt;public-facing
                certificates across diverse environments&lt;/strong&gt;.&lt;/p&gt;

        &lt;h2 id=&quot;key-capabilities&quot;&gt;Key capabilities&lt;/h2&gt;
        &lt;p&gt;Exportable ACM certificates now support:&lt;/p&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;Standard domain validation&lt;/strong&gt; (FQDN or wildcard)&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Private key export&lt;/strong&gt; in encrypted PEM format&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Full trust chain download&lt;/strong&gt;, including intermediate certificates&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;13-month validity&lt;/strong&gt; with managed renewal&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Secure key access&lt;/strong&gt;, governed by IAM policies and audit logging&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;These certificates are issued by &lt;strong&gt;Amazon Trust Services&lt;/strong&gt;, rooted in widely trusted certificate
            chains and recognised across all major browsers and operating systems.&lt;/p&gt;

        &lt;h2 id=&quot;pricing-overview&quot;&gt;Pricing for AWS ACM exportable certificates&lt;/h2&gt;
        &lt;p&gt;The exportable certificate model is based on charge per domain, applied at issuance and renewal:
        &lt;/p&gt;

        &lt;table&gt;
            &lt;thead&gt;
                &lt;tr&gt;
                    &lt;th&gt;Certificate type&lt;/th&gt;
                    &lt;th&gt;Price per renewal cycle&lt;/th&gt;
                &lt;/tr&gt;
            &lt;/thead&gt;
            &lt;tbody&gt;
                &lt;tr&gt;
                    &lt;td&gt;Fully Qualified Domain (&lt;code&gt;example.com&lt;/code&gt; or &lt;code&gt;api.example.com&lt;/code&gt;)&lt;/td&gt;
                    &lt;td&gt;$15 per domain&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;td&gt;Wildcard Domain (&lt;code&gt;*.example.com&lt;/code&gt;)&lt;/td&gt;
                    &lt;td&gt;$149&lt;/td&gt;
                &lt;/tr&gt;
            &lt;/tbody&gt;
        &lt;/table&gt;

        &lt;p&gt;This pricing structure makes ACM cost-effective for environments with a modest number of domains, while wildcard certificates are well-suited for large-scale or subdomain-heavy deployments.&lt;/p&gt;

        &lt;p&gt;However, bear in mind that for a typical website, you might want to run the www subdomain &lt;em&gt;and&lt;/em&gt; the non-www version (with a redirect from one to the other), so that&#39;s two FQDN&#39;s and a base price of $30.&lt;/p&gt;

        &lt;p&gt;Also, the wildcard cert doesn&#39;t include the apex domain (&lt;code&gt;example.com&lt;/code&gt;) so that&#39;s $15 on top of the $149 if you need the apex and all subdomains.&lt;/p&gt;

        &lt;p&gt;But, the prices are comparible to other commercial TLS certificate issuers and the ease of use through the ACM API and AWS SDK ecosystem brings additional value.&lt;/p&gt;

        &lt;h2 id=&quot;practical-application&quot;&gt;Practical applications&lt;/h2&gt;
        &lt;p&gt;This enhancement is particularly beneficial for:&lt;/p&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;Hybrid infrastructure&lt;/strong&gt;: Use the same certs across on-prem, AWS, and other cloud
                providers.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Self-managed environments or legacy apps not integrated with ACM
&lt;/strong&gt;: apps running on EC2 or containers that don&#39;t use ALB or CloudFront but still need HTTPS - now you can issue certs centrally with ACM.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Third-party systems&lt;/strong&gt;: Apply ACM-managed certificates to external CDNs, proxies, or
                hosted platforms that support manual certificate upload.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;By consolidating certificate management under ACM, organisations can reduce operational risk, improve renewal
            workflows, and ensure consistent security policies.&lt;/p&gt;

        &lt;h2 id=&quot;considerations&quot;&gt;Considerations&lt;/h2&gt;
        &lt;p&gt;
            Exportable certificates must be &lt;strong&gt;requested specifically&lt;/strong&gt; as exportable - standard ACM
            certificates remain non-exportable and limited to AWS services.
        &lt;/p&gt;
        &lt;p&gt;
            The &lt;strong&gt;certificate, trust chain and private key&lt;/strong&gt; are retrievable through secure, authenticated API requests and - making it suitable for controlled use in CI/CD pipelines or deployment workflows where certificates need to be programmatically rotated and deployed.
        &lt;/p&gt;
        &lt;p&gt;
            &lt;strong&gt;Managed renewal requires re-exporting the new certificate upon renewal&lt;/strong&gt;, which can be
            automated using the ACM API.
        &lt;/p&gt;

        &lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;
        &lt;p&gt;This is a significant step forward for ACM, making it a practical certificate authority not just for
            AWS-native workloads but for the broader infrastructure landscape. It offers teams a consistent, secure, and
            reliable way to issue and manage SSL/TLS certificates across environments, while remaining under AWS
            governance and audit controls.&lt;/p&gt;

        &lt;p&gt;If you&#39;re exploring a more unified approach to certificate management - especially as part of a broader AWS
            migration or infrastructure modernisation - this new capability may come in handy.&lt;/p&gt;



    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;Read more about AWS Certificate Manager exportable certificates on the official blog: &lt;/strong&gt; &lt;a href=&quot;https://aws.amazon.com/blogs/aws/aws-certificate-manager-introduces-exportable-public-ssl-tls-certificates-to-use-anywhere/&quot;&gt;https://aws.amazon.com/blogs/aws/aws-certificate-manager-introduces-exportable-public-ssl-tls-certificates-to-use-anywhere/&lt;/a&gt;
        &lt;/p&gt;

    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=AWS%20ACM%20Exportable%20Certificates%20-%20https://sinovi.uk/articles/aws-acm-exportable-ssl-certificates%20-%203%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/aws-acm-exportable-ssl-certificates&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=AWS%20ACM%20Exportable%20Certificates%20-%20https://sinovi.uk/articles/aws-acm-exportable-ssl-certificates&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>AWS Summit London 2025: From meh to wow</title>
        <link href="https://sinovi.uk/articles/aws-summit-london-2025-review"/>
        <id>https://sinovi.uk/articles/aws-summit-london-2025-review</id>
        <published>2025-05-29T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="Events"/>
        <summary>The AWS Summit London is an annual hightlight for us, but in recent years I&#39;ve questioned the experience. Not this time. The AWS Summit London 2025 was spellbinding.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;photo&quot; class=&quot;editorial-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-summit-london-2025.jpg&quot; alt=&quot;AWS Summit London 2025 - AWS Village in the Expo hall&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class=&quot;article-visual-caption&quot;&gt;&lt;span&gt;AWS Summit London, 2025&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;


        &lt;p&gt;This year was different. And incredible. In many ways.&lt;/p&gt;

        &lt;p&gt;The reasons? Twofold:&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;ul&gt;
            &lt;li&gt;As an AWS partner now we extended our trip to include the Partner Summit&lt;/li&gt;
            &lt;li&gt;The Customer Summit itself was off the charts&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;I&#39;ll discuss the latter first.&lt;/p&gt;

        &lt;p&gt;We&#39;ve been attending the AWS Summit London for years and it&#39;s become an annual highlight for Martin and I to
            break away from the coal face of software engineering and expand our minds at the summit.&lt;/p&gt;

        &lt;p&gt;In recent years though I&#39;ve been getting increasingly &quot;meh&quot; about the summits. Yes I always find it
            refreshing and inspiring to be there, there&#39;s always nuggets of useful insight and it&#39;s a really good way to
            refocus on the business rather than delivery. The summit trip is pretty much our AGM with opportunities for
            Martin and I to discuss the business: strategy, technology and plans for the year.&lt;/p&gt;

        &lt;p&gt;But last couple of years I&#39;ve had some gripes… last year in 2024 was unpleasantly busy and the logistics of
            moving around the spaces was nigh on impossible. The keynote queue was out of control. The security gates
            were a terrifying bottleneck. The queues for breakout sessions and horribly slow scanning of passes meant
            that sessions were missed. Everything was about AI but without any actual real use-cases. Plus, with many of
            the sessions at an introductory technical level we were starting to feel like we had outgrown the customer
            summit. And the food was dreadful (it&#39;s free I know, but still…).&lt;/p&gt;

        &lt;p&gt;However. I always fill in the feedback forms, and this year it really feels like the summit team sat down
            with my feedback in front of them and pointed at it:&lt;/p&gt;

        &lt;p&gt;&lt;em&gt;This guy… this guy speaks the truth. For 2025 we do all these things.&quot;&lt;/em&gt;&lt;/p&gt;

        &lt;p&gt;Every single gripe I had was smashed out of the park.&lt;/p&gt;

        &lt;h2 id=&quot;keynote&quot;&gt;Keynote&lt;/h2&gt;
        &lt;p&gt;The AWS Summit London keynote was a breath of fresh air with the main auditorium set up like a theatre in the round with a cube
            screen in the middle and no stage... Cue lots of murmuring about what was about to happen and where the
            speakers would stand.&lt;/p&gt;&lt;p&gt;Well... the house lights dimmed and music, dancing, lights and atmosphere kicked off an
            F1 season launch style intro, with the cube lifting up to reveal the stage. What followed was a superb
            keynote series from the various speakers.&lt;/p&gt;&lt;p&gt;The keynotes were shorter, more direct and some of the client
            testimonials were stunning - particularly Untold Studios whose portfolio was incredible and whose videos
            captured everyone&#39;s attention. The audience thinned out during the FinOps case studies at the end, perhaps a
            combination of the drier subject matter and the temptation to head out to the Expo, breakouts or Workshops.
        &lt;/p&gt;&lt;p&gt;I enjoyed the keynote this year and it was well worth being in the main auditorium for the experience.&lt;/p&gt;

        &lt;h2 id=&quot;organisation&quot;&gt;Organisation / Logistics / Layout&lt;/h2&gt;
        &lt;p&gt;Given the growth and success of the summit and the crushes last year, AWS solved this by going big on the
            venue. Soon there won&#39;t be anything left of the Excel in April because AWS will use it all. The summit
            layout was vast. Completely reorganised from last year, the first clue was that security was completed at
            the entrance to the Excel - once you were in, you were in. No mad queues for scanners or bag checks every
            time you wanted to move around.&lt;/p&gt;

        &lt;p&gt;The new layout of the Expo on the south side and the AWS areas on the north side - with the breakout theatres
            equally split - made for easy navigation and a different feel to each area.&lt;/p&gt;

        &lt;p&gt;The Expo area was busier and noisier, with the usual mix of ISV stands and the AWS Village attractions such
            as Ask an Architect. There were expanded demo spaces for chats with AWS teams on subjects like Data &amp;amp; AI,
            Modernisation and Security, plus a range of small open theatres for lightning talks. One issue here was that
            the small theatres were often oversubscribed and additional wireless headsets would have been used by the
            many standing attendees that didn&#39;t have a seat. Positioned at the entrance from the registration checkin,
            this side of the London Summit was really buzzing throughout the day.&lt;/p&gt;

        &lt;p&gt;The AWS areas on the north side by contrast were airier, more open and calmer, featuring plenty of areas to
            sit, gather and drink coffee. The sustainability hub was over here, and down in the ground floor the usual
            fun stuff - AWS DeepRacer, football penalties and this year a Gladiators-style travelator challenge (I was
            not tempted, at my great middle-age I&#39;d just do myself an injury).&lt;/p&gt;

        &lt;p&gt;The wifi worked, the scanning of passes was quick and efficient, it was comfortable moving around.&lt;/p&gt;

        &lt;p&gt;There was no specific &quot;lunch time&quot; as the sessions all overlapped across 12-2pm which meant there was less of
            a rush for food or space to eat it. And the food was great - just simple sandwiches and pasta salad in easy
            to manage boxes. Perfect. &lt;/p&gt;

        &lt;p&gt;I really have to congratulate the organisers and the people who made it all work on the day.&lt;/p&gt;

        &lt;img src=&quot;https://sinovi.uk/images/articles/aws-summit-2025-badge-pass-lanyard.jpg&quot; alt=&quot;AWS Summit London 2025 Lanyard Passes&quot; class=&quot;img-two-thirds&quot;&gt;

        &lt;h2 id=&quot;breakout-sessions&quot;&gt;Breakout Sessions&lt;/h2&gt;
        &lt;p&gt;While AI was still a big focus in 2025, I felt there was a much better balance of AI sessions together with
            &quot;traditional&quot; cloud tech. What&#39;s more, the AI sessions - with the technology and adoption being a year older
            (and what a year!) - the sessions on AI were relevant, applied to real use-cases and could be directly
            implemented.&lt;/p&gt;
        &lt;p&gt;There were three breakout sessions that really captured my attention:&lt;/p&gt;

        &lt;h3 id=&quot;investigate-operational-issues-faster-with-ai&quot;&gt;Investigate operational issues faster with AI&lt;/h3&gt;

        &lt;p&gt;Delivered by Satya Konathala and Alex Livingstone from AWS this session focused on using Amazon Q Developer alongside CloudWatch
            and Systems Manager to triage and resolve live operational problems more quickly - with AI doing much of the
            heavy lifting.&lt;/p&gt;

        &lt;p&gt;The session demonstrated how Amazon Q can analyse observability data, including metrics, logs, and AWS config
            information, to automatically generate hypotheses for root causes. Crucially, it doesn&#39;t stop there: Q then
            recommends tailored remediation steps using AWS&#39;s curated runbooks, and can bring these suggestions
            into Slack through the Amazon Q Developer app, making it directly actionable within the team&#39;s existing workflows.&lt;/p&gt;

        &lt;p&gt;From a practical point of view, aside from actual coding this was one of the more convincing examples of AI
            assisting engineers. Drawing data from your actual application, environment and AWS&#39;s own operational best
            practices to provide insight looks powerful.&lt;/p&gt;

        &lt;p&gt;For us at Si Novi, this aligns neatly with how we deliver support and maintenance retainers for client
            applications. We&#39;re often tasked with investigating production issues that arise after deployment, and
            traditionally this means sifting through CloudWatch logs, infrastructure config, and event trails. The
            ability to accelerate that investigation with AI tooling and generate informed hypotheses in seconds is
            something we&#39;re actively exploring for clients.&lt;/p&gt;

        &lt;h3 id=&quot;aws-infrastructure-as-code&quot;&gt;AWS infrastructure as code: a year in review&lt;/h3&gt;
    &lt;p&gt;This session - led by Varvara Semenova, Jonah Craig, and Brian Long - offered a strong update on the evolving landscape of Infrastructure as Code (IaC) on AWS. It covered best practices and new tooling across CloudFormation, CDK, and supporting tools like Cloud Control API, showing how they&#39;re enabling faster, safer deployments.&lt;/p&gt;

    &lt;p&gt;The section on &lt;em&gt;Optimistic Stabilisation&lt;/em&gt; was fascinating to understand more about the underpinnings, mechanisms and critical paths within the black box of CloudFormation, and how this optimistic strategy is speeding up infrastructure deployments.&lt;/p&gt;

&lt;p&gt;The case study was interesting, from Tines - a startup now at unicorn level with a highly automated IaC workflow. Their demo showed an AI assistant using the Cloud Control API to query the live state of AWS resources and propose updates, which were then committed as a GitHub pull request based on the existing CloudFormation templates. It was a neat example of AI + IaC in action - not magic, but genuinely useful for their team.&lt;/p&gt;

&lt;p&gt;This talk was especially relevant for us at Si Novi. We&#39;ve used CloudFormation extensively for years to provision and manage client infrastructure and in the last 12-18 months have increasingly adopted AWS CDK as our default approach for new projects. CDK gives us the expressiveness and reuse of real code, while still deploying safely through CloudFormation under the hood.&lt;/p&gt;

&lt;p&gt;What&#39;s clear is that modern IaC isn&#39;t just about YAML or JSON anymore, it&#39;s about integrating your infrastructure lifecycle with version control, review workflows, and now even intelligent tooling. And that aligns perfectly with how we manage client infrastructure today: Git-driven, automated, and consistent.&lt;/p&gt;

&lt;p&gt;We&#39;ll be exploring more around Q Developer and the Cloud Control API and how they might support smarter diagnostics and remediation in future projects.&lt;/p&gt;

&lt;h3 id=&quot;gen-ai-meets-multi-tenancy&quot;&gt;Generative AI meets multi-tenancy: inside a working solution&lt;/h3&gt;
&lt;p&gt;A surprise highlight of the day came right at the end - &quot;Generative AI meets multi-tenancy&quot; - presented by Dr Anil Giri, Mehran Najafi, and Victor Popsecu from SteelEye. This session tackled some of the thornier issues we&#39;re actively exploring for a forthcoming project: context-aware, permission-sensitive RAG architectures in a multi-tenant SaaS environment.&lt;/p&gt;

&lt;p&gt;SteelEye, a compliance and analytics platform, shared their practical experience of implementing Gen-AI in a regulated multi-tenant context using Amazon Bedrock, vector databases, and knowledge bases. The session stood out not just for the architecture diagrams, but for its real-world grounding: onboarding flows, tenant isolation strategies, and tiered service levels based on customer entitlements.&lt;/p&gt;

&lt;p&gt;Crucially, it explored:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Data partitioning and isolation, both at storage and inference level&lt;/li&gt;
    &lt;li&gt;Multi-tenant RAG patterns, with context retrieved per tenant and tied to access controls&lt;/li&gt;
    &lt;li&gt;Use of Bedrock and embedding services, abstracting away some of the ops complexity while remaining customisable&lt;/li&gt;
    &lt;li&gt;How knowledge bases can be scoped per tenant, enforcing data segregation and traceability&lt;/li&gt;
    &lt;li&gt;Patterns for introducing service tiers (e.g. token limits, custom model access, response filtering) across different customer levels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We&#39;d already had a helpful chat earlier in the day with an AWS Solutions Architect about tenant-aware retrieval strategies, so seeing the concepts reinforced and extended in a proper production case study helped crystallise our thinking.&lt;/p&gt;

&lt;p&gt;For Si Novi, this was hugely relevant. We&#39;ve built multi-tenant B2B platforms for years - often with complex RBAC and data isolation - and we&#39;re now applying that same thinking to generative AI integrations. This talk gave us new language, new patterns, a lot of photos of the slides and a few solid &quot;we&#39;re not mad&quot; moments. A great end to the day.&lt;/p&gt;

&lt;h2 id=&quot;entertainment&quot;&gt;Entertainment and networking&lt;/h2&gt;

&lt;p&gt;We don&#39;t attend the summit for networking but it is a nice bonus. This year it was good to catch up with clients and colleagues at various points during the day, and then as the summit came to a close we grabbed a beer and watched the brass brand sign off with a medley of pop hits. It felt like there were probably fun things happening all across the Expo and AWS halls as people started to let their hair down, I bet different experiences were had all over depending on where you found yourself at the end of the day.&lt;/p&gt;

&lt;p&gt;Our day was rounded off at the AWS Comsum (AWS Community Summit) networking event held at the nearby Tapas bar after the summit. As big fans of the Comsum this is a regular post-summit event for us. After great chats with peers and AWS partner friends we called it a day. A really good day.&lt;/p&gt;


        &lt;h2 id=&quot;aws-london-partner-summit&quot;&gt;AWS London Partner Summit&lt;/h2&gt;




        &lt;p&gt;The second aspect that made 2025 so special is our status as an AWS Partner and attending the AWS Partner
            Summit for the first time.&lt;/p&gt;

        &lt;p&gt;Held at the Royal Lancaster hotel next to Hyde Park, it was a suitably swanky venue for a small and very
            personal event where parters such as ourselves are able to network with each other and hear from the AWS
            Partner team.&lt;/p&gt;

        &lt;p&gt;It was a hugely valuable day, and validated the route we&#39;ve taken to embrace the Partner Network. It confirmed to us that the value in the network is opening the door to better tools, insights, and
    support that help us deliver more effectively for our clients.&lt;/p&gt;

    &lt;p&gt;In hindsight we should have joined the Partner Network years ago, however we can be proud of what we&#39;ve achieved thus far, and now we can look forward to accelerating our growth and impact for our clients with the support of AWS.&lt;/p&gt;

    &lt;p&gt;From co-selling and funding programmes to direct access
    to AWS solution architects, it&#39;s already changing the way we approach engagement, project planning and technical discovery.&lt;/p&gt;
    &lt;p&gt;The Partner Summit gave us a glimpse into that growing ecosystem - one that&#39;s collaborative, surprisingly open, and clearly designed to help partners like us scale what we do best: building well-architected, cloud-native solutions that
    solve real-world problems.&lt;/p&gt;

        &lt;h2 id=&quot;conclusions&quot;&gt;Conclusions&lt;/h2&gt;

        &lt;p&gt;This year felt fresh, new and exciting. The summit was re-energised and I now look forward to going again and see what new things are in place next year. And the Partner Summit is a way to anchor our new AWS Partner engagment and grow.&lt;/p&gt;

        &lt;p&gt;For our clients, that means more insight, better access, and solutions shaped by the very best of what AWS has to offer.&lt;/p&gt;

        &lt;p&gt;No longer am I &lt;em&gt;meh&lt;/em&gt; about the AWS Summit, I&#39;m simply excited for the next one.&lt;/p&gt;



    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;Read more about AWS Summit London on the offical AWS page:&lt;/strong&gt; &lt;a href=&quot;https://aws.amazon.com/events/summits/london/&quot;&gt;https://aws.amazon.com/events/summits/london/&lt;/a&gt;
        &lt;/p&gt;

    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=AWS%20Summit%20London%202025%20-%20https://sinovi.uk/articles/aws-summit-london-2025-review%20-%2011%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/aws-summit-london-2025-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=AWS%20Summit%20London%202025%20-%20https://sinovi.uk/articles/aws-summit-london-2025-review&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>CloudFront Anycast Static IPs now support apex domains</title>
        <link href="https://sinovi.uk/articles/cloudfront-anycast-static-ips-apex-domains"/>
        <id>https://sinovi.uk/articles/cloudfront-anycast-static-ips-apex-domains</id>
        <published>2025-04-18T00:00:00.000Z</published>
        <updated>2026-09-15T15:48:59.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="CloudFront"/>
        <category term="Infrastructure"/>
        <summary>AWS now lets you point apex domains directly to CloudFront using Anycast static IPs. No more ALIAS records, DNS migrations, or workarounds.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;screenshot&quot; class=&quot;editorial-image article-visual article-visual-screenshot article-surface-gold&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/cloudfront-anycast-static-ips-apex-domains.png&quot; alt=&quot;AWS Console showing creating an CloudFront Anycast Static IPs List&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class=&quot;article-visual-caption&quot;&gt;&lt;a href=&quot;https://sinovi.uk/images/articles/cloudfront-anycast-static-ips-apex-domains.png&quot;&gt;View full-size screenshot &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2 id=&quot;how-to-point-an-apex-domain-to-cloudfront-without-using-a-cname&quot;&gt;How to point an apex domain to
        CloudFront without using a CNAME&lt;/h2&gt;
        &lt;p&gt;If your website, app, or API is hosted on AWS, there&#39;s a good chance you&#39;re already using CloudFront -
        Amazon&#39;s global content delivery network (CDN) that helps improve performance, scalability, and security.
        &lt;/p&gt;

        &lt;p&gt;But until now, pointing an apex domain like example.com directly at CloudFront has been... fiddly.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;p&gt;Because CloudFront requires a CNAME, and CNAMEs aren&#39;t supported at the apex level in DNS, many teams have
            found themselves jumping through hoops. That might mean transferring the domain to Route 53 so you can use
            an ALIAS record, or Cloudflare for their CNAME flattening - or perhaps an another third-party service with
            redirection support for apex CNAMEs.&lt;/p&gt;

        &lt;p&gt;Migrating a domain&#39;s DNS can be a pain, particularly for an established business with a wide range of IT
            services hanging off their primary domain. There&#39;s likely to be email MX, DKIM and DMARC records,
            verification TXT records for TLS certificates and integrations with other tools like CRM, analytics, or
            newsletter platforms.&lt;/p&gt;

        &lt;p&gt;That workaround of moving DNS just became unnecessary. AWS has introduced Anycast Static IPs for apex
            domains, letting you connect your apex domain directly to CloudFront using simple A records - no tricks, no
            DNS migrations.&lt;/p&gt;

        &lt;p&gt;However... it comes at a cost.&lt;/p&gt;

        &lt;h2 id=&quot;what-is-cloudfront-and-why-use-it&quot;&gt;What is CloudFront and why use it?&lt;/h2&gt;

        &lt;p&gt;CloudFront is AWS&#39;s global content delivery network. When someone visits your site or hits your API,
            CloudFront routes their request to the nearest edge location to the user. At this edge location content such
            as images, web pages and data can be cached - stored for repeated use without needing to go all the way from
            the origin server which may be in a different country.&lt;/p&gt;

        &lt;p&gt;By delivering content in this way CloudFront reduces latency and boosts the speed of your web service.
            CloudFront also helps reduce load on your origin servers and offers built-in security benefits like DDoS
            protection and TLS.&lt;/p&gt;

        &lt;p&gt;From marketing sites to complex applications, CloudFront is a solid default for modern web delivery. &lt;/p&gt;

        &lt;p&gt;But until now, its reliance on CNAMEs has meant some friction when it comes to domain setup.&lt;/p&gt;

        &lt;h2 id=&quot;whats-new-static-anycast-ips-for-apex-domains-in-cloudfront&quot;&gt;What&#39;s new: static Anycast IPs for apex
            domains in CloudFront&lt;/h2&gt;

        &lt;p&gt;In late 2024, AWS rolled out a new Anycast IP option for CloudFront, allowing single static IPs to route
            traffic to the nearest CloudFront edge location. It was a quiet but welcome improvement to network routing.
        &lt;/p&gt;

        &lt;p&gt;Now in April 2025, they&#39;ve gone a step further: you can request three Anycast static IPs that support apex
            domains. These IPs work globally and can be pointed to from your domain&#39;s A records.&lt;/p&gt;

        &lt;p&gt;No more workarounds. No need to change DNS providers. Just three IPs you can drop into your existing setup.
        &lt;/p&gt;

        &lt;h2 id=&quot;cost-of-anycast-static-ips&quot;&gt;What is the cost of Anycast static IPs?&lt;/h2&gt;

        &lt;p&gt;While a powerful new feature, the cost of using Anycast static IPs is not trivial. The current pricing is &lt;em&gt;an additional $3,000 USD per month for each Anycast Static IP list&lt;/em&gt;. This also applies for the new feature of provisioning just 3 IPs for domain apex DNS configurations. This is a significant investment, especially for smaller businesses or startups, and really limits the use-cases to larger organisations and specific workloads.&lt;/p&gt;

        &lt;h2 id=&quot;why-apex-domains-are-tricky-with-traditional-cdn-setups&quot;&gt;Why apex domains are tricky with traditional
            CDN setups&lt;/h2&gt;

        &lt;p&gt;While many sites use www.example.com for their front-end, most modern sites and services want their main site
            or app served from the root domain - example.com. It&#39;s cleaner and more memorable. But it&#39;s also important
            to support both www and non-www, choosing one as the primary source of the website.&lt;/p&gt;

        &lt;p&gt;But root domains can&#39;t have CNAMEs, which CloudFront has historically required. That&#39;s what&#39;s made this
            problem so persistent. It wasn&#39;t a blocker, but it was a hassle - especially for businesses who didn&#39;t want
            to move DNS providers just to get their domain to work with CloudFront.&lt;/p&gt;


        &lt;h2 id=&quot;how-to-use-anycast-static-ips-with-your-cloudfront-distribution&quot;&gt;How to use Anycast Static IPs with your
            CloudFront distribution&lt;/h2&gt;

        There are some prerequisites for your CloudFront distribution: IPv6 disabled and price class set to &quot;Use all
        edge locations&quot;.

        AWS will provide you with three Anycast static IPs, and these three IPs can be added as three A records to your
        DNS.

        These IPs act globally, meaning requests from users in different regions will be routed to the nearest edge
        location, just like before. But now, everything is behind simple A records.

        &lt;h2 id=&quot;the-benefits-and-alternatives&quot;&gt;The benefits and alternatives of Anycast Static IPs&lt;/h2&gt;

        &lt;p&gt;This update reduces complexity, removes an awkward dependency, and gives you more control over how your
            domain is managed. But at a cost.&lt;/p&gt;

        &lt;p&gt;For most users, the traditional workarounds of migrating a domain to Route 53 or Cloudflare, or using extra apex-pointing services will probably remain more cost-effective. However as ever with AWS services, new developments and features or even updates to pricing may change the landscape over time.&lt;/p&gt;



    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;Read more about the new CloudFront Anycast static IPs on AWS:&lt;/strong&gt; &lt;a href=&quot;https://aws.amazon.com/about-aws/whats-new/2025/04/amazon-cloudfront-anycast-static-ips-apex-domains/&quot;&gt;https://aws.amazon.com/about-aws/whats-new/2025/04/amazon-cloudfront-anycast-static-ips-apex-domains/&lt;/a&gt;
        &lt;/p&gt;
    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=Content%20delivery%20with%20CloudFront%20just%20got%20even%20more%20powerful%20-%20https://sinovi.uk/articles/cloudfront-anycast-static-ips-apex-domains%20-%204%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/cloudfront-anycast-static-ips-apex-domains&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=Content%20delivery%20with%20CloudFront%20just%20got%20even%20more%20powerful%20-%20https://sinovi.uk/articles/cloudfront-anycast-static-ips-apex-domains&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Maintenance vs value creation: proactive upkeep and agility</title>
        <link href="https://sinovi.uk/articles/maintenance-vs-value-creation"/>
        <id>https://sinovi.uk/articles/maintenance-vs-value-creation</id>
        <published>2025-03-12T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="Software Development"/>
        <category term="Technical Debt"/>
        <category term="Digital Transformation"/>
        <summary>How prioritising proactive maintenance can accelerate feature development, reduce technical debt, and enhance business agility.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;illustration&quot; class=&quot;editorial-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/maintenance-vs-value-creation-illustration.png&quot; alt=&quot;Two people tend a tree with interlocking roots, repairing its foundation and adding fresh lime-green growth.&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;

        &lt;p&gt;In the world of software development, there&#39;s a constant tension between maintaining existing systems and building new, value-driven features. Many engineering teams find themselves unable to spend time on necessary maintenance due to the pressures of delivering new features.&lt;/p&gt;

        &lt;p&gt;Their insistence that it would be better to address maintenance first can often be seen as an unwanted extra cost, and be deprioritised or ignored, leading to increasing technical debt and inefficiencies. Future feature development then takes longer as teams must navigate outdated systems, implement temporary fixes, and work around legacy constraints instead of building efficiently on a solid foundation.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

        &lt;p&gt;This slowdown frustrates clients, creates the perception that development of new features is costly and inefficient, and ultimately impacts the business&#39;s ability to innovate at speed.&lt;/p&gt;

        &lt;p&gt;This is precisely the challenge Angela Timofte explored in her keynote at &lt;a href=&quot;https://www.serverlessdaysmanchester.com/&quot;&gt;ServerlessDays Manchester&lt;/a&gt;, &lt;em&gt;Engineering for Impact: Shifting from Maintenance to Value Creation&lt;/em&gt;. She shared her experience of joining a team that had reached a critical pain point in their workflow balance where maintenance had become a huge burden due to legacy software and decisions made (or not made) previously.&lt;/p&gt;

        &lt;p&gt;Angela shared how she and her team were challenged to reduce the maintenance burden from 70% of their time to just 30%, allowing them to focus more on impactful, high-value work.&lt;/p&gt;

        &lt;p&gt;Her talk introduced a framework for shifting this balance, which she called the &quot;70/30 flip,&quot; which involved three key steps:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;1. Making use of supporting data&lt;/strong&gt; - Gathering relevant metrics and KPIs to track maintenance vs. value creation efforts.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;2. Writing out a plan&lt;/strong&gt; - Defining clear actions to reduce maintenance overhead and improve system efficiency.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;3. Communicating the plan effectively&lt;/strong&gt; - Ensuring buy-in from stakeholders and engineering teams to implement changes successfully. Stakeholders must acknowledge and accept the time and costs of change, with future efficiency improvements as the reward.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h2 id=&quot;our-approach&quot;&gt;Our approach&lt;/h2&gt;
        &lt;p&gt;Hearing Angela&#39;s talk made me reflect on how we approach maintenance and value creation at Si Novi.&lt;/p&gt;

        &lt;p&gt;We have embedded &lt;a href=&quot;https://sinovi.uk/what-we-provide/web-application-support-and-maintenance&quot;&gt;proactive maintenance&lt;/a&gt; as a core practice of our support retainer service, to make sure we never arrive at that pain point where maintenance becomes a blocker.&lt;/p&gt;

        &lt;p&gt;Our approach ensures that supported applications remain well-maintained and up-to-date, which allows us to deliver high-value features quickly and cost-effectively.&lt;/p&gt;

        &lt;p&gt;Instead of tracking KPIs on maintenance vs. value work, we focus on a simple measure: &lt;em&gt;Are our supported applications up to date?&lt;/em&gt;&lt;/p&gt;

        &lt;p&gt;Keeping our clients&#39; supported apps up to date and &quot;developer ready&quot; at all times by performing regular code updates and deployments means that when a client asks for a new feature, or a new phase of work - the app is ready to be worked on.&lt;/p&gt;

        &lt;h2 id=&quot;real-world-example&quot;&gt;A real-world example: Medem&#39;s enhanced quotation tool&lt;/h2&gt;
        &lt;p&gt;Medem, a leader in gas safety and control systems, relies on a &lt;a href=&quot;https://sinovi.uk/our-work/medem-sales-and-quotation-application&quot;&gt;bespoke sales and quotation application we developed and maintain on AWS&lt;/a&gt;.&lt;/p&gt;

        &lt;p&gt;Their team requested a feature update to enhance their quoting process - introducing new product layout capabilities, subtotals, and dynamic total calculations.&lt;/p&gt;

        &lt;p&gt;Previously, their quoting process required manual calculations, which introduced inefficiencies and the risk of human error. As they put it:&lt;/p&gt;

        &lt;blockquote&gt;
            &lt;p&gt;&lt;em&gt;&quot;Adding a total line to the quote is something we&#39;ve discussed before. It needs to be dynamic and sum everything above it. Lately, we&#39;ve been hearing more and more: &#39;Just give me a total!!&#39;&quot;&lt;/em&gt;&lt;/p&gt;
        &lt;/blockquote&gt;

        &lt;p&gt;Because we maintain Medem&#39;s application proactively - including regular PHP updates, dependency management, and infrastructure upkeep - we were able to deliver this enhancement quickly. We didn&#39;t need to spend time getting the development environment up and running, dealing with outdated libraries, or untangling technical debt. &lt;/p&gt;

        &lt;p&gt;The result? A swift, seamless deployment within a few days, and a delighted client:&lt;/p&gt;

        &lt;blockquote&gt;
            &lt;p&gt;&lt;em&gt;&quot;Definitely making things easier and the new layout I feel has improved it greatly.&quot;&lt;/em&gt;&lt;/p&gt;
        &lt;/blockquote&gt;

        &lt;h2 id=&quot;hidden-cost&quot;&gt;The hidden cost of neglected maintenance&lt;/h2&gt;

        &lt;p&gt;So what&#39;s the alternative to proactive maintenance? Often, it&#39;s a situation where even small feature updates become big projects because the underlying system isn&#39;t in a healthy state. Teams may find themselves needing to:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;Upgrade legacy dependencies before new features can be added.&lt;/li&gt;
            &lt;li&gt;Address security vulnerabilities before deployments can proceed.&lt;/li&gt;
            &lt;li&gt;Rework outdated development environments before coding can begin.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;p&gt;Worse still, when maintenance is continually deferred, technical debt accumulates, and the cost of change increases.&lt;/p&gt;

        &lt;p&gt;Eventually, businesses may find themselves struggling to release updates or new features. Engineers or service agencies will have to increase durations and pricing for new features to include the battles with unmaintained software, which can make development seem expensive and untenable.&lt;/p&gt;

        &lt;h2 id=&quot;shifting-mindset&quot;&gt;Shifting the mindset: maintenance as an enabler&lt;/h2&gt;
        &lt;p&gt;For many organisations, maintenance is seen as a cost centre - something that must be done but doesn&#39;t contribute directly to business goals. In reality, proactive maintenance is an enabler of value creation. By keeping systems in a healthy state, businesses gain:&lt;/p&gt;

        &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;Faster feature development&lt;/strong&gt; - New capabilities can be delivered rapidly without first tackling technical debt.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Improved reliability&lt;/strong&gt; - Fewer production issues mean less time firefighting and more time innovating.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Happier developers&lt;/strong&gt; - Teams can work on meaningful improvements rather than struggling with brittle, outdated systems.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Cost savings&lt;/strong&gt; - Avoiding the need for large-scale rework or emergency fixes reduces long-term expenses.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h2 id=&quot;practical-steps&quot;&gt;Practical steps to reduce the maintenance burden&lt;/h2&gt;
        &lt;p&gt;Reducing maintenance overhead and enabling value creation requires a technical approach that prioritises efficiency, resilience, and automation. Here are some key engineering practices that help achieve this:&lt;/p&gt;

        &lt;h3&gt;Implement continuous maintenance&lt;/h3&gt;
        &lt;p&gt;Rather than treating maintenance as a separate, periodic task, integrate it into your regular development workflow. Automate dependency updates, schedule routine code reviews, and adopt a “fix it when you see it” mentality to keep issues from accumulating.&lt;/p&gt;

        &lt;h3&gt;Keep development environments ready to go&lt;/h3&gt;
        &lt;p&gt;One of the most common blockers to fast feature development is a cumbersome setup process. Ensure that developers can spin up a local or cloud-based environment quickly, without needing to troubleshoot outdated dependencies or configuration issues.&lt;/p&gt;

        &lt;h3&gt;Prioritise tech debt reduction&lt;/h3&gt;
        &lt;p&gt;Technical debt is inevitable, but it should be actively managed. Establish a backlog of maintenance tasks and address them alongside new feature development, rather than letting them pile up.&lt;/p&gt;

        &lt;h3&gt;Invest in automated testing and monitoring&lt;/h3&gt;
        &lt;p&gt;High test coverage and robust monitoring reduce the time spent diagnosing and fixing production issues. This allows teams to focus on delivering improvements rather than firefighting.&lt;/p&gt;

        &lt;h3&gt;Shift the mindset: maintenance is part of delivering value&lt;/h3&gt;
        &lt;p&gt;Encourage teams and stakeholders to see maintenance not as a drain on resources but as an essential component of business agility. Transparency of maintenance with stakeholders allows them to make informed decisions. A well-maintained system enables faster iteration, improved user experience, and ultimately, a stronger competitive position.&lt;/p&gt;

        &lt;h2 id=&quot;conclusion&quot;&gt;Conclusion: maintenance as a competitive advantage&lt;/h2&gt;
        &lt;p&gt;At Si Novi, we believe that proactive maintenance isn&#39;t just about keeping the lights on - it&#39;s about enabling businesses to move faster, respond to customer needs, and continuously create value. Our work with Medem illustrates how a well-maintained system allows for rapid innovation, rather than being a bottleneck.&lt;/p&gt;

        &lt;p&gt;By shifting focus from maintenance as a burden to maintenance as an enabler, businesses can achieve the same transformation Angela Timofte described - freeing engineering teams to focus on impactful, high-value work.&lt;/p&gt;

        &lt;p&gt;As an AWS Partner, we leverage the AWS Cloud Value Framework (CVF) as part of our consultancy and engineering activities with clients. One of &lt;a href=&quot;https://aws.amazon.com/blogs/migration-and-modernization/unleashing-the-power-of-the-cloud-with-the-aws-cloud-value-framework-cvf-business-agility-5-7/&quot;&gt;the pillars of the CVF is Business Agility&lt;/a&gt;, which describes how the cloud facilitates rapid experimentation and scalability. By using AWS we can help businesses to deploy resources in minutes and experiment with new ideas quickly. This enhanced business agility helps organisations respond rapidly to market changes and innovate and grow the business more quickly.&lt;/p&gt;

        &lt;p&gt;If your business is struggling to move quickly due to technical debt and maintenance overhead, it might be time for a different approach. Get in touch to find out how we can help.&lt;/p&gt;
    &lt;/article&gt;&lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=Maintenance%20vs%20value%20creation:%20unlocking%20business%20agility%20through%20proactive%20maintenance%20-%20https://sinovi.uk/articles/maintenance-vs-value-creation%20-%206%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/maintenance-vs-value-creation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=Maintenance%20vs%20value%20creation:%20unlocking%20business%20agility%20through%20proactive%20maintenance%20-%20https://sinovi.uk/articles/maintenance-vs-value-creation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
                    
                &lt;/div&gt;

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Rebuilding a travel packages API on serverless AWS</title>
        <link href="https://sinovi.uk/our-work/distribute-travel-packages-api"/>
        <id>https://sinovi.uk/our-work/distribute-travel-packages-api</id>
        <published>2025-03-01T00:00:00.000Z</published>
        <updated>2026-09-10T20:03:12.000Z</updated>
        <summary>How Si Novi rebuilt Distribute&#39;s travel packages API on serverless AWS - a modern HTTP/JSON interface with a zero-downtime migration for legacy consumers.</summary><content type="html">&lt;article style=&quot;--accent: #1DEDBB&quot;&gt;

    &lt;div class=&quot;wrap case-opening&quot;&gt;&lt;div class=&quot;project-presentation project-presentation-detail&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;eager&quot; fetchpriority=&quot;high&quot; src=&quot;https://sinovi.uk/images/work/distribute-packages-api.jpg&quot; alt=&quot;A package-holiday beach with sun loungers at golden hour&quot; sizes=&quot;(min-width: 900px) 75vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/clients/distribute/distribute-logo.webp&quot; alt=&quot;&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Serverless API rebuild&lt;/p&gt;
            &lt;p class=&quot;project-panel-date&quot;&gt;Published 2025&lt;/p&gt;&lt;/div&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

    &lt;div class=&quot;wrap case-reading&quot;&gt;
        &lt;div class=&quot;case-grid&quot;&gt;
            &lt;div class=&quot;case-story&quot;&gt;
                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;A live API, rebuilt underneath its own consumers&lt;/h2&gt;
        &lt;p&gt;Distribute distributes package-holiday data to downstream partners through a business-critical API. The original service was showing its age, and Distribute wanted a modern, scalable, cost-efficient replacement - but one that existing partners could keep relying on without disruption. We rebuilt the API as a fully serverless service on AWS, pairing a clean, modern interface with a genuinely zero-downtime migration path for the systems that already depended on it.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;div&gt;

        &lt;h3&gt;The migration challenge&lt;/h3&gt;
        &lt;p&gt;A live API is a contract. Partners had integrated against the existing service - a legacy VB.NET/SOAP application - and any breaking change risked interrupting the flow of data they relied on. The rebuild therefore had two goals that usually pull in opposite directions: modernise the platform completely, and change nothing that existing consumers could see.&lt;/p&gt;

        &lt;h3&gt;A modern serverless API&lt;/h3&gt;
        &lt;p&gt;We built the new API on Amazon API Gateway&#39;s HTTP API, with each endpoint served by its own single-purpose AWS Lambda function. A single-table Amazon DynamoDB design holds the service&#39;s own domain - partners, brands and access rules - alongside a fast cache of the package data itself, for predictable low-latency reads at any scale. Access is gated per partner with API keys, and a purpose-built admin interface lets the team manage partners and configuration directly.&lt;/p&gt;
        &lt;ul class=&quot;list-disc list-inside&quot;&gt;
            &lt;li&gt;&lt;strong&gt;Modern JSON/HTTP interface&lt;/strong&gt; for new integrations, defined by a clear API specification.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Serverless throughout&lt;/strong&gt; - no servers to run, and cost scales with actual usage.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Single-table DynamoDB&lt;/strong&gt; for consistent, low-latency reads under variable load.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Per-partner API keys&lt;/strong&gt; for secure, controlled, multi-tenant access.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h3&gt;Zero-downtime migration&lt;/h3&gt;
        &lt;p&gt;The key to a seamless cutover was backward compatibility. Alongside the modern JSON interface, the new service exposes a compatibility layer that speaks the same SOAP/XML protocol as the legacy API - serving the same contract, operation for operation. Existing consumers continued to call the service exactly as before, unaware that everything behind the interface had been rebuilt, while new integrations could adopt the modern interface at their own pace.&lt;/p&gt;
        &lt;p&gt;To give everyone confidence in the switch, we built a harness that fired identical queries at the old service and the new one in parallel and put their responses side by side - confirming the rebuilt API returned equivalent results before anything was moved across.&lt;/p&gt;

        &lt;h3&gt;Cost-optimised by design&lt;/h3&gt;
        &lt;p&gt;Because serverless bills per request, efficiency is a design concern rather than an afterthought. Two ideas do most of the work. First, the service resolves its filtering rules &lt;em&gt;before&lt;/em&gt; it fans out to the data store: any request combination that a rule excludes outright never triggers a function invocation at all, and the rest are refined afterwards. Second, each request carries a response-time budget - the service fans a query out across every relevant combination and returns whatever has resolved within that budget, so it honours a real latency target rather than waiting on the slowest shard. The effect is a service that is both faster to respond and cheaper to run.&lt;/p&gt;

        &lt;h3&gt;Key AWS services&lt;/h3&gt;
        &lt;ul class=&quot;list-disc list-inside&quot;&gt;
            &lt;li&gt;&lt;strong&gt;Amazon API Gateway (HTTP API)&lt;/strong&gt;: the modern, low-overhead front door to the service.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;AWS Lambda&lt;/strong&gt;: a dedicated serverless function behind each endpoint.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Amazon DynamoDB&lt;/strong&gt;: a single-table design for fast, scalable data access.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Amazon S3&lt;/strong&gt;: storage for the admin interface&#39;s assets and supporting files.&lt;/li&gt;
        &lt;/ul&gt;

    &lt;/div&gt;&lt;div&gt;

        &lt;h3&gt;Results: modernised, without disruption&lt;/h3&gt;
        &lt;ul class=&quot;list-disc list-inside&quot;&gt;
            &lt;li&gt;&lt;strong&gt;No consumer disruption&lt;/strong&gt;: existing partners kept working unchanged throughout the migration.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;A modern interface&lt;/strong&gt;: new integrations use a clean, well-documented HTTP/JSON API.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Lower running costs&lt;/strong&gt;: serverless compute and query optimisation cut the cost of every request.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Latency you can budget for&lt;/strong&gt;: each request returns within a response-time target rather than blocking on the slowest lookup.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Elastic scale&lt;/strong&gt;: the service handles variable demand automatically, with no capacity to manage.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Simple administration&lt;/strong&gt;: partner and configuration management is handled through a purpose-built admin interface.&lt;/li&gt;
        &lt;/ul&gt;

        &lt;h3&gt;About Si Novi: serverless API specialists&lt;/h3&gt;
        &lt;p&gt;We design and build serverless APIs and cloud-native applications on AWS, with a particular focus on modernising legacy systems safely.&lt;/p&gt;
        &lt;p&gt;By combining modern architecture with careful, backward-compatible migration, we help businesses like Distribute move their platforms forward without putting the integrations their partners depend on at risk.&lt;/p&gt;

    &lt;/div&gt;&lt;/div&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;case-rail&quot;&gt;

    &lt;!-- Supporting project facts remain available at every screen size. --&gt;
    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;At a glance&lt;/h2&gt;
        &lt;dl class=&quot;case-facts-list&quot;&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Client&lt;/dt&gt;
                &lt;dd&gt;Distribute&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;What we built&lt;/dt&gt;
                &lt;dd&gt;Serverless API rebuild&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Technology&lt;/dt&gt;
                &lt;dd&gt;
&lt;span class=&quot;nowrap&quot;&gt;Amazon API Gateway,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;AWS Lambda,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon DynamoDB,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon S3,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Node.js&lt;/span&gt;
&lt;/dd&gt;
            &lt;/div&gt;

            &lt;!-- Says &quot;Published&quot; while `delivered` is unset, which it is on all ten, because
                 the published date is not the date the work shipped. Fill `delivered` in and
                 this becomes &quot;Delivered&quot; with the real year on its own. --&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Published&lt;/dt&gt;
                &lt;dd&gt;&lt;time datetime=&quot;2025-03-01&quot;&gt;2025&lt;/time&gt;&lt;/dd&gt;
            &lt;/div&gt;
        &lt;/dl&gt;

    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
        &lt;div class=&quot;share-links&quot;&gt;
            &lt;a href=&quot;https://bsky.app/intent/compose?text=Rebuilding%20a%20travel%20packages%20API%20with%20a%20zero-downtime%20migration%20-%20https://sinovi.uk/our-work/distribute-travel-packages-api%20-%20A%20case%20study%20of%20our%20recent%20work%20with%20Distribute&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/our-work/distribute-travel-packages-api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://tootpick.org/#text=Rebuilding%20a%20travel%20packages%20API%20with%20a%20zero-downtime%20migration%20-%20https://sinovi.uk/our-work/distribute-travel-packages-api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
        
    &lt;/div&gt;

&lt;/aside&gt;

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;div class=&quot;quote-band&quot;&gt;
            &lt;div class=&quot;wrap&quot;&gt;
                &lt;figure class=&quot;quote-figure&quot;&gt;
                    &lt;span aria-hidden=&quot;true&quot; class=&quot;quote-ornament&quot;&gt;“&lt;/span&gt;
                    &lt;blockquote&gt;The measure of this one was that the partners calling the API couldn&#39;t tell it had happened. We rebuilt the whole thing on serverless, then taught it to speak the old protocol word for word, so every existing integration kept working untouched while the platform underneath became something completely new.&lt;/blockquote&gt;
                    &lt;figcaption&gt;&lt;b&gt;James Galley&lt;/b&gt;, Principal Consultant, Si Novi&lt;/figcaption&gt;
                &lt;/figure&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        

&lt;section class=&quot;section work-related panel-paper&quot;&gt;&lt;div class=&quot;wrap&quot;&gt;
    &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Case studies&lt;/span&gt;&lt;h2&gt;Work we have done for businesses like yours&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/our-work&quot; class=&quot;text-link&quot;&gt;All our work &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
    &lt;div class=&quot;work-index&quot;&gt;
        &lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/rubber-ring-platform-rebuild&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/rr-golf.jpg&quot; alt=&quot;Golf course&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand project-brand-badge&quot;&gt;&lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/clients/rr/rr-logo.png&quot; alt=&quot;&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Insurance platform rebuild&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Rubber Ring&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Rubber Ring&#39;s digital insurance business had outgrown its original platform.&lt;/p&gt;&lt;p&gt;Discover how we rebuilt it on a modern, event-sourced architecture on AWS - a single-table DynamoDB source of truth streamed into a PostgreSQL read model, with containerised React Router 7 and PHP applications on ECS Fargate - and migrated the entire live book in one cutover.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;
&lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/duwio&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/duwio-banner.jpg&quot; alt=&quot;Lewis Hamilton driving a Ferrari Formula 1 car past the grandstands&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center bottom&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;!-- No scoped style block here, and it must stay that way. Scoped styles force WebC to
     keep the &lt;duwio-logo&gt; host so the scope class has an element to sit on. The host
     then takes the caller&#39;s class, the same class this svg already binds, and every
     caller passes positioning: `absolute bottom-20 right-4`. Applied to both, the
     positioned host becomes the svg&#39;s containing block and the offsets land twice, so
     the mark sat 160px off the card&#39;s foot instead of 80. Every other logo in here is
     a bare svg for this reason. --&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 104 28&quot; fill=&quot;none&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;g clip-path=&quot;url(#clip0_55_510)&quot;&gt;
&lt;path d=&quot;M8.27101 7.89722C10.7603 7.89722 12.9075 9.04244 14.0528 10.7523V2.05185H19.8027V26.9205H14.0528V24.2325C13.0109 25.9503 11.0307 27.1909 8.27101 27.1909C3.66628 27.1909 0 23.4292 0 17.5123C0 11.5953 3.66628 7.89722 8.27101 7.89722ZM9.94907 12.9075C7.80179 12.9075 5.84538 14.522 5.84538 17.5123C5.84538 20.5026 7.79384 22.1806 9.94907 22.1806C12.1043 22.1806 14.0528 20.5344 14.0528 17.5441C14.0528 14.5538 12.1361 12.9075 9.94907 12.9075Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M42.4842 26.9205H36.7343V24.3677C35.5891 25.9821 33.577 27.1273 31.0559 27.1273C26.7216 27.1273 23.7949 24.137 23.7949 19.1267V8.16762H29.5051V18.3553C29.5051 20.9082 30.9525 22.3238 33.0998 22.3238C35.2471 22.3238 36.7263 20.9161 36.7263 18.3553V8.16762H42.4763V26.9205H42.4842Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M44.6714 8.16762H50.4213L53.0776 21.5762L56.2349 8.16762H62.3189L65.5159 21.5126L68.1404 8.16762H73.5483L68.4744 26.9205H62.12L59.1616 14.7526L56.0997 26.9205H49.7771L44.6714 8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M75.1948 3.12549C75.1948 1.37585 76.5707 0 78.6225 0C80.6744 0 82.0184 1.37585 82.0184 3.12549C82.0184 4.87512 80.6426 6.21916 78.6225 6.21916C76.6025 6.21916 75.1948 4.84331 75.1948 3.12549ZM75.7356 8.16762H81.4856V26.9205H75.7356V8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M94.186 27.1909C88.6746 27.1909 84.5073 23.4929 84.5073 17.5441C84.5073 11.5953 88.778 7.89722 94.2576 7.89722C99.7371 7.89722 104.008 11.5953 104.008 17.5441C104.008 23.4929 99.7053 27.1909 94.1939 27.1909H94.186ZM94.186 22.2124C96.2378 22.2124 98.1545 20.7014 98.1545 17.5441C98.1545 14.3868 96.2697 12.8757 94.2576 12.8757C92.2455 12.8757 90.3607 14.355 90.3607 17.5441C90.3607 20.7332 92.1103 22.2124 94.1939 22.2124H94.186Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/g&gt;
&lt;defs&gt;
&lt;clipPath id=&quot;clip0_55_510&quot;&gt;
&lt;rect width=&quot;104&quot; height=&quot;27.1909&quot; fill=&quot;white&quot;&gt;&lt;/rect&gt;
&lt;/clipPath&gt;
&lt;/defs&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Cloud-native SaaS platform&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Duwio&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Working with Spacesuit Media, we transformed years of experience in image delivery into Duwio - a new SaaS platform for creative professionals, re-engineered from the ground up on AWS.&lt;/p&gt;&lt;p&gt;Built on an AWS well-architected foundation, it enables photographers and agencies to store, tag, search and deliver images seamlessly from anywhere in the world.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;

    &lt;/div&gt;
&lt;/div&gt;&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Youtube playlists of AWS re:Invent 2024 Breakout Sessions</title>
        <link href="https://sinovi.uk/articles/reinvent-2024-breakout-sessions"/>
        <id>https://sinovi.uk/articles/reinvent-2024-breakout-sessions</id>
        <published>2024-12-04T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>Martin Hicks</name>
            <uri>https://sinovi.uk/about-us/founding-team/martin-hicks</uri>
        </author>
        <category term="AWS"/>
        <category term="Software Development"/>
        <summary>Didn&#39;t make re:Invent this year? Catch up on the announcements and sessions on the AWS Events YouTube channel. Here are the playlists to get you started.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;graphic&quot; class=&quot;editorial-image article-visual article-visual-graphic article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/reinvent-2024.jpg&quot; alt=&quot;AWS re:Invent 2024 Breakout Sessions&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;

        &lt;p&gt;
        If you missed re:Invent this year, the breakout sessions are all up on YouTube.
        AWS has sorted them into playlists by topic, so you can watch on demand.
        &lt;/p&gt;
        &lt;p&gt;
        We&#39;ve picked one session from each category as a starting point. Each embed below links
        through to the full playlist for that topic.
        &lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;

            &lt;h2 id=&quot;ai-ml&quot;&gt;AI/ML&lt;/h2&gt;
            &lt;p&gt;
                Artificial intelligence and machine learning, including Amazon SageMaker, generative AI,
                and customer case studies.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/-3Otl7GVeCc?list=PL2yQDdvlhXf_AG2Tt0CK-d4-eY6PgjKFr&quot; title=&quot;AWS re:Invent 2024 - Accelerate production for gen AI using Amazon SageMaker MLOps &amp;amp; FMOps (AIM354)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;analytics&quot;&gt;Analytics&lt;/h2&gt;
            &lt;p&gt;
                Working with data on AWS analytics services such as Amazon Redshift, EMR, and Athena.
            &lt;/p&gt;
            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/EDJxQFUpMLs?list=PL2yQDdvlhXf-8Xf_C2hJKEBbHPPr6q8Fo&quot; title=&quot;AWS re:Invent 2024 - Build highly performant data solutions with serverless analytics (ANT335)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;architecture&quot;&gt;Architecture&lt;/h2&gt;
            &lt;p&gt;
                Architectural patterns and best practices, with real-world examples of systems built on AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/u99zF_XOxq8?list=PL2yQDdvlhXf87XP-v6toFBLROmrJqApP7&quot; title=&quot;AWS re:Invent 2024 - Centric Brands: A journey using AWS analytics and Amazon services (BWP303)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;business-applications&quot;&gt;Business applications&lt;/h2&gt;
            &lt;p&gt;
                Enterprise applications and productivity tools running on AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/CQCXPILHYtE?list=PL2yQDdvlhXf8ME7oJDTz2vhcfGepYa-j7&quot; title=&quot;AWS re:Invent 2024 - Generative AI for millions: Amazon&#39;s Rufus and review highlights (AMZ301)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;community&quot;&gt;Community&lt;/h2&gt;
            &lt;p&gt;
                AWS user groups, community projects, and talks from people building on AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/0bsmsDFQ1cI?list=PL2yQDdvlhXf8lbgluOyOWckjc5iYJgUCP&quot; title=&quot;AWS re:Invent 2024 - Accelerate app migration: From legacy to production (DEV303)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;compute&quot;&gt;Compute&lt;/h2&gt;
            &lt;p&gt;
                EC2, Graviton processors, and high-performance computing.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/UzibL6r9ChM?list=PL2yQDdvlhXf9-pNfjMjlU8uk7C4qu-HI-&quot; title=&quot;AWS re:Invent 2024 - Win-win: Maximize Amazon EC2 savings while improving performance (CMP214)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;customer-enablement&quot;&gt;Customer enablement&lt;/h2&gt;
            &lt;p&gt;
                Training, support, and enablement to help customers get more out of AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/clZkLoziN1E?list=PL2yQDdvlhXf_Djy46p_AEzQmIKVfhE4hp&quot; title=&quot;AWS re:Invent 2024 - Cloud innovation for a cause: One organization’s all-in AWS journey (IMP101)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;operations&quot;&gt;Operations&lt;/h2&gt;
            &lt;p&gt;
                Monitoring, automation, and incident management on AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/rja_3TTD1VA?list=PL2yQDdvlhXf_Tf2RdMc_CG73PdGVIV2uZ&quot; title=&quot;AWS re:Invent 2024 - Unlock the power of application monitoring (COP359)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;databases&quot;&gt;Databases&lt;/h2&gt;
            &lt;p&gt;
                Amazon DynamoDB, RDS, Aurora, and the purpose-built databases on AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/Ej6TRC_uYzA?list=PL2yQDdvlhXf9IiD_yeNFVZxzQfDPqEMRu&quot; title=&quot;AWS re:Invent 2024 - Advanced data modeling for Amazon ElastiCache (DAT422)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;developer-productivity-devops&quot;&gt;Developer productivity &amp;amp; DevOps&lt;/h2&gt;
            &lt;p&gt;
                CI/CD, infrastructure as code, and developer tooling on AWS.
            &lt;/p&gt;


            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/XpsonmjdIfA?list=PL2yQDdvlhXf9FUBlLQdRg3xPFx8jS0Zvi&quot; title=&quot;AWS re:Invent 2024 - AWS infrastructure as code: A year in review (DOP201)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;end-user-computing&quot;&gt;End-user computing&lt;/h2&gt;
            &lt;p&gt;
                Virtual desktops and app streaming on AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/PM8F3IQCdVU?list=PL2yQDdvlhXf9lfKWNMmc6DNBDbwqt57FN&quot; title=&quot;AWS re:Invent 2024 - Ferrari and Bloomberg transform end-user computing with AWS (EUC203)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;hybrid-cloud&quot;&gt;Hybrid cloud&lt;/h2&gt;
            &lt;p&gt;
                Connecting on-premises environments to AWS, including AWS Outposts and hybrid architectures.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/Lby2YjaUWXQ?list=PL2yQDdvlhXf9CaAAwh0xonYlZ42LUFx2z&quot; title=&quot;AWS re:Invent 2024 - Well-architected for data residency with hybrid cloud services (HYB309)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;industry&quot;&gt;Industry&lt;/h2&gt;
            &lt;p&gt;
                Sessions grouped by sector - healthcare, financial services, gaming, and others.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/e7ou_bPqWBA?list=PL2yQDdvlhXf9IS3DSz6q--R--o79oXpov&quot; title=&quot;AWS re:Invent 2024 - How Supercell’s newest game launched with tens of millions of players (GAM309)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;iot-robotics&quot;&gt;IoT &amp;amp; robotics&lt;/h2&gt;
            &lt;p&gt;
                AWS IoT services, RoboMaker, and edge computing.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/uGYQpgx8bjY?list=PL2yQDdvlhXf9v8c_vYMdMukFsctIVanTG&quot; title=&quot;AWS re:Invent 2024 - AWS IoT for edge LLM deployment and execution (IOT202)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;kubernetes&quot;&gt;Kubernetes&lt;/h2&gt;
            &lt;p&gt;
                Amazon EKS, containers, and orchestration on AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/yuXF-NXaelI?list=PL2yQDdvlhXf9A21fHF45j_sciYhGuuWXb&quot; title=&quot;AWS re:Invent 2024 - Securing Kubernetes workloads in Amazon EKS (KUB315)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;networking-content-delivery&quot;&gt;Networking &amp;amp; content delivery&lt;/h2&gt;
            &lt;p&gt;
                AWS networking, content delivery, and building applications for a global audience.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/EhbFossuQhI?list=PL2yQDdvlhXf-2FD5J6FzCy2bgf3C7E0TQ&quot; title=&quot;AWS re:Invent 2024 - Optimizing ELB traffic distribution for high availability (NET401)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;new-to-aws&quot;&gt;New to AWS&lt;/h2&gt;
            &lt;p&gt;
                Sessions for newcomers getting started with AWS.
            &lt;/p&gt;

            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/kVxHcuBiwgE?list=PL2yQDdvlhXf8qFSTZBFOcbdzuMGb--yWK&quot; title=&quot;AWS re:Invent 2024 - Customer technology journey map 360 (NTA309)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;migration-modernization&quot;&gt;Migration &amp;amp; modernisation&lt;/h2&gt;
            &lt;p&gt;
                Migrating and modernising applications and infrastructure with AWS.
            &lt;/p&gt;
            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/kxXQCNTeEgM?list=PL2yQDdvlhXf8ahMXG-QmuWCkhjX2tQfmp&quot; title=&quot;AWS re:Invent 2024 - Amazon MGM Studios automates financial close process with SAP and AWS (MAM219)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;partner-enablement&quot;&gt;Partner enablement&lt;/h2&gt;
            &lt;p&gt;
                How AWS partners build and deliver solutions for customers.
            &lt;/p&gt;
            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/Cr2R6Wp_XdM?list=PL2yQDdvlhXf_4FI9Vv6iiez3zDQhP6RAJ&quot; title=&quot;AWS re:Invent 2024 - Gen AI and AWS Marketplace for the U.S. Intelligence Community (ICMP) (MKT103)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;partner-sessions&quot;&gt;Partner sessions&lt;/h2&gt;
            &lt;p&gt;
                Talks from AWS partners.
            &lt;/p&gt;
            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/lPTHsZw1CmQ?list=PL2yQDdvlhXf-ZPFF45fKOCoRXdW11NcaT&quot; title=&quot;AWS re:Invent 2024 - Build, customize, and deploy generative AI with NVIDIA on AWS (AIM241)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;security-compliance-identity&quot;&gt;Security, compliance &amp;amp; identity&lt;/h2&gt;
            &lt;p&gt;
                Security practices, compliance, and identity management on AWS.
            &lt;/p&gt;
            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/bL8EGTDQBxM?list=PL2yQDdvlhXf_rE-y8urR6VmH0-2HmeysH&quot; title=&quot;AWS re:Invent 2024 - Reduce costs and operational overhead by building enterprise-scale PKI (SEC341)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;serverless-compute&quot;&gt;Serverless compute&lt;/h2&gt;
            &lt;p&gt;
                Serverless on AWS - Lambda, EventBridge, and the wider ecosystem.
            &lt;/p&gt;
            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/l5otnYulOt8?list=PL2yQDdvlhXf_Ezjnq7A7LfHBgCYSqzrZS&quot; title=&quot;AWS re:Invent 2024 - Deep dive into Amazon ECS resilience and availability (SVS409)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

            &lt;h2 id=&quot;storage&quot;&gt;Storage&lt;/h2&gt;
            &lt;p&gt;
                Storage options on AWS for a range of workloads.
            &lt;/p&gt;
            &lt;iframe loading=&quot;lazy&quot; src=&quot;https://www.youtube.com/embed/IvCPOFdf7Hk?list=PL2yQDdvlhXf9EbbweFH0wgqnX8D-co-52&quot; title=&quot;AWS re:Invent 2024 - Building resilience against ransomware using AWS Backup (STG409)&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

        
    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;View all AWS re:Invent 2024 Youtube videos here:&lt;/strong&gt; &lt;a href=&quot;https://www.youtube.com/@AWSEventsChannel&quot;&gt;https://www.youtube.com/@AWSEventsChannel&lt;/a&gt;&lt;/p&gt;

    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=AWS%20re:Invent%202024%20breakout%20sessions%20-%20https://sinovi.uk/articles/reinvent-2024-breakout-sessions%20-%202%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/reinvent-2024-breakout-sessions&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=AWS%20re:Invent%202024%20breakout%20sessions%20-%20https://sinovi.uk/articles/reinvent-2024-breakout-sessions&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                

                

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Amazon Aurora DSQL: a new era for serverless databases?</title>
        <link href="https://sinovi.uk/articles/exploring-amazon-aurora-dsql-reinvent-2024"/>
        <id>https://sinovi.uk/articles/exploring-amazon-aurora-dsql-reinvent-2024</id>
        <published>2024-12-03T00:00:00.000Z</published>
        <updated>2026-09-15T11:06:44.000Z</updated>
        <author>
            <name>James Galley</name>
            <uri>https://sinovi.uk/about-us/founding-team/james-galley</uri>
        </author>
        <category term="AWS"/>
        <category term="Software Development"/>
        <summary>Amazon Aurora DSQL debuts with active-active global availability, distributed scalability and PostgreSQL compatibility. What it could mean for web applications.</summary><content type="html">&lt;article class=&quot;article-read&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        
        &lt;div class=&quot;article-grid&quot;&gt;
            &lt;div class=&quot;article-column&quot;&gt;
                &lt;figure data-image-type=&quot;screenshot&quot; class=&quot;editorial-image article-visual article-visual-screenshot article-surface-gold&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aurora-dsql-rds.jpg&quot; alt=&quot;Amazon Aurora DSQL in the AWS console service search&quot; loading=&quot;eager&quot; fetchpriority=&quot;high&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 1000px) 720px, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;figcaption class=&quot;article-visual-caption&quot;&gt;&lt;a href=&quot;https://sinovi.uk/images/articles/aurora-dsql-rds.jpg&quot;&gt;View full-size screenshot &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;
                


                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2 id=&quot;dsql-first-impressions&quot;&gt;Exploring Amazon Aurora Distributed SQL: our first impressions&lt;/h2&gt;
        &lt;p&gt;Amazon Aurora Distributed SQL (DSQL) was just unveiled at re:Invent 2024 earlier today, and we&#39;re buzzing with
        excitement about what this new offering could mean for businesses running growing, global, web applications. AWS
        promises a service that marries global scalability with the convenience of serverless architecture, and
        while it&#39;s early days, the possibilities are thrilling.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;article&gt;
            &lt;h2 id=&quot;what-is-dsql&quot;&gt;What is Aurora DSQL?&lt;/h2&gt;
            &lt;p&gt;At its core, Aurora DSQL builds on the familiar Aurora platform but introduces groundbreaking features
                designed for distributed workloads. AWS highlights its active-active &lt;strong&gt;multi-region
                    availability&lt;/strong&gt; and &lt;strong&gt;distributed SQL architecture&lt;/strong&gt;, which promise robust fault
                tolerance and seamless global operations.&lt;/p&gt;&lt;p&gt;Hidden in there somewhere is the fact that a DSQL cluster doesn&#39;t require a Virtual Private Cloud (VPC) and other network gubbins. Which is amazing.&lt;/p&gt;
            &lt;p&gt;The expansion of &lt;strong&gt;PostgreSQL compatibility&lt;/strong&gt; is another highlight. PostgreSQL&#39;s
                popularity among developers makes this a welcome feature, potentially simplifying cloud migrations and
                development for businesses already using relational databases and open-source tools.&lt;/p&gt;

            &lt;h2 id=&quot;why-dsql&quot;&gt;Why DSQL caught our attention&lt;/h2&gt;
            &lt;p&gt;We&#39;ve spent plenty of time working with relational SQL databases through RDS, as well as DynamoDB for schemaless data storage and scalability. Both have been great in their own right, but we&#39;ve always felt there was a bit of a gap - something that could offer the best of both worlds: the querying power and familiarity of SQL, combined with the scalability and flexibility of serverless.&lt;/p&gt;

            &lt;p&gt;Aurora Serverless seemed like a great option for a while, offering auto-scaling without the need for manual provisioning. However, it still required being within a VPC, which didn&#39;t quite fit with the event-driven, fully-serverless architecture that we were hoping for. This added complexity and for us, made the service less useful than it could have been.&lt;/p&gt;

            &lt;p&gt;So what really stands out to us is the truly serverless architecture. I noticed the separation in the AWS console of DSQL from the RDS platform which runs the other Aurora services is a telling sign of the differing nature of DSQL. At a simplistic level the choice now seems to be RDS || DSQL || DynamoDB which is an exciting concept. Hooking up a Lambda to a DSQL cluster will be my first experiment to see how this feels in comparison to connecting to an RDS or Aurora cluster.&lt;/p&gt;

            &lt;p&gt;The potential for Aurora DSQL to address scaling challenges is particularly intriguing. For businesses running
                web applications with unpredictable traffic, the serverless, distributed model could offer the right
                balance of performance and cost. Imagine a web app serving users globally with minimal latency or
                downtime, but pulling big SQL queries and working with relational data, and scaling to nothing when unused.&lt;/p&gt;
            &lt;p&gt;The &lt;strong&gt;cost efficiency&lt;/strong&gt; of paying only for what you use remains a hallmark of Aurora, but
                DSQL could take this to another level by removing the need for overprovisioning resources in
                multi-region setups. It also hints at a future where SMBs can compete with larger enterprises in
                delivering reliable, scalable services.&lt;/p&gt;

                &lt;blockquote&gt;
                    the separation in the AWS console of DSQL from the RDS platform which runs the other Aurora services is a telling sign of the differing nature of DSQL
                &lt;/blockquote&gt;

            &lt;h2 id=&quot;questions-about-dsql&quot;&gt;Questions we&#39;re asking&lt;/h2&gt;
            &lt;p&gt;While we&#39;re excited about the potential, we still have a few questions. How does the pricing really stack up for global deployments? What&#39;s the learning curve when it comes to adopting a distributed SQL model? Is the &lt;em&gt;easy-to-use developer experience&lt;/em&gt; really just that? Which use cases will best suit DSQL?&lt;/p&gt;

            &lt;h2 id=&quot;what-next&quot;&gt;What&#39;s next?&lt;/h2&gt;
            &lt;p&gt;For now, Aurora DSQL feels like an evolution that could redefine how businesses think about scaling their database-driven web
                applications. We&#39;ll be digging deeper into its features as
                more details emerge and experimenting in our own Si Novi sandbox accounts. Whether it&#39;s about creating globally resilient web apps or optimising costs with
                serverless flexibility, Aurora DSQL is a development we&#39;re eager to explore further.&lt;/p&gt;
            &lt;p&gt;As we learn more, we&#39;ll share updates and insights on how this service might fit into SMB strategies. If
                AWS&#39;s promises hold true, Aurora DSQL could be the start of a new era for accessible, high-performance
                database solutions. Stay tuned!&lt;/p&gt;
        
    &lt;/article&gt;
        &lt;p&gt;&lt;strong&gt;Find out more about Amazon Aurora DSQL on the official service feature page:&lt;/strong&gt; &lt;a href=&quot;https://aws.amazon.com/rds/aurora/dsql/features/&quot;&gt;https://aws.amazon.com/rds/aurora/dsql/features/&lt;/a&gt;&lt;/p&gt;

    &lt;/div&gt;
                &lt;p class=&quot;article-response prose&quot;&gt;Questions or thoughts? &lt;a href=&quot;mailto:hello@sinovi.uk&quot;&gt;Email us at hello@sinovi.uk&lt;/a&gt;.&lt;/p&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;article-aside&quot;&gt;

                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;In this article&lt;/h2&gt;
                    
                &lt;/div&gt;

                &lt;!-- No &quot;Written by&quot; here. The byline at the head of the read already names the
                     author, and repeating it in the sidebar is furniture, not information. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
                    &lt;div class=&quot;share-links&quot;&gt;
                        &lt;a href=&quot;https://bsky.app/intent/compose?text=Amazon%20Aurora%20DSQL:%20What%20might%20it%20mean%20for%20web%20applications?%20-%20https://sinovi.uk/articles/exploring-amazon-aurora-dsql-reinvent-2024%20-%204%20minute%20read&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/articles/exploring-amazon-aurora-dsql-reinvent-2024&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                        &lt;a href=&quot;https://tootpick.org/#text=Amazon%20Aurora%20DSQL:%20What%20might%20it%20mean%20for%20web%20applications?%20-%20https://sinovi.uk/articles/exploring-amazon-aurora-dsql-reinvent-2024&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                            &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                                &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                            &lt;/svg&gt;
                        &lt;/a&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

                &lt;!-- An article&#39;s own related reading, from its `related:` front matter. This was
                     dropped when the byline and share moved into the card during the layout
                     rebuild; it belongs in the sidebar, above the services, because another
                     article is closer onward reading for someone mid-read than a service page. --&gt;
                &lt;div&gt;
                    &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related articles&lt;/h2&gt;
                    
                &lt;/div&gt;

                

            &lt;/aside&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;section class=&quot;latest-section section&quot;&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Articles&lt;/span&gt;&lt;h2&gt;What we’re learning and working on&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/articles&quot; class=&quot;text-link&quot;&gt;More articles&lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div class=&quot;journal-grid latest-grid&quot;&gt;
            &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-elastic-beanstalk-php-8-2-amazon-linux-2023-retirement&quot;&gt;
                                &lt;div data-image-type=&quot;aws-news&quot; class=&quot;journal-image article-visual article-visual-aws-news article-surface-sage&quot;&gt;&lt;div role=&quot;img&quot; aria-label=&quot;AWS — End of support: Elastic Beanstalk, PHP 8.2&quot; class=&quot;aws-news-art&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-pattern&quot;&gt;&lt;/div&gt;
            &lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/aws-logo-white.svg&quot; alt=&quot;&quot; loading=&quot;lazy&quot; sizes=&quot;240px&quot; class=&quot;aws-news-logo&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;aws-news-copy&quot;&gt;&lt;span class=&quot;aws-news-label&quot;&gt;End of support&lt;/span&gt;&lt;span class=&quot;aws-news-title&quot;&gt;Elastic Beanstalk, PHP 8.2&lt;/span&gt;&lt;/div&gt;
            &lt;span aria-hidden=&quot;true&quot; class=&quot;aws-news-signature&quot;&gt;Cloud updates &amp;amp; guides&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-10-02T00:00:00.000Z&quot;&gt;2nd October 2026&lt;/time&gt;&lt;span&gt;6 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;AWS Elastic Beanstalk PHP 8.2 on Amazon Linux 2023 platform branches retire on March 31, 2027&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/aws-community-summit-manchester-2026&quot;&gt;
                                &lt;div data-image-type=&quot;photo&quot; class=&quot;journal-image article-visual article-visual-photo article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/aws-community-summit-manchester.jpg&quot; alt=&quot;The AWS Community Summit logo on the main stage screen at Victoria Warehouse, Manchester, with the audience in the foreground&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-09-25T00:00:00.000Z&quot;&gt;25th September 2026&lt;/time&gt;&lt;span&gt;3 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;We&#39;re heading to AWS Community Summit Manchester&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
                        &lt;article class=&quot;journal-card&quot;&gt;
                            &lt;a href=&quot;https://sinovi.uk/articles/build-the-squad-own-the-platform&quot;&gt;
                                &lt;div data-image-type=&quot;illustration&quot; class=&quot;journal-image article-visual article-visual-illustration article-surface-sage&quot;&gt;&lt;div class=&quot;article-visual-stage&quot;&gt;&lt;div class=&quot;article-visual-source&quot;&gt;&lt;img src=&quot;https://sinovi.uk/images/articles/build-the-squad-own-the-platform.jpg&quot; alt=&quot;A small team of six people talking together on top of a solid platform, with the dense engineered infrastructure that carries it filling the space below&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 900px) 33vw, (min-width: 600px) 50vw, 100vw&quot; style=&quot;object-position:50% 50%&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                                &lt;div class=&quot;journal-meta&quot;&gt;&lt;time datetime=&quot;2026-07-17T00:00:00.000Z&quot;&gt;17th July 2026&lt;/time&gt;&lt;span&gt;9 min read&lt;/span&gt;&lt;/div&gt;
                                &lt;h3&gt;Build the squad. Own the platform. The org chart will catch up.&lt;/h3&gt;
                            &lt;/a&gt;
                        &lt;/article&gt;
                    
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/section&gt;</content>
    </entry>
    <entry>
        <title>Transforming global tooling distribution for Jaguar Land Rover with AWS</title>
        <link href="https://sinovi.uk/our-work/jaguar-land-rover"/>
        <id>https://sinovi.uk/our-work/jaguar-land-rover</id>
        <published>2024-11-25T00:00:00.000Z</published>
        <updated>2026-09-10T20:03:12.000Z</updated>
        <summary>How Si Novi built Jaguar Land Rover a secure, scalable web application that distributes tooling information across 40+ regions and 13 languages, on AWS.</summary><content type="html">&lt;article style=&quot;--accent: #1DBBED&quot;&gt;

    &lt;div class=&quot;wrap case-opening&quot;&gt;&lt;div class=&quot;project-presentation project-presentation-detail&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;eager&quot; fetchpriority=&quot;high&quot; src=&quot;https://sinovi.uk/images/dualbrandjlrimageresizex688leadimage.jpg&quot; alt=&quot;Jaguar Land Rover tooling and equipment&quot; sizes=&quot;(min-width: 900px) 75vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand project-brand-compact&quot;&gt;&lt;svg viewBox=&quot;0 0 42 36&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xlink=&quot;http://www.w3.org/1999/xlink&quot; class=&quot;project-brand-logo&quot;&gt;
    &lt;g id=&quot;Symbols-&quot; stroke=&quot;none&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot; fill-rule=&quot;evenodd&quot;&gt;
        &lt;g id=&quot;1366/Nav+footer/Navigation&quot; transform=&quot;translate(-662, -10)&quot; fill=&quot;currentColor&quot;&gt;
            &lt;g id=&quot;LOGO-BLK&quot; transform=&quot;translate(662, 10)&quot;&gt;
                &lt;path d=&quot;M40.9740546,8.547164 C40.9740546,3.80865317 36.8260754,0 32.0985136,0 L23.0446502,0 L23.0446502,3.58715155 L32.1431638,3.58715155 C35.3097783,3.58715155 37.2722294,5.75717642 37.2722294,8.547164 C37.2722294,11.3814864 35.3543241,13.8171405 32.1431638,13.8171405 L23,13.8171405 L23,17.4042575 L29.6901173,17.4042575 L38.1641894,31 L42,31 L33.436558,17.3157259 C37.584398,16.6071281 40.9740546,12.8871446 40.9740546,8.547164 Z&quot; id=&quot;Fill-1&quot;&gt;&lt;/path&gt;
                &lt;polyline id=&quot;Fill-2&quot; points=&quot;16.9860202 26.528563 16.9860202 0 13 0 13 30 32 30 29.785575 26.528563 16.9860202 26.528563&quot;&gt;&lt;/polyline&gt;
                &lt;path d=&quot;M1.8348154,36 C4.34217508,34.2559461 6,31.2153398 6,27.9117848 L6,0 L2.24527575,0 L2.24397363,27.9601799 C2.24397363,30.1535677 1.40772048,31.8779717 0,32.9216211 L1.8348154,36&quot; id=&quot;Fill-4&quot;&gt;&lt;/path&gt;
            &lt;/g&gt;
        &lt;/g&gt;
    &lt;/g&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Distribution web platform&lt;/p&gt;
            &lt;p class=&quot;project-panel-date&quot;&gt;Delivered 2015&lt;/p&gt;&lt;/div&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

    &lt;div class=&quot;wrap case-reading&quot;&gt;
        &lt;div class=&quot;case-grid&quot;&gt;
            &lt;div class=&quot;case-story&quot;&gt;
                &lt;div class=&quot;article-lede prose&quot;&gt;
        &lt;h2&gt;Transforming business processes&lt;/h2&gt;
        &lt;p&gt;Jaguar Land Rover (JLR) required a scalable and reliable solution to manage and distribute its global tooling
        information. Si Novi partnered with JLR and automotive consultancy Redsnipe to develop a web-based application
        powered by Amazon Web Services (AWS). The solution replaced a legacy Excel-based process and leveraged AWS
        infrastructure to deliver high availability, scalability, and security. Since its launch in 2015, the
        application has enabled online auditing capabilities and rapid, global distribution of tooling information in 13 languages and over 40 regions.
        The solution has improved operational efficiency, compliance monitoring, and reporting for JLR&#39;s retailer
        network, ensuring tools are always available when needed.&lt;/p&gt;
    &lt;/div&gt;
                &lt;div class=&quot;article-body prose&quot;&gt;&lt;div&gt;
        &lt;h3&gt;About Jaguar Land Rover&lt;/h3&gt;
        &lt;p&gt;Jaguar Land Rover is a leading global automotive manufacturer, producing premium vehicles with advanced
            technology, luxury, and performance at the core of their brand. With a vast network of retailers and an
            ever-evolving vehicle fleet, JLR faces the complex challenge of ensuring that its retailer network has access to
            the most current and approved tooling information, essential for servicing their vehicles across multiple global
            regions.&lt;/p&gt;
        &lt;h3&gt;The Need for a Scalable, Global Tooling Solution&lt;/h3&gt;
        &lt;p&gt;JLR needed a robust, reliable solution to distribute tooling and equipment information to its global network of
            retailers. The process was initially managed using Excel spreadsheets and Visual Basic macros, which became
            inefficient and prone to errors, particularly as the vehicle fleet grew and the retailer network expanded across
            more than 40 regions.&lt;/p&gt;
        &lt;p&gt;As the demand for real-time information grew, it became clear that JLR&#39;s solution would require modernisation. If
            the challenge was not addressed, it risked disrupting the ability of retailers to service vehicles efficiently
            and could lead to delays, compliance issues, and a lack of control over the tooling distribution process. JLR
            needed a secure, scalable, and easily accessible solution that could handle the complexities of a global
            operation.&lt;/p&gt;
    &lt;/div&gt;&lt;div&gt;
        &lt;h3&gt;Why We Chose AWS for this transformation&lt;/h3&gt;
        &lt;p&gt;We chose AWS as the foundation for its solution due to its proven scalability, global reach, and reliable
            infrastructure. AWS offers a wide range of services, such as auto-scaling, load balancing, and multi-region
            availability, which provided the perfect environment to host JLR&#39;s mission-critical tooling application.
            Additionally, AWS&#39;s robust security features and extensive compliance certifications aligned with JLR&#39;s high
            standards for data protection and regulatory requirements.&lt;/p&gt;
        &lt;h3&gt;Why JLR partnered with Si Novi&lt;/h3&gt;
        &lt;p&gt;Si Novi was uniquely qualified to tackle JLR&#39;s tooling distribution challenge due to our deep expertise in
            designing, developing, and deploying high-performance, cloud-native web applications. Our experience with AWS
            infrastructure and commitment to delivering secure, scalable solutions made us the ideal partner for this
            project. Additionally, our partnership with Redsnipe, a specialist automotive consultancy, brought valuable
            industry insights to the solution, ensuring it met the specific needs of JLR&#39;s retailer network.&lt;/p&gt;
        &lt;p&gt;JLR chose Si Novi due to our track record of successful cloud transformations and our ability to deliver a
            comprehensive, end-to-end solution that aligned with their business objectives. Our team demonstrated a deep
            understanding of the challenges involved in managing and distributing critical tooling information on a global
            scale.&lt;/p&gt;
        &lt;h3&gt;How we delivered a robust, cloud-native solution&lt;/h3&gt;
        &lt;p&gt;Si Novi designed and built a web-based application that mirrored and enhanced the legacy tooling distribution
            process, providing JLR with a modern, efficient solution. The application was developed on a LAMP stack (Linux,
            Apache, MySQL, PHP) and fully integrated into AWS, leveraging a variety of AWS services to ensure high
            performance, availability, and security.&lt;/p&gt;
            &lt;p&gt;In a recent enhancement delivered in 2024, Si Novi again collaborated closely with JLR to introduce functionality specifically for electric vehicle (EV) tooling. This new feature supports the distribution of essential tooling information tailored to the unique needs of EV maintenance, ensuring JLR&#39;s global retailer network is prepared for the growing shift to electric mobility. Using an agile methodology, we worked iteratively with JLR stakeholders to design, prototype, and develop this capability, ensuring it seamlessly integrated into the existing application. This enhancement not only expands the application&#39;s utility but also underscores JLR&#39;s commitment to innovation in the automotive sector.&lt;/p&gt;
        &lt;p&gt;Key AWS services used in the solution include:&lt;/p&gt;
        &lt;ul&gt;
            &lt;li&gt;AWS Elastic Beanstalk: Powers the deployment and management of the application by providing an easy-to-use platform for deploying and scaling the LAMP stack environment, with built-in monitoring and management capabilities.&lt;/li&gt;
            &lt;li&gt;Amazon S3: Used for reliable storage of application data and tooling documents.&lt;/li&gt;
            &lt;li&gt;Amazon CloudFront: Ensured fast content delivery to users worldwide by leveraging its
                Content Delivery Network (CDN).&lt;/li&gt;
            &lt;li&gt;Amazon Route 53: Managed DNS to route users to the current application version and ensure
                high availability.
            &lt;/li&gt;
            &lt;li&gt;AWS Auto Scaling and Elastic Load Balancing: Ensured the application could handle traffic
                spikes and distribute user requests across multiple servers for optimal performance.&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;The application&#39;s design allows for rapid distribution of tooling updates globally, enabling JLR&#39;s retailer
            network to access the latest information at the click of a button. The solution also includes features for
            auditing, reporting, and PDF document generation for physical copies of tool compliance reports.&lt;/p&gt;

        &lt;img src=&quot;https://sinovi.uk/images/work/jlr-tooling-and-equipment.png&quot; alt=&quot;JLR Tooling &amp;amp; Equipment web-based auditing software, screenshot on Laptop&quot;&gt;

        &lt;h3&gt;The Impact: Streamlining Tooling Distribution&lt;/h3&gt;
        &lt;p&gt;Since its launch, the tooling application has provided significant operational benefits for JLR and its global
            retailer network:&lt;/p&gt;
        &lt;ul&gt;
            &lt;li&gt;Over 18,000 tooling audits have been performed using the application, improving compliance
                tracking.&lt;/li&gt;
            &lt;li&gt;Quarterly tooling updates are now released on a fixed schedule, ensuring all retailers have
                access to the latest information.&lt;/li&gt;
            &lt;li&gt;Global distribution of tooling information has become faster and more efficient, supporting
                JLR&#39;s operations in over 40 regions.&lt;/li&gt;
            &lt;li&gt;Retailers now benefit from real-time access to tooling information, reducing delays and
                improving service efficiency.&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;The application&#39;s integration with JLR&#39;s Single Sign-On (SSO) and its secure cloud infrastructure provide a
            seamless and secure user experience, reinforcing trust among JLR&#39;s retailers and reducing the risk of data
            breaches.&lt;/p&gt;
        &lt;h3&gt;What&#39;s Next: Continued Innovation and Collaboration&lt;/h3&gt;
        &lt;p&gt;Si Novi and JLR plan to continue their collaboration to further enhance the tooling application&#39;s capabilities.
            Future improvements may include extending the functionality to additional JLR departments, integrating more
            advanced reporting features, and exploring AI-driven tools to enhance tool compliance analysis.&lt;/p&gt;
        &lt;h3&gt;Who We Are: Si Novi and Our AWS Expertise&lt;/h3&gt;
        &lt;p&gt;Si Novi is a cloud services and web application development company specialising in AWS-powered solutions. With
            expertise in building scalable, secure, and high-performance web applications, Si Novi helps businesses across
            various industries leverage the cloud for digital transformation. Si Novi is a member of the AWS Partner Network (APN), offering a wide range of services, from cloud architecture design to application management and support.&lt;/p&gt;
    &lt;/div&gt;&lt;/div&gt;
            &lt;/div&gt;
            &lt;aside class=&quot;case-rail&quot;&gt;

    &lt;!-- Supporting project facts remain available at every screen size. --&gt;
    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;At a glance&lt;/h2&gt;
        &lt;dl class=&quot;case-facts-list&quot;&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Client&lt;/dt&gt;
                &lt;dd&gt;Jaguar Land Rover&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;What we built&lt;/dt&gt;
                &lt;dd&gt;Distribution web platform&lt;/dd&gt;
            &lt;/div&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Technology&lt;/dt&gt;
                &lt;dd&gt;
&lt;span class=&quot;nowrap&quot;&gt;Amazon S3,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;Amazon CloudFront,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;MySQL,&lt;/span&gt; &lt;span class=&quot;nowrap&quot;&gt;PHP&lt;/span&gt;
&lt;/dd&gt;
            &lt;/div&gt;

            &lt;!-- Says &quot;Published&quot; while `delivered` is unset, which it is on all ten, because
                 the published date is not the date the work shipped. Fill `delivered` in and
                 this becomes &quot;Delivered&quot; with the real year on its own. --&gt;
            &lt;div&gt;
                &lt;dt class=&quot;rail-label&quot;&gt;Delivered&lt;/dt&gt;
                &lt;dd&gt;&lt;time datetime=&quot;2015-01-01&quot;&gt;2015&lt;/time&gt;&lt;/dd&gt;
            &lt;/div&gt;
        &lt;/dl&gt;

    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Share&lt;/h2&gt;
        &lt;div class=&quot;share-links&quot;&gt;
            &lt;a href=&quot;https://bsky.app/intent/compose?text=Transforming%20global%20tooling%20distribution%20for%20Jaguar%20Land%20Rover%20-%20https://sinovi.uk/our-work/jaguar-land-rover%20-%20A%20case%20study%20of%20our%20recent%20work%20with%20Jaguar%20Land%20Rover&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Bluesky&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M407.8 294.7c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3C61.6-9.4 37.5-1.7 21.6 5.5C3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7c3.3-.5 6.6-.9 10-1.4c-3.3 .5-6.6 1-10 1.4C74.3 308.6-9.1 342.8 100.3 464.5C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4c102.4-103.4 28.1-156-65.8-169.9c-3.3-.4-6.7-.8-10-1.3c3.4 .4 6.7 .9 10 1.3c64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://www.linkedin.com/shareArticle?mini=true&amp;amp;url=https://sinovi.uk/our-work/jaguar-land-rover&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on LinkedIn&quot; class=&quot;share-link&quot;&gt;
                &lt;svg fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M19.616 3H4.384C3.621 3 3 3.621 3 4.384v15.232C3 20.379 3.621 21 4.384 21h15.232C20.379 21 21 20.379 21 19.616V4.384C21 3.621 20.379 3 19.616 3zM8.337 18.337H5.663V9.663h2.674v8.674zM7 8.337c-.857 0-1.55-.693-1.55-1.55S6.143 5.237 7 5.237s1.55.693 1.55 1.55-.693 1.55-1.55 1.55zm11.337 10H15.663v-4.337c0-1.036-.021-2.367-1.442-2.367-1.442 0-1.663 1.127-1.663 2.292v4.412H9.884V9.663h2.563v1.182h.036c.357-.675 1.229-1.387 2.529-1.387 2.704 0 3.204 1.779 3.204 4.092v4.787z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
            &lt;a href=&quot;https://tootpick.org/#text=Transforming%20global%20tooling%20distribution%20for%20Jaguar%20Land%20Rover%20-%20https://sinovi.uk/our-work/jaguar-land-rover&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;Share on Mastodon&quot; class=&quot;share-link&quot;&gt;
                &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; fill=&quot;currentColor&quot; viewBox=&quot;0 0 24 24&quot; aria-hidden=&quot;true&quot;&gt;
                    &lt;path d=&quot;M21.327 8.566c0-4.339-2.843-5.61-2.843-5.61-1.433-.658-3.894-.935-6.451-.956h-.063c-2.557.021-5.016.298-6.45.956 0 0-2.843 1.272-2.843 5.61 0 .993-.019 2.181.012 3.441.103 4.243.778 8.425 4.701 9.463 1.809.479 3.362.579 4.612.51 2.268-.126 3.541-.809 3.541-.809l-.075-1.646s-1.621.511-3.441.449c-1.804-.062-3.707-.194-3.999-2.409a4.523 4.523 0 0 1-.04-.621s1.77.433 4.014.536c1.372.063 2.658-.08 3.965-.236 2.506-.299 4.688-1.843 4.962-3.254.434-2.223.398-5.424.398-5.424zm-3.353 5.59h-2.081V9.057c0-1.075-.452-1.62-1.357-1.62-1 0-1.501.647-1.501 1.927v2.791h-2.069V9.364c0-1.28-.501-1.927-1.502-1.927-.905 0-1.357.546-1.357 1.62v5.099H6.026V8.903c0-1.074.273-1.927.823-2.558.566-.631 1.307-.955 2.228-.955 1.065 0 1.872.409 2.405 1.228l.518.869.519-.869c.533-.819 1.34-1.228 2.405-1.228.92 0 1.662.324 2.228.955.549.631.822 1.484.822 2.558v5.253z&quot;&gt;&lt;/path&gt;
                &lt;/svg&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div&gt;
        &lt;h2 class=&quot;article-aside-heading&quot;&gt;Related services&lt;/h2&gt;
        
    &lt;/div&gt;

&lt;/aside&gt;

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/article&gt;
&lt;div class=&quot;quote-band quote-band-azure&quot;&gt;
            &lt;div class=&quot;wrap&quot;&gt;
                &lt;figure class=&quot;quote-figure&quot;&gt;
                    &lt;span aria-hidden=&quot;true&quot; class=&quot;quote-ornament&quot;&gt;“&lt;/span&gt;
                    &lt;blockquote&gt;Changes are inevitable in our business but have presented no problems with Si Novi adapting to our needs seamlessly&lt;/blockquote&gt;
                    &lt;figcaption&gt;&lt;b&gt;Martyn Talbot&lt;/b&gt;, Tooling and Equipment Team Leader, Technical Service Operations, Jaguar Land Rover&lt;/figcaption&gt;
                &lt;/figure&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        

&lt;section class=&quot;section work-related panel-paper&quot;&gt;&lt;div class=&quot;wrap&quot;&gt;
    &lt;div class=&quot;section-heading&quot;&gt;&lt;div&gt;&lt;span class=&quot;eyebrow&quot;&gt;Case studies&lt;/span&gt;&lt;h2&gt;Work we have done for businesses like yours&lt;/h2&gt;&lt;/div&gt;&lt;a href=&quot;https://sinovi.uk/our-work&quot; class=&quot;text-link&quot;&gt;All our work &lt;span aria-hidden=&quot;true&quot;&gt;→&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
    &lt;div class=&quot;work-index&quot;&gt;
        &lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/rubber-ring-platform-rebuild&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/rr-golf.jpg&quot; alt=&quot;Golf course&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand project-brand-badge&quot;&gt;&lt;img eleventy:ignore=&quot;&quot; src=&quot;https://sinovi.uk/images/clients/rr/rr-logo.png&quot; alt=&quot;&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Insurance platform rebuild&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Rubber Ring&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Rubber Ring&#39;s digital insurance business had outgrown its original platform.&lt;/p&gt;&lt;p&gt;Discover how we rebuilt it on a modern, event-sourced architecture on AWS - a single-table DynamoDB source of truth streamed into a PostgreSQL read model, with containerised React Router 7 and PHP applications on ECS Fargate - and migrated the entire live book in one cutover.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;
&lt;article class=&quot;work-card&quot;&gt;
        &lt;a href=&quot;https://sinovi.uk/our-work/duwio&quot;&gt;
            &lt;div class=&quot;project-presentation&quot;&gt;
        &lt;div class=&quot;project-visual&quot;&gt;
            &lt;img loading=&quot;lazy&quot; src=&quot;https://sinovi.uk/images/work/duwio-banner.jpg&quot; alt=&quot;Lewis Hamilton driving a Ferrari Formula 1 car past the grandstands&quot; sizes=&quot;(min-width: 900px) 40vw, 100vw&quot; style=&quot;object-position:center bottom&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;project-meta-panel&quot;&gt;
            &lt;div aria-hidden=&quot;true&quot; class=&quot;project-brand&quot;&gt;&lt;!-- No scoped style block here, and it must stay that way. Scoped styles force WebC to
     keep the &lt;duwio-logo&gt; host so the scope class has an element to sit on. The host
     then takes the caller&#39;s class, the same class this svg already binds, and every
     caller passes positioning: `absolute bottom-20 right-4`. Applied to both, the
     positioned host becomes the svg&#39;s containing block and the offsets land twice, so
     the mark sat 160px off the card&#39;s foot instead of 80. Every other logo in here is
     a bare svg for this reason. --&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 104 28&quot; fill=&quot;none&quot; class=&quot;project-brand-logo&quot;&gt;
&lt;g clip-path=&quot;url(#clip0_55_510)&quot;&gt;
&lt;path d=&quot;M8.27101 7.89722C10.7603 7.89722 12.9075 9.04244 14.0528 10.7523V2.05185H19.8027V26.9205H14.0528V24.2325C13.0109 25.9503 11.0307 27.1909 8.27101 27.1909C3.66628 27.1909 0 23.4292 0 17.5123C0 11.5953 3.66628 7.89722 8.27101 7.89722ZM9.94907 12.9075C7.80179 12.9075 5.84538 14.522 5.84538 17.5123C5.84538 20.5026 7.79384 22.1806 9.94907 22.1806C12.1043 22.1806 14.0528 20.5344 14.0528 17.5441C14.0528 14.5538 12.1361 12.9075 9.94907 12.9075Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M42.4842 26.9205H36.7343V24.3677C35.5891 25.9821 33.577 27.1273 31.0559 27.1273C26.7216 27.1273 23.7949 24.137 23.7949 19.1267V8.16762H29.5051V18.3553C29.5051 20.9082 30.9525 22.3238 33.0998 22.3238C35.2471 22.3238 36.7263 20.9161 36.7263 18.3553V8.16762H42.4763V26.9205H42.4842Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M44.6714 8.16762H50.4213L53.0776 21.5762L56.2349 8.16762H62.3189L65.5159 21.5126L68.1404 8.16762H73.5483L68.4744 26.9205H62.12L59.1616 14.7526L56.0997 26.9205H49.7771L44.6714 8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M75.1948 3.12549C75.1948 1.37585 76.5707 0 78.6225 0C80.6744 0 82.0184 1.37585 82.0184 3.12549C82.0184 4.87512 80.6426 6.21916 78.6225 6.21916C76.6025 6.21916 75.1948 4.84331 75.1948 3.12549ZM75.7356 8.16762H81.4856V26.9205H75.7356V8.16762Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;path d=&quot;M94.186 27.1909C88.6746 27.1909 84.5073 23.4929 84.5073 17.5441C84.5073 11.5953 88.778 7.89722 94.2576 7.89722C99.7371 7.89722 104.008 11.5953 104.008 17.5441C104.008 23.4929 99.7053 27.1909 94.1939 27.1909H94.186ZM94.186 22.2124C96.2378 22.2124 98.1545 20.7014 98.1545 17.5441C98.1545 14.3868 96.2697 12.8757 94.2576 12.8757C92.2455 12.8757 90.3607 14.355 90.3607 17.5441C90.3607 20.7332 92.1103 22.2124 94.1939 22.2124H94.186Z&quot; fill=&quot;white&quot;&gt;&lt;/path&gt;
&lt;/g&gt;
&lt;defs&gt;
&lt;clipPath id=&quot;clip0_55_510&quot;&gt;
&lt;rect width=&quot;104&quot; height=&quot;27.1909&quot; fill=&quot;white&quot;&gt;&lt;/rect&gt;
&lt;/clipPath&gt;
&lt;/defs&gt;
&lt;/svg&gt;&lt;/div&gt;
            &lt;div class=&quot;project-panel-description&quot;&gt;&lt;span class=&quot;eyebrow&quot;&gt;What we built&lt;/span&gt;&lt;p&gt;Cloud-native SaaS platform&lt;/p&gt;
            &lt;/div&gt;
            &lt;span class=&quot;project-panel-action&quot;&gt;Read case study&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;

            &lt;h2&gt;Duwio&lt;/h2&gt;
            &lt;div class=&quot;work-card-description&quot;&gt;&lt;p&gt;Working with Spacesuit Media, we transformed years of experience in image delivery into Duwio - a new SaaS platform for creative professionals, re-engineered from the ground up on AWS.&lt;/p&gt;&lt;p&gt;Built on an AWS well-architected foundation, it enables photographers and agencies to store, tag, search and deliver images seamlessly from anywhere in the world.&lt;/p&gt;&lt;/div&gt;
        &lt;/a&gt;
    &lt;/article&gt;

    &lt;/div&gt;
&lt;/div&gt;&lt;/section&gt;</content>
    </entry>
</feed>
