Overview

Windows IIS and AWS Hybrid Deployment

Hybrid deployment support for Windows Server, IIS, .NET hosting, WordPress, CloudWatch monitoring, database backup planning, deployment validation, PowerShell automation, and rollback documentation.

Public-safe portfolio project. Real client names, internal project names, credentials, private URLs, IP addresses, account IDs, and organization-owned source code are intentionally excluded.

AWS EC2Windows ServerIIS.NETWordPressCloudWatchS3PowerShellSQL Server/MySQL

Business Problem

The application needed a reliable Windows/IIS hosting model with clear deployment, monitoring, backup, validation, and rollback steps that could be followed consistently during support activities.

Architecture

flowchart LR
  Users[Users] --> DNS[DNS]
  DNS --> IIS[IIS on Windows Server]
  IIS --> DotNet[.NET Application]
  IIS --> WP[WordPress Site]
  DotNet --> DB[(Database)]
  WP --> DB
  Server[Windows EC2 or Server] --> Agent[CloudWatch Agent]
  Agent --> CW[CloudWatch Dashboard]
  Backup[Backup Process] --> S3[S3 or Backup Storage]
  Ops[DevOps Operations] --> PS[PowerShell Runbook]
  PS --> IIS
  PS --> Backup

My Responsibilities

  • Documented Windows Server, IIS site, application pool, .NET hosting, and WordPress hosting setup.
  • Prepared CloudWatch dashboard and monitoring documentation for server-level visibility.
  • Documented database backup, data transfer estimation, and deployment validation steps.
  • Created PowerShell-oriented operational notes and rollback guidance.

Implementation

  • Separated IIS configuration, application deployment, and operational validation steps.
  • Defined backup and rollback checkpoints before production changes.
  • Captured monitoring signals for CPU, memory, disk, service status, and application availability.
  • Documented reusable deployment flow for support and KT.

Challenges

  • Windows/IIS operations required clear step-by-step validation.
  • Application and website hosting had to be documented without exposing private infrastructure details.
  • Rollback steps needed to be simple enough for production support.

Solution

The solution combined automation, clear infrastructure boundaries, operational validation, and documentation-first handover. The design focuses on traceable releases, least-privilege access, predictable runtime behavior, and observable production systems.

Code Snippet

Representative public-safe snippet showing the type of implementation pattern used.

Get-Service W3SVC
Test-NetConnection -ComputerName localhost -Port 80
Restart-WebAppPool -Name "ApplicationPoolName"
Get-EventLog -LogName Application -Newest 20

Deployment Flow

  1. 1

    Server setup review

  2. 2

    IIS and application hosting

  3. 3

    Monitoring setup

  4. 4

    Backup planning

  5. 5

    Deployment runbook

Validation

  • Verified deployment health before routing user traffic.
  • Reviewed logs, metrics, events, and runtime configuration.
  • Documented rollback and post-deployment checks for support teams.

Monitoring and Security

  • Monitoring focused on logs, runtime status, health checks, alarms, and deployment evidence.
  • Security guidance covered IAM roles, security groups, secrets handling, and private network boundaries where applicable.
  • Operational notes included backup, restore, rollback, and incident response expectations.

Outcome and Impact

  • Improved deployment consistency for Windows/IIS workloads.
  • Improved monitoring and backup readiness.
  • Reduced support dependency on informal server knowledge.

Lessons Learned

  • Reliable DevOps delivery depends on validation, not only deployment automation.
  • Runbooks and handover notes reduce operational risk during production support.
  • Health checks, logs, access boundaries, and rollback steps should be designed before go-live.

Related Incident Experience

  • Kubernetes deployment issue
  • Storage lifecycle recovery
  • Service startup failure
  • Pipeline rollback

Pipeline Screenshots Placeholder

Jenkins pipeline evidence placeholder
CloudWatch dashboard placeholder
Deployment validation placeholder