Illustration of a hiker and their dog sitting on a rocky outcrop at sunset, looking out over layered mountain ridges and a river winding through the valley below.
Why CloudHound

Built for AWS and OCI migrations by people who have run them

CloudHound covers discovery, cost modeling and migration in one platform. It measures every server, prices it against live AWS and OCI rates, and moves it to AWS or OCI.

Collected data

Each record is a sample from a running server: CPU, memory, disk, processes and network flows. The same data is used to price, plan and migrate the estate.

 
records collected, and counting

From first install to cutover

A typical engagement, day by day.

  1. Day 0

    Install

    One command per server, or agentless over SSH and WinRM. Inventory, processes and connections arrive instantly.

  2. Hour 1

    First utilization data

    CPU, memory and disk are sampled every minute, and each server is described within minutes.

  3. Day 3

    Costed estate

    Every server priced against live AWS and OCI rates: on-demand, reserved and savings plan side by side.

  4. Day 5

    Dependency mapping

    Five days of network flows are clustered into applications.

  5. Day 7

    Wave plan

    A wave plan is generated from the dependency map. You can drag applications between waves.

  6. Cutover

    Migration

    Each wave replicates, verifies block by block, converts and boots on EC2. 125 servers in 12 minutes.

Data residency

You choose one of seventeen AWS regions when you create a portfolio. Agents in any country report to that region over outbound-only TLS, and their data is processed and stored only there.

7,905
Agents reporting
0
Records received since you opened this page

Right-sizing

The agent records high fidelity utilization at one-minute resolution, continuously: CPU, memory and the operation and byte counters of every drive. Each server is sized to its measured use over 7 days of these one-minute readings. Here is one week of an illustrative application server, provisioned at 8 vCPU and 32 GiB with nine drives, its CPU and memory shaped on a production server’s week.

CPUPer minute, 7 days
MemoryPer minute, 7 days
Disk throughput9 drives stacked, per minute, 7 days, MiB/s. Legend: p99 per drive
C: System1.5 MiB/s, 151 IOPS
D: Application28.5 MiB/s, 744 IOPS
E: Logs13.8 MiB/s, 514 IOPS
F: Uploads30.9 MiB/s, 367 IOPS
G: Cache32.0 MiB/s, 2,296 IOPS
H: Queue10.1 MiB/s, 1,330 IOPS
I: Reports37.1 MiB/s, 979 IOPS
J: Backups79.6 MiB/s, 366 IOPS
K: Archive15.6 MiB/s, 334 IOPS
Provisioned

8 vCPU, 32 GiB, 9 drives

CPU needed

8 × 63% × 1.2 = 6.04rounded up to 7 vCPU

Memory needed

32 × 65% × 1.1 = 22.9 GiBof 32 GiB provisioned

Disk throughput needed

126 MiB/s = 132 MB/s

Disk IOPS needed

4,650 IOPS

Recommended

m6a.2xlarge8 vCPU, 32 GiB, 312 MB/s and 12,000 IOPS to EBS. The smallest size with enough vCPU and memory. m5a.2xlarge costs within 0.5% of it, so CloudHound picks the newer m6a.

Volumes

9 × gp3Each volume provisioned from its own p99. The busiest drive needs 2,296 IOPS and 80 MiB/s, inside the 3,000 IOPS and 125 MiB/s every gp3 volume includes, so nothing is provisioned above the baseline. io2 is recommended only above 80,000 IOPS or 2,000 MiB/s

One server after a week of discovery

What CloudHound knows about a typical application server after a week of discovery. The server is illustrative; every field on it is one the agent collects.

ORDERS-APP-02
Windows Server 2016 StandardVMware VM8 vCPU, 32 GiB10.20.14.37
7 daysObserved
10,080Samples per metric
289Fields per sample
12Connections mapped
Order management application server

Hosts the customer order portal and its API in IIS, and a Java service under Tomcat that takes orders from the EDI gateway and archives documents to Amazon S3. A local SQL Server instance holds the order databases; reporting and the warehouse system read from it on 1433. Busy 07:00 to 19:00 on weekdays, quiet overnight apart from the 02:00 backup.

Migration effort2 of 5

Lift and shift. Every dependency is reached by name or IP, with no hardware dongles or host-bound licenses.

Linux replatforming3 of 5

