<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Regis Wilson</title>
    <description>The latest articles on DEV Community by Regis Wilson (@regis-ud).</description>
    <link>https://dev.to/regis-ud</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1841143%2Fbcb619e7-2c57-4923-b965-ad9f45fd85ed.jpg</url>
      <title>DEV Community: Regis Wilson</title>
      <link>https://dev.to/regis-ud</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/regis-ud"/>
    <language>en</language>
    <item>
      <title>The Neo Fermi/Wilson AI Paradox</title>
      <dc:creator>Regis Wilson</dc:creator>
      <pubDate>Fri, 28 Aug 2026 23:25:17 +0000</pubDate>
      <link>https://dev.to/regis-ud/the-neo-fermiwilson-ai-paradox-3oln</link>
      <guid>https://dev.to/regis-ud/the-neo-fermiwilson-ai-paradox-3oln</guid>
      <description>&lt;p&gt;The original Fermi paradox asks:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;If intelligent alien civilizations should be abundant, where is everybody?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The Neo-Fermi/Wilson paradox asks:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;If AI is producing enormous quantities of excellent software, where is all the excellent software?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We are told that implementation has been transformed: agents write code, discover defects, review changes, operate continuously, preserve memory, evaluate one another, and improve the factories that produce still more agents and software.&lt;/p&gt;

&lt;p&gt;Yet the visible world remains curiously familiar. We use largely the same products, through largely the same interfaces, to perform largely the same tasks—now surrounded by more code, automation, observability, governance, tickets, and electricity consumption.&lt;/p&gt;

&lt;p&gt;This does not prove that AI produces no value. It asks where the claimed abundance becomes observable as outcomes rather than activity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steelmen and Straw Retorts
&lt;/h2&gt;

&lt;p&gt;The steelmen are serious arguments. The retorts are deliberately unfair, compressed, and argumentative.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Invisible improvement&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
The new software is everywhere, but most of its value is invisible. Existing systems are becoming more reliable, secure, maintainable, performant, and efficient. Users do not notice successful infrastructure; they notice only failures.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
Is it, though?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Tools before products&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
We are building the tools that will enable the next wave of software. Foundational technologies arrive before their most important applications. Better agents, evals, memory, orchestration, and software factories are necessary infrastructure, even if their eventual products are not yet visible.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
We have been building the tools that will build the tools that will build the next wave since 2022. It is now at least 2026. At what point does a wave have to contain water?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Silent compounding&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
AI is making everything incrementally better: development is faster, incidents are diagnosed sooner, systems are optimized more aggressively, and small usability improvements accumulate across the economy. No single change looks revolutionary because the benefits are distributed and continuous.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
That must be why GitHub keeps crashing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. The growing iceberg&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
The visible product is only the tip of the iceberg. Beneath an unchanged interface is a rapidly expanding industrial base: generators, agents, tests, deployment systems, security controls, observability, and automated remediation. The visible tip can remain stable while the supporting capability grows enormously.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
We rebuilt it in Rust. The product is exactly the same; the iceberg is ten times larger and will now grow a thousand times faster. With type and memory safety and more AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. The automobile analogy&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
Early cars were slow, inefficient, unreliable, and lethal. Modern cars may look conceptually similar: four wheels, seats, and a steering wheel; but they travel comfortably at highway speed, achieve far better fuel economy, and protect their occupants. Transformative progress can become invisible once people normalize it. Software may be improving in the same way.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
So we still watch cat videos, but now the data centre uses ten times as much electricity to recommend the next one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Product, not implementation, is the bottleneck&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
AI may have substantially reduced the cost of implementation without solving product discovery. Humans and institutions cannot instantly invent, understand, adopt, regulate, or monetize entirely new software categories. Users prefer familiar interfaces and workflows, while businesses must compete within markets already shaped by incumbents. The bottleneck has moved from writing software to deciding what should exist.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
So implementation is solved, but civilization failed to provide a sufficiently imaginative backlog.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Organizational absorption takes time&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
Even when the technology works, organizations need years to change processes, incentives, staffing, architecture, procurement, and regulation. Electricity and computers also took decades to reorganize industry. Measuring AI’s effect before institutions have adapted will understate its eventual importance.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
The revolution is complete except for all the places where reality would reveal it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Output is being consumed internally&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
Much of the new software is not a public product. It handles migrations, compliance, testing, support, fraud, analytics, internal operations, and countless organization-specific tasks. These systems create real economic value without appearing in an app store or changing a consumer interface.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
The missing great software became paperwork about the great software. And the documentation about the paperwork is being read and reviewed by AI documentation preparers who write the paperwork.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Factory administration is legitimate production&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
Automating the software factory is not empty recursion. Better monitoring, evaluation, cost control, and remediation make every later product cheaper and safer. Industrial revolutions require machine tools, standards, logistics, and quality control—not merely finished consumer goods.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
“What does your software factory produce?”&lt;br&gt;
“Software factories.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Demand expands with supply&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
Cheaper software does not necessarily reduce spending or complexity. Jevons-style effects mean that when implementation becomes cheaper, organizations attempt more projects, add more features, and automate previously neglected work. The result can be much more software without a proportionate reduction in cost or headcount.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
Everything is more. Victory has been declared over the absence of less.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Quality is improving faster than expectations&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
Users continually raise their expectations. Yesterday’s impressive speed, availability, personalization, and polish become today’s baseline. AI-generated improvements may be real but hidden by an expanding definition of acceptable software.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
The software is getting better at exactly the rate required to remain disappointing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. We are looking in the wrong place&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
The important applications may not resemble traditional software products. AI could be transforming scientific research, logistics, chip design, medicine, finance, and operations while public attention remains fixed on websites and chat interfaces.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
The aliens are definitely here; they just work in internal tooling and cannot be shown because of an NDA.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. The one that will get me fired&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Steelman:&lt;/em&gt;&lt;br&gt;
With fewer people, we can still perform the same valuable work. That frees human time and creativity for family, art, community, and the American ideals of life, liberty, and the pursuit of happiness.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Straw retort:&lt;/em&gt;&lt;br&gt;
Everything except the life, liberty, dignity, income, structure, community, and occasional joy of having a job.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cosmic Version
&lt;/h2&gt;

