Skip to content

Commit 963d826

Browse files
committed
feat: updated csgl project page
1 parent 7efdf70 commit 963d826

2 files changed

Lines changed: 56 additions & 19 deletions

File tree

814 KB
Loading

projects/csgl-lightsail-wordpress.html

Lines changed: 56 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -183,28 +183,37 @@ <h2>Incident and Redesign</h2>
183183
</p>
184184
</div>
185185

186-
<h2>Architecture (Improved Design)</h2>
186+
<h2>Current Production Architecture</h2>
187187

188188
<div class="content-block">
189-
<div class="project-architecture"><a href="../assets/images/csgl-lightsail-recovery-architecture.png" class="lightbox-trigger">
189+
<div class="project-architecture">
190+
<a href="../assets/images/csgl-lightsail-production-architecture.png" class="lightbox-trigger">
190191
<img
191-
src="../assets/images/csgl-lightsail-recovery-architecture.png"
192-
alt="AWS Lightsail recovery architecture with automated snapshots, monitoring and alerting"
192+
src="../assets/images/csgl-lightsail-production-architecture.png"
193+
alt="Current AWS Lightsail WordPress production architecture with monitoring, automated snapshots, rollback recovery and alerting"
193194
class="architecture-diagram"
194195
>
195196
</a>
196197
</div>
197198

198199
<p>
199-
Following the incident, the architecture was redesigned to use a snapshot-based recovery strategy with automated retention and monitoring.
200+
The current production architecture combines AWS Lightsail hosting with automated snapshots, monitoring, alerting and rollback recovery workflows.
201+
</p>
202+
203+
<p>
204+
The production WordPress site runs on the official AWS Lightsail WordPress blueprint in eu-west-2, using a static IP and DNS-based routing for stable public access.
205+
</p>
206+
207+
<p>
208+
Automated daily snapshots provide short-term recovery, while EventBridge-triggered Lambda snapshots provide longer-term retention. CloudWatch alarms, Route 53 health checks and SNS notifications monitor availability and operational health.
200209
</p>
201210

202211
<p>
203-
This improved approach prioritises fast, reliable recovery and removes the need for manual environment reconstruction.
212+
A separate recovery instance workflow allows snapshots to be restored and tested before cutover, reducing operational risk during migration and disaster recovery scenarios.
204213
</p>
205214
</div>
206215

207-
<h2>Improved Backup Strategy</h2>
216+
<h2>Recovery & Backup Strategy</h2>
208217

209218
<div class="content-block">
210219
<p>
@@ -217,15 +226,15 @@ <h2>Improved Backup Strategy</h2>
217226
<li>Weekly automated snapshots via Lambda (12-month retention, to bypass the above limitation)</li>
218227
</ul>
219228

220-
<p>
221-
An EventBridge schedule triggers a Lambda function to create weekly snapshots, with CloudWatch monitoring and SNS email alerts for failure detection.
222-
</p>
229+
<p>
230+
An EventBridge schedule triggers a Lambda function to create weekly snapshots, with CloudWatch monitoring and SNS email alerts for failure detection.
231+
</p>
223232

224-
<p>
225-
This design ensures both short-term recovery and long-term resilience without manual intervention.
226-
</p>
233+
<p>
234+
This design improves both short-term recovery capability and long-term operational resilience without requiring manual intervention.
235+
</p>
227236
</div>
228-
237+
229238
<h2>Platform Migration</h2>
230239

231240
<div class="content-block">
@@ -251,6 +260,34 @@ <h2>Platform Migration</h2>
251260
</p>
252261
</div>
253262

263+
<h2>Monitoring & Operational Stability</h2>
264+
265+
<div class="content-block">
266+
267+
<p>
268+
After migration to the official Lightsail WordPress blueprint, the production site experienced intermittent instability caused by memory pressure on a 1 GB instance with no swap configured.
269+
</p>
270+
271+
<p>
272+
Investigation showed the issue was most likely caused by temporary RAM exhaustion during periods of increased WordPress, Apache or background maintenance activity.
273+
</p>
274+
275+
<p><strong>Operational improvements implemented:</strong></p>
276+
277+
<ul>
278+
<li>Configured a persistent 1 GB swap file for improved stability under memory pressure</li>
279+
<li>Implemented Route 53 HTTPS health checks for external uptime monitoring</li>
280+
<li>Added CloudWatch alarms and SNS email notifications for outage detection</li>
281+
<li>Added Lightsail alarms for CPU utilisation, burst capacity and status check failures</li>
282+
<li>Validated end-to-end alerting using a real Apache outage test</li>
283+
</ul>
284+
285+
<p>
286+
These changes improved operational visibility and significantly strengthened the resilience of the production environment.
287+
</p>
288+
289+
</div>
290+
254291
<h2>Cost</h2>
255292

256293
<div class="content-block">
@@ -288,17 +325,17 @@ <h2>Outcome</h2>
288325
<li>The site is live in production on the official AWS Lightsail WordPress blueprint.</li>
289326
<li>HTTPS, redirects, contact forms, analytics and Google Workspace mail flow are working correctly.</li>
290327
<li>Typical monthly hosting cost was reduced by ~94–96% compared with the previous managed hosting setup.</li>
291-
<li>Recovery is now based on Lightsail snapshots, automated weekly snapshots and tested rollback workflows.</li>
292-
<li>The final solution balances simplicity, cost control and operational reliability.</li>
328+
<li>Recovery and monitoring now include automated snapshots, rollback workflows, Route 53 health checks, CloudWatch alarms and SNS alerting.</li>
329+
<li>The platform now balances simplicity, cost control, recoverability and operational reliability.</li>
293330
</ul>
294331
</div>
295332

296333
<h2>Next Steps</h2>
297334

298335
<div class="content-block">
299-
<p>
300-
Next steps include improving observability, tightening backup validation, and strengthening recovery documentation. As requirements grow, the architecture could evolve beyond Lightsail to a more modular AWS design.
301-
</p>
336+
<p>
337+
Future improvements could include infrastructure-as-code deployment, centralized logging, enhanced metrics collection and migration to a more modular multi-service AWS architecture if scaling requirements increase.
338+
</p>
302339
</div>
303340

304341
</div>

0 commit comments

Comments
 (0)