The API and the Tomcat service move as they are. The portal is .NET Framework 4.8 and needs porting first.

Containerization3 of 5

order-sync is stateless and container ready. The database stays on EC2 or moves to RDS.

Right sizing
8 vCPU32 GiB today
m6a.2xlarge8 vCPU, 32 GiB

$520.93 a month on demand, $396.59 on a 3-year no-upfront Compute Savings Plan, Windows, US East (Ohio), plus $188.80 for nine right-sized gp3 volumes.

ProcessPortsCPUMemoryTraffic/minPresence
w3wp.exe OrdersPortalIIS worker for the order portal443, 809.8%11.2%26.5 MiB100%
sqlservr.exeSQL Server, instance MSSQLSERVER14336.1%36.0%20.5 MiB100%
java.exe order-syncTomcat 9 running the EDI order sync8080, 84433.4%9.8%6.4 MiB100%
w3wp.exe OrdersApiIIS worker for the order API-2.6%3.9%8.3 MiB100%
MsMpEng.exeMicrosoft Defender antivirus-1.1%1.3%-100%
beremote.exeBackup Exec remote agent100000.3%0.6%12.9 MiB100%
sqlagent.exeSQL Server Agent, runs the 02:00 jobs-0.2%0.4%-100%
ch-agent.exeCloudHound discovery agent-0.1%0.1%<0.1 MiB100%
zabbix_agentd.exeZabbix monitoring agent100500.1%0.1%-100%
lsass.exeLocal Security Authority-0.2%0.3%0.3 MiB100%
svchost.exe TermServiceRemote Desktop Services33890.1%0.2%-100%

Traffic per process is the sum of the traffic on the connections that process owns. Presence is the share of samples the process was running in.

DirectionPeerPortProcessTraffic/minPresence
IncomingF5 load balancer10.20.1.10443 HTTPSw3wp.exeOrdersPortal24.1 MiB100%
IncomingF5 load balancer10.20.1.10443 HTTPSw3wp.exeOrdersApi7.7 MiB100%
IncomingREPORT-SQL-0110.20.14.521433 SQL Serversqlservr.exe14.6 MiB96%
IncomingBACKUP-0110.20.3.4010000 NDMPberemote.exe12.9 MiB4%
IncomingWMS-APP-0110.20.16.111433 SQL Serversqlservr.exe5.9 MiB100%
IncomingEDI-GW-0110.20.9.218080 HTTPjava.exeorder-sync4.2 MiB100%
OutgoingFILE-0210.20.4.20445 SMBw3wp.exeOrdersPortal2.4 MiB88%
OutgoingAmazon S3us-east-1443 HTTPSjava.exeorder-sync2.2 MiB42%
OutgoingPayment gateway203.0.113.40443 HTTPSw3wp.exeOrdersApi0.6 MiB97%
OutgoingDC-0110.20.2.10389 LDAPlsass.exe0.3 MiB100%
OutgoingCloudHoundcollections443 HTTPSch-agent.exe<0.1 MiB100%
IncomingNo clients seenIdle listener8443 HTTPSjava.exeorder-sync--
DriveIOPS, 7 daysMiB/s, 7 daysVolume on AWS
C:SystemNTFS, SCSI 0:0, 78 of 120 GiB
gp3, 120 GiB, $9.60 a monthKept, the saving is under 10%3,000 IOPS, 125 MiB/s, the baseline
D:ApplicationNTFS, SCSI 0:1, 262 of 400 GiB
gp3, 400 GiB, $32.00 a monthKept, the taper lands on its size3,000 IOPS, 125 MiB/s, the baseline
E:LogsNTFS, SCSI 0:2, 41 of 100 GiB
gp3, 60 GiB, $4.80 a monthRight-sized from 100 GiB3,000 IOPS, 125 MiB/s, the baseline
F:UploadsNTFS, SCSI 0:3, 133 of 250 GiB
gp3, 190 GiB, $15.20 a monthRight-sized from 250 GiB3,000 IOPS, 125 MiB/s, the baseline
G:CacheNTFS, SCSI 0:4, 22 of 60 GiB
gp3, 40 GiB, $3.20 a monthRight-sized from 60 GiB3,000 IOPS, 125 MiB/s, the baseline
H:QueueNTFS, SCSI 0:5, 9 of 40 GiB
gp3, 20 GiB, $1.60 a monthRight-sized from 40 GiB3,000 IOPS, 125 MiB/s, the baseline
I:ReportsNTFS, SCSI 0:6, 57 of 150 GiB
gp3, 80 GiB, $6.40 a monthRight-sized from 150 GiB3,000 IOPS, 125 MiB/s, the baseline
J:BackupsNTFS, SCSI 0:8, 388 of 600 GiB
gp3, 600 GiB, $48.00 a monthKept, the saving is under 10%3,000 IOPS, 125 MiB/s, the baseline
K:ArchiveNTFS, SCSI 0:9, 610 of 1000 GiB
gp3, 850 GiB, $68.00 a monthRight-sized from 1,000 GiB3,000 IOPS, 125 MiB/s, the baseline