&lt;p&gt;The strongest product-bottleneck defense creates a pleasing extension of the original Fermi paradox:&lt;/p&gt;

&lt;p&gt;Perhaps every alien civilization develops interstellar travel, looks around, sees nobody at home, and leaves to search for everyone else. Each civilization eventually arrives at another civilization’s planet only to discover that its inhabitants also departed to look for aliens.&lt;/p&gt;

&lt;p&gt;The galaxy is not empty. Everyone is out at Marks and Sparks.&lt;/p&gt;

&lt;p&gt;Likewise, perhaps the great AI-generated software exists, but all of it is busy building tools, factories, evals, agents, and observability for the next generation of great software. Every factory is operational. Every loop is closed. Every agent is improving another agent.&lt;/p&gt;

&lt;p&gt;Nobody stayed home to make a chair.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Notice that none of these steelmen can simply say: “Here: here is one piece of genuinely great software produced by AI. You can see it, use it, and judge the result for yourself.” Every defense instead relocates the evidence: beneath the interface, inside the organization, somewhere in the infrastructure, still compounding, awaiting adoption, or building the factory that will eventually produce it. Perhaps those explanations are true. But their necessity is the paradox.&lt;/p&gt;

&lt;p&gt;The paradox is not answered by code volume, agent activity, token consumption, pull-request throughput, or the number of autonomous loops. It is answered by observable outcomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;capabilities that did not previously exist;&lt;/li&gt;
&lt;li&gt;products that small teams could not previously build;&lt;/li&gt;
&lt;li&gt;substantial reductions in cost, latency, or failure rates;&lt;/li&gt;
&lt;li&gt;materially better user experiences;&lt;/li&gt;
&lt;li&gt;scientific or operational results achieved faster;&lt;/li&gt;
&lt;li&gt;and software that people voluntarily adopt because it improves their lives.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Until those outcomes become commensurate with the claims, the question remains:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;If the software factory is producing so much excellent software, where is it all?&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Human note: AI wrote this after several rounds of steelman arguments and strawman retorts, most of which I conceived and answered myself. This is not an ironic disclaimer; irony would require it to mean the opposite. It is simply the mundane truth of how the piece was produced. So the first clearly visible product of great AI software is persuasive copy explaining why its other products remain invisible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@franku84?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Vadim Bogulov&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/grey-box-in-empty-wallpapered-room-veSRX0sZDpQ?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>automation</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>AWS Outpost and RDS: Reslotting Checklist</title>
      <dc:creator>Regis Wilson</dc:creator>
      <pubDate>Fri, 26 Jul 2024 00:35:48 +0000</pubDate>
      <link>https://dev.to/underdogsports/aws-outpost-and-rds-reslotting-checklist-4o0j</link>
      <guid>https://dev.to/underdogsports/aws-outpost-and-rds-reslotting-checklist-4o0j</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;At Underdog, we use Amazon Web Services’ (AWS) Relational Database Service (RDS) and Elastic Kubernetes Service (EKS) (among many other services) to power our sports betting applications. Most readers will be readily familiar with these services and if you aren’t, I will explain most of the terms and technologies briefly as we go. What will be different about this post is a recent AWS service we’ve been using in conjunction with these two (RDS and EKS) called AWS Outpost.&lt;/p&gt;

&lt;p&gt;In order to meet United States state gaming regulations and requirements, we use Outpost to meet data and application security residency requirements in particular states where we operate. Outpost is great for delivering compute and storage services close to a region where we operate that might be outside of Amazon’s many regional centers.&lt;/p&gt;

&lt;p&gt;This post will detail some of the challenging aspects of running and operating these services that we had recently and hope that the experience will enlighten you, the dear reader, if you ever need to venture down this road in the future. If you are already familiar with configuring and operating these services together, you might also enjoy reading it with the pleasure and satisfaction of &lt;em&gt;schadenfreude&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Regions and Outpost
&lt;/h2&gt;

&lt;p&gt;If you are unfamiliar with Outpost (as I was initially), you may wonder what the service is and why Underdog chose to use it. In simple terms, you may already know that AWS regions are spread across the globe in various countries to offer services that are close to major population centers so that AWS’ cloud services can be placed closest to the most consumers. Inside each country, as in the United States, there are several regions located inside several states, for example Virginia (us-east-1), Ohio (us-east-2), and Oregon (us-west-2), among others.&lt;/p&gt;

&lt;p&gt;What happens if Underdog wants to operate services inside a state that is not listed as an AWS region but, never-the-less, wants to collocate cloud services within the borders of a particular state? There are many options to independently host our own hardware and networking gear, but we wanted to continue to enjoy the automation and speed of deploying Infrastructure as a Service (IAAS) via Application Programming Interfaces (APIs) and so-called Infrastructure as Code (IAC). This is where the promise of AWS Outpost comes into play.&lt;/p&gt;

&lt;p&gt;With AWS Outpost, customers like us can order capacity from AWS and deploy it into the hosting facility of our choice, along with connectivity from AWS Direct Connect or VPN services to provide a regionally-located service in a particular location that we need to operate in. While the capacity for Outpost is inherently limited, and also is not “instantly” deployable or provisioned like other services, at least we do not need to directly manage infrastructure, networking, security, or software ourselves. Also, any services that are provisioned inside the Outpost will be managed by the same AWS APIs and dashboards that we are already using. Most importantly, the resources inside the Outpost can be shared by our staging and production AWS accounts and Virtual Private Clouds (VPCs) in a relatively seamless and integrated way to operate from a location outside an established AWS region.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Familiar With Outpost
&lt;/h2&gt;

&lt;p&gt;As with all AWS services, it is important to know what the services’ strengths, weaknesses and limitations are. It is also important to understand how one or more services may (or may not) interoperate together! This is where the majority of our problems originated as we went into provisioning our applications in a remote environment. In terms of provisioning Elastic Cloud Compute (EC2) services that we can use as nodegroups in EKS, this is a relatively understood solution and works well with Outpost configurations. What isn’t as directly easy to understand or configure was the RDS integration with Outpost and we ran into issues with some basics like choosing instance sizes and using instances in Outpost with RDS.&lt;/p&gt;