Web applications

ApplicationRuntimeFrameworkServed byBindings
OrdersPortalD:\inetpub\OrdersPortal.NET Framework 4.8ASP.NET MVC 5IIS 10https *:443 orders.corp.local
OrdersApiD:\inetpub\OrdersApi.NET Core 3.1.32ASP.NET CoreIIS 10 (ANCM)https *:443 /api

Background services

ServiceRuntimeServed byPath
order-syncJava 11.0.22Apache Tomcat 9.0.83D:\apps\tomcat9\webapps\order-sync

Network interfaces

InterfaceDriverAddressMTUMiB/s p99
Ethernet0vmxnet310.20.14.37/2415001.9
DatabaseEngineEditionSizeStatusBindings
OrdersDBD:\MSSQL\DATASQL Server 2016 SP3MSSQLSERVER, 13.0.6300Enterprise184.2 GiBOnline*:1433
EdiArchiveD:\MSSQL\DATASQL Server 2016 SP3MSSQLSERVER, 13.0.6300Enterprise41.0 GiBOnline*:1433
OrdersStagingD:\MSSQL\DATASQL Server 2016 SP3MSSQLSERVER, 13.0.6300Enterprise22.7 GiBOnline*:1433
ReportCacheD:\MSSQL\DATASQL Server 2016 SP3MSSQLSERVER, 13.0.6300Enterprise9.4 GiBOnline*:1433
OrdersDB_2019D:\MSSQL\DATASQL Server 2016 SP3MSSQLSERVER, 13.0.6300Enterprise6.3 GiBOffline*:1433

SQL Server Enterprise features

FeatureIn useEnterprise edition
Table partitioningNoNot needed
Online index operationsNoNot needed
Always On availability groupsNoNot needed
Transparent data encryptionNoNot needed
Memory above 128 GiBNoNot needed
VendorTypeVersionStatusLast used
Microsoft.NET FrameworkC:\Windows\Microsoft.NET\Framework64\v4.0.303194.8.04161In use by IISToday
MicrosoftASP.NET Core RuntimeC:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\3.1.323.1.32Running (1)Today
Microsoft.NET RuntimeC:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.366.0.36Installed, not runningNever
Eclipse AdoptiumJava JDK (default)C:\Program Files\Eclipse Adoptium\jdk-11.0.22.711.0.22Running (1)Today
OracleJava JREC:\Program Files\Java\jre1.8.0_2021.8.0_202Installed, not running11 Mar 2024
CPUp99 63%
Memoryp99 65%
Networkp99 1.9 MiB/s
Disk IOPS, summedp99 4,649 IOPS

High fidelity utilization: one sample every 60 seconds, 10,080 per metric over the week. Dashed navy line is the 99th percentile, orange is the sizing buffer above it, 20 percent on CPU and 10 percent on memory.

Migration readiness

Ready
Supported by the migration engineWindows Server 2016 boots on every current EC2 family. All nine disks are SCSI and replicate at full speed.
Ready
Dependencies mapped10 peers across 7 applications. Moves in the Orders wave with REPORT-SQL-01 and EDI-GW-01.
Review
Windows Server 2016Extended support ends 12 Jan 2027.
Action
SQL Server 2016Extended support ended 14 Jul 2026.
Action
.NET Core 3.1Out of support since 13 Dec 2022, still serving OrdersApi.
Review
Oracle Java 8 installedUnused since March 2024. Remove it before it becomes a license question.
Ready
SQL Server licenseEnterprise installed, no Enterprise feature in use. Standard is enough.