&lt;p&gt;The first issue we encountered initially was choosing the correct capacity and sizing of instances for both compute and RDS instances. If you are spoiled by AWS’ amazing depth and breadth of instance sizes, architectures, and variety, you will need to reorganize your thinking around a fixed set of capacity and architecture limitations for your Outpost racks and/or servers. As an example, let’s say that you have one &lt;a href="https://aws.amazon.com/outposts/rack/hardware-specs/" rel="noopener noreferrer"&gt;rack&lt;/a&gt; with 4 each &lt;code&gt;m5.24xlarge&lt;/code&gt; “raw” capacity. You could subdivide that capacity as you saw fit, let’s say that you started conservatively (as we did) with way too large of instance sizes as 8 each &lt;code&gt;m5.12xlarge&lt;/code&gt; instances, spread across staging, production, RDS, and EKS as follows (please note all drawings are for illustrative purposes only and should not be relied upon for factual reference):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fader3b58mtn92rji48r1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fader3b58mtn92rji48r1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This seemed like a reasonable starting point for us and would allow us plenty of capacity and resources to operate without worrying about needing more vertical scaling capacity. With this setup, we were able to successfully launch services relatively quickly and simply, all options considered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Right Size Scaling
&lt;/h2&gt;

&lt;p&gt;If you are familiar with AWS services, you may now be thinking to yourself, as we later did, “Whoah, this seems like a lot of capacity to use for RDS and EKS!” The truth is that if we had more time, insight, and experience, we might have been able to come up with a much better provisioning scheme to right-size the capacity for each use case. The engineering issue isn’t so much the large over-allocation of capacity (which is a concern), but rather the operational downstream issues such as having spare capacity, being able to migrate or upgrade services and versions, and being able to scale horizontally (instead of vertically) as needed to meet demands.&lt;/p&gt;

&lt;p&gt;After some post-launch issues were settled, we analyzed the data and came up with a much more reasonable allocation scheme that would suit our needs now and in the future. We settled on something that looked more like the following drawing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvlh0jmho99o0l6lakry.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvlh0jmho99o0l6lakry.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will notice that we have much more reasonably-sized (but still beefy) &lt;code&gt;m5.8xlarge&lt;/code&gt; RDS databases. We also have enough capacity to add more RDS replicas (or new primaries even), and plenty of application-worthy EKS worker nodes for redundancy and failover. Not only that, but we now have way more free “spare” capacity for future needs as either smaller RDS databases or as beefier EKS workloads emerge.&lt;/p&gt;

&lt;p&gt;Armed with this new information we let our AWS representatives know about our plans and future configuration. We had a pretty good idea of the plan of operations and had laid out a strategy for performing the changes “in place” with a reasonable amount of downtime during a maintenance window.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Laid Plans of Mice and Men
&lt;/h2&gt;

&lt;p&gt;Experts in RDS and Outpost may already see the issue we were going to find ourselves faced with and will be chuckling to themselves, but this was the original plan we were going to follow to migrate from the original configuration to the new capacity configuration. We had consciously chosen the shortest amount of time that the maintenance window would occur to re-slot the entire Outpost rack in one window without causing undue issues affecting both staging and production. We did not have multiple Outpost racks available to work with; but this is something we definitely will consider in the future.&lt;/p&gt;

&lt;p&gt;See if you can spot the issue:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Initiate downtime maintenance window in the application by shutting down all application services and issuing maintenance page notifications&lt;/li&gt;
&lt;li&gt;Temporarily stop staging RDS instances and EKS worker nodes&lt;/li&gt;
&lt;li&gt;Take snapshots for disaster recovery purposes&lt;/li&gt;
&lt;li&gt;Temporarily stop production RDS instances and EKS worker nodes&lt;/li&gt;
&lt;li&gt;Take snapshots for disaster recovery purposes&lt;/li&gt;
&lt;li&gt;AWS support will apply new Outpost reslotting configuration&lt;/li&gt;
&lt;li&gt;Restart staging and production RDS instances with new sizes&lt;/li&gt;
&lt;li&gt;Restart staging and production EKS worker nodes and join to clusters&lt;/li&gt;
&lt;li&gt;Test and validate the applications&lt;/li&gt;
&lt;li&gt;End the maintenance window and allow normal operations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you spotted the issue in step 7 labeled “restart staging and production RDS instances”, congratulations! For everyone else, you can follow along and learn from our experience when you attempt to do this yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  You Can't Modify a Stopped DB Instance.
&lt;/h2&gt;