Reclaimable before migration

Total
31.4 GiB before migrationSafe to clear 13.9 GiB, review 17.5 GiB first.
Safe
IIS logs, 6.1 GiBC:\inetpub\logs\LogFiles, 18,442 files
Safe
Page file, 7.8 GiBC:\pagefile.sys, recreated at boot
Review
SQL Server backups, 17.5 GiBJ:\MSSQL\Backup, 14 files

Dependency mapping

An illustrative estate, drawn the way CloudHound draws yours from the network flows between your servers: 145 servers, 780 connections, grouped into applications. Drag a server, hover to see what it talks to, click an application to isolate it.

Wave planning

CloudHound sees which servers talk to each other and uses that traffic to group them into applications. Each application is then placed in a migration wave with the databases it depends on, so nothing moves without the systems it needs. This example follows 1,000 servers from discovery to a ten-wave plan. Drag to rotate it.

1 of 6

Illustrative estate of 1,000 servers in 41 applications.

What moves where

CloudHound moves each server to AWS in one of two ways. It can rehost the whole server on Amazon EC2 as an exact, verified copy. It can also replatform the server's databases directly to Amazon RDS for SQL Server, PostgreSQL, MySQL or MariaDB.

  • The server is perfectly cloned
  • Drivers and bootloader converted for EC2
  • Every block verified before the server boots
  • Automatic health checks
  • Sized to the workload and cost-optimized
  • 85+ preflight checks for RDS compatibility
  • Databases restored into Amazon RDS
  • Tables, rows, roles and settings verified
  • Sized to the workload and cost-optimized
  • Credentials do not change

Database server

Windows Server 2022, SQL Server 2022
Operating system
Applications and services
Databases
Data files
In use

Amazon EC2