&lt;p&gt;This statement from the AWS documentation should be tattooed on the forehead of any AWS RDS practitioner – in reverse so that they can read it in the mirror. Or, perhaps, both forward and reverse for people who look at the tattoo and for themselves looking at it in the mirror. The issue we immediately faced as we tried to start the new instances was that the previous &lt;code&gt;db.m5.12xlarge&lt;/code&gt; instances were not available any more in our Outpost configuration, so we could not start the RDS instances. We also could not convert the instances into the new &lt;code&gt;db.m5.8xlarge&lt;/code&gt; instances sizes that did exist in the new configuration since the databases were shut down!!&lt;/p&gt;

&lt;p&gt;I’m not exaggerating too much when I say that I briefly considered the fact that we had made a fatal mistake and were going to be down in production for hours doing a disaster recovery at this point. It is very important in these situations not to panic but to stay calm, talk through your options, and decide on a safe course of corrective actions.&lt;/p&gt;

&lt;p&gt;Fortunately, we had the following in our favor, which you should also have at your disposal if you attempt anything like this. We made sure we had an AWS representative and AWS support people on the call while our maintenance window was active and the team on our side were engaged. This enabled us to get real time feedback on the reslotting process, get answers to RDS and Outpost answers from AWS, and also (critically) allowed us to reconfigure the capacity online while we were in the midst of trying to salvage our operations. If you do not have enterprise support, then you will most likely not be able to resolve a situation like this. Nor should you even attempt to do something like this without enterprise support obviously.&lt;/p&gt;

&lt;h2&gt;
  
  
  Failure is Not an Option
&lt;/h2&gt;

&lt;p&gt;We quickly broke out our calculators, slide rulers, and pocket pens to come up with an emergency configuration that would enable us to start both &lt;code&gt;db.m5.12xlarge&lt;/code&gt; and &lt;code&gt;db.m5.8xlarge&lt;/code&gt; target instance capacity &lt;em&gt;at the same time&lt;/em&gt;. It was like that scene in &lt;em&gt;Apollo 13&lt;/em&gt; where Ed Harris says that we’ve never lost a database in the cloud and we were going to use everything at our disposal to figure out a solution. We were able to come up with the following configuration to solve our issue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6st31soqh1gk700lbeuq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6st31soqh1gk700lbeuq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fortunately, we had enough of the “spare” capacity to configure as RDS interim instances. Later on, AWS could then reslot the unused capacity back into our spare capacity as needed. There was a huge sigh of relief as the configuration was reslotted and the databases were started, modified to new instance sizes, then rebooted as the correct target instance size!&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;In summary, we learned quite a bit and hope that you have too, if you have any plans for Outpost capacity in your future. In no particular order these lessons are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always plan, check your plan, recheck your plan, and have a backup plan&lt;/li&gt;
&lt;li&gt;Always work closely with your AWS support and representatives to avoid problems like this if you can, and have them available when you need them in advance&lt;/li&gt;
&lt;li&gt;Always stay calm and consider your options. Stick to the plan but react appropriately when circumstances change&lt;/li&gt;
&lt;li&gt;Read your documentation and pay close attention to every detail as it impacts your planned path&lt;/li&gt;
&lt;li&gt;When migrating capacity, ensure enough spare capacity is available both before, during, and after your migration plans&lt;/li&gt;
&lt;li&gt;Use multiple phases of the migration plan where possible; consider initial phases, interim phases, and final phases&lt;/li&gt;
&lt;li&gt;Please, please, please give your AWS support people and representatives a big show of appreciation for their hard work, dedication, and help!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;Regis is a staff platform engineer at Underdog. He has designed, built, and operated cloud-native architectures since 2015.&lt;/p&gt;

&lt;h3&gt;
  
  
  We're Hiring!
&lt;/h3&gt;

&lt;p&gt;If you want to work on exciting projects like these with exciting people like me, please check out our &lt;a href="https://underdogfantasy.com/careers" rel="noopener noreferrer"&gt;hiring page&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Image Credit
&lt;/h3&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@tdederichs?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Torsten Dederichs&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/multicolored-direction-signage-beside-black-shed-5bokmbXK6vA?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awsrds</category>
      <category>awsoutpost</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