r6a.xlarge
Waiting

    Migration support

    CloudHound supports 135 operating system variants, and can migrate 99.5% of the enterprise servers we have seen in use.

      Arrive on a supported Windows Server

      Many Windows servers moving to AWS run a release Microsoft no longer supports. CloudHound can upgrade them to Windows Server 2025 during the migration, so they arrive supported until November 2034.

      48Out of support34Ending within a year58Supported
      Windows Server

      Example estate of 140 Windows servers. Support dates are Microsoft's end of extended support.

      One disk, from first sync to go live

      Block-level migration copies the disk's blocks, so the result is an exact clone that boots as the source did. The source is never modified. Reading raw blocks runs at disk speed: in our benchmark a 1 TiB disk copied in 255 seconds. Every pass after it moves only the blocks that changed, so the final sync carries only recent changes. Before launch, the target volume is read back and compared with the source block by block, then the disk is right-sized. The figures below are from an illustrative disk.

      1. Initial sync-Blocks in use
      2. Delta-Changed blocks only
      3. Final sync-Moments before launch
      4. Verify-Data blocks checked
      5. Rightsize-Free space trimmed
      Not yet copiedUnusedChanged on the sourceOn the targetVerifiedTrimmed

      Automated QA after launch

      When servers boot on EC2, CloudHound checks that everything has come back as it ran on the source - every service, port, database, volume and network path.

      Applications
      • IIS web server
        W3SVC running
      • SQL Server
        MSSQLSERVER and SQL Server Agent running
      • Application services
        2 line-of-business services running
      • Listening ports
        80, 443, 1433 and 135 open
      • Website bindings
        Both HTTPS sites answer
      • SQL Server instance
        Engine and edition match the source
      • Databases
        5 of 5 online
      Storage
      • Volume C:
        System, 80 GiB
      • Volume D:
        Data, 400 GiB
      • Volume L:
        SQL Server logs, 100 GiB
      • Mapped drive S:
        File share on the file server
      Network
      • Inbound 443
        Office users, allowed by route, ACL and security group
      • Inbound 1433
        3 app servers on 10.20.8.0/24: no route back
      • Payments API
        HTTPS 443 reached
      • File server
        SMB 445 reached
      • Mail relay
        SMTP 25: no route to 10.20.9.0/24
      • Configured addresses
        Addresses in the app settings reached
      • DNS
        The resolver answers
      System
      • Address
        From the target subnet
      • Clock
        Following a time server
      • Windows activation
        Activated on EC2
      • Domain
        A domain controller answers
      • Core services
        Firewall, event log, time, network
      • Resources
        CPU, memory and disk space within limits
      • Restarts
        No unexpected restarts
      • Boot events
        CD-ROM driver: EC2 has no optical drive
      Example: a Windows Server 2019 application server with IIS and SQL Server
      How to fix it

      Neither issue is on the server. The route table of its subnet in AWS has no route to two networks on premises. In the VPC console, open that route table and add:

      • 10.20.8.0/24
        through the transit gateway, for the 3 app servers
      • 10.20.9.0/24
        through the transit gateway, for the mail relay
      Waiting for the server to boot
      0/26
      Collecting information from the server

      125 servers in 12 minutes

      A replay of our September 2026 benchmark: 125 servers across 94 operating system variants and 140 disks totaling 9.3 TiB, every one replicated, verified block by block, converted, booted and confirmed on EC2.

      14
      GiB/s
      11m
      33s
      100%
      0 queued0 replicating0 launching125 booted

      Ask CH

      Ask CH, the CloudHound assistant, works from the same data as the rest of the platform. One message can produce the assessment pack and then start the migration.

      • PPTXA board readout in your own template: headline figures, end-of-support risk, right-sizing, the business case and the waves.
      • XLSXA workbook of real tables and live formulas over named assumptions, so the term or discount can be changed.
      • DOCXA written report with a contents page, numbered sections, figures and tables.
      • RUNThe migration itself. It lists the servers it will replicate and waits for your approval before anything moves.

      The estate, the figures and the documents shown are illustrative.

      Most AI assistants
      ›
      ‹1,164 servers
      That's a database query.
      Ask CH
      Readiness assessment · 1,164 servers
      Cost estimate · 6 pricing strategies
      Regional pricing · 7 regions compared
      Utilization · 7 days, 95th percentile
      End-of-life data · 208 near end of support
      Licensing · 226 SQL Server instances
      Dependency map · 89 application groups
      Wave plan · 7 named waves
      Composing the readout, workbook and report
      PPTXmap-assess-readout.pptx15 slides
      XLSXbusiness-case.xlsxlive formulas
      DOCXboard-report.docxyour template
      business-case.xlsx  ·  Excel
      D6fx=SUM(Servers[Annual cost on AWS]) * (1 - Discount)
      ABCDEF
      1Aldermont Health · AWS business case
      2Every figure below is a formula over the Servers and Assumptions sheets
      3Cost line (USD a year)TodayOn AWSSavingShare of AWS billAssumption
      4Block storage3,510,0002,310,0001,200,00035%gp3, used data
      5Backup2,640,0001,930,000710,00029%30-day retention
      6EC2 compute3,100,0001,180,0001,920,00018%3-yr savings plan
      7Windows and SQL licenses1,420,000550,000870,0008%License included
      8Network and support790,000650,000140,00010%Business support
      9Total11,460,0006,620,0004,840,00042% lower5 years: 24.2M
      10
      11Term3 yearsDiscount0%Regionus-west-2
      SummaryServersAssumptionsPricing
      board-report.docx  ·  Word
      FileHomeInsertDesignLayoutReferencesReviewView
      Calibri11Heading 1Normal
      ALDERMONT HEALTH · AWS Migration AssessmentBoard report

      7. The business case

      Running the assessed estate on AWS is estimated at USD 6.62M a year against a current run cost of USD 11.46M, a reduction of 42%. Over five years the difference is USD 24.2M. The estimate uses live AWS price lists for US West (Oregon), a three-year compute savings plan with no upfront payment, and right-sizing on 7 days of high fidelity utilization.

      USD 11.46Mcurrent annual run cost
      USD 6.62Mannual cost on AWS
      USD 24.2Msaved over five years

      7.1 Where the money goes

      Figure 7.1 Annual cost on AWS by component (USD)
      Block storage2.31M
      Backup1.93M
      EC2 compute1.18M
      Windows and SQL licenses0.55M
      Network overhead0.31M
      AWS Business support0.28M

      Storage and backup make up 64% of the AWS bill. Tiering file-server and backup data to S3 and FSx is the largest saving still available after migration.

      7.2 Pricing strategy

      Table 7.2 Annual cost by commercial strategy
      StrategyAnnual costvs on-demand
      No right-sizingUSD 8.94M+20%
      On-demandUSD 7.48M-
      1-year savings planUSD 6.84M-9%
      3-year savings plan (selected)USD 6.62M-11%

      7.3 Five-year view

      Figure 7.3 Cumulative saving against the current run cost (USD)
      4.8M9.7M14.5M19.4M24.2M
      Year 1Year 2Year 3Year 4Year 5
      1. Prices from AWS price lists. 2. Right-sizing at the 95th percentile plus 20% CPU and 10% memory headroom.
      AWS Migration AssessmentPage 7 of 24
      ALDERMONT HEALTH · AWS Migration AssessmentBoard report

      8. End-of-support exposure

      36 servers already run software past vendor end of support and a further 172 reach it within twelve months, 18% of the estate. Migration is the point at which that risk is retired: each wave replaces or upgrades the unsupported software it carries.

      Windows Server 2012 R2 and SQL Server 2012 to 2016 are the most urgent: 50 servers already past support. All of them are scheduled into waves 1 to 3.

      8.1 Hotspots

      Table 8.1 Software at or near end of support
      SoftwareServersSupport endsRisk
      Windows Server 2012 R214Oct 2023Critical
      SQL Server 2012 / 2014102022 / 2024Critical
      SQL Server 201626Jul 2026Critical
      CentOS / Red Hat 719Jun 2024Critical
      PostgreSQL 9.3 - 13172018 - 2025Critical
      Windows Server 2016168Jan 2027Warning
      SQL Server 201727Oct 2027Warning
      Windows Server 2019452Jan 2029Watch

      8.2 Remediation by wave

      Wave 1 (50 servers) retires every Windows Server 2012 R2 host and moves its workloads to Windows Server 2022 on EC2.

      Waves 2 and 3 carry the SQL Server estate, re-platforming 2012 to 2016 instances to supported versions or to RDS.

      8.3 If the estate stays where it is

      Staying on premises means buying extended security updates each year from 2027, and leaves 208 servers without vendor patches for part or all of that period.

      OptionSecurity updatesCost trend
      Migrate in waves 1 to 3Current on arrivalFalls 42%
      Extended supportPaid, time-limitedRises yearly
      Do nothingNoneFlat, risk grows
      3. Counts are servers except PostgreSQL (instances). 4. Windows Server 2019 extended support ends January 2029.
      AWS Migration AssessmentPage 8 of 24
      Page 7 of 246,412 wordsEnglish (United States)
      Then the migration
      Nothing moves until you approve it.
      Approve these changes?
      Start replication for novadesk-vda-01US West (Oregon) · initial sync
      Start replication for novadesk-vda-02US West (Oregon) · initial sync
      Start replication for novadesk-vda-03US West (Oregon) · initial sync
      47 more servers in wave 1
      ApproveCancel
      Throughput
      Transferred
      vda-01
      vda-02
      vda-03
      vda-04
      vda-05
      + 45 more
      Discovery to board pack to replication, in one conversation.
      Ask CH, the CloudHound assistant

      Who we are

      CloudHound was founded by two people who have sat on both sides of an enterprise migration. Aidan has built software companies for twenty years on AWS, most recently working as a principal solutions architect at an AWS Premier Partner, running assessments and migrations. Alex spent four years at AWS in Seattle on strategic accounts, negotiating the largest enterprise agreements with its biggest customers.

      Every migration we ran used the same tooling: discovery tools that were not reliable, assessments that took months and still left questions open, and a migration tool that was a separate product again. So we built one platform for discovery, assessment and migration.

      CloudHound is an AWS ISV Partner holding the ISV Migration and Modernization, AI Software and Microsoft Workloads competencies. It is built for partners: you run it inside your clients’ estates, keep the engagement, and deliver the assessment in days.

      Illustration of a meeting table by a window over a city skyline, with a laptop and network diagram on one side and a signed agreement and pen on the other.
      Statue of a dog sitting on a stepped pedestal surrounded by tall trees and plants in soft sunlight.
      AWS Partner

      “CloudHound gives us immediate clarity on complex environments - from discovery through to wave planning - allowing us to deliver faster, more confident outcomes for our customers.”

      Head of Migrations
      AWS Premier Partner

      Contact Us