How to Choose the Right Dedicated Server for Your Needs in 2026
The right dedicated server is not necessarily the machine with the most CPU cores, RAM, or storage. It is the server that matches your workload, expected growth, network location, management capability, security requirements, and total budget without creating an expensive bottleneck somewhere else.
A balanced configuration matters. A powerful processor cannot compensate for slow storage in a database workload. Large amounts of RAM will not solve high latency caused by the wrong data-center location. Cheap hardware can become costly when backups, DDoS protection, licensing, remote management, or support are missing.
Quick answer: To choose a dedicated server, define the workload first, measure its CPU, memory, storage, and network needs, then select a recent processor, enough ECC RAM, suitable SSD or NVMe storage, appropriate RAID, a data center close to users, and a support level your team can manage. Compare total cost—including licenses, backups, security and bandwidth—not only the advertised server price.
Dedicated Server Buying Checklist
| Area | What to verify | Why it matters |
|---|---|---|
| Workload | Application type, users, concurrency, traffic pattern, growth | Determines every later specification |
| CPU | Generation, cores, clock speed, cache, benchmark fit | Controls request processing, simulations, builds and virtual machines |
| RAM | Capacity, ECC, speed, upgrade ceiling | Affects databases, caching, concurrency and virtualization |
| Storage | NVMe/SSD/HDD, capacity, endurance, RAID, replacement process | Controls latency, IOPS, recovery and usable capacity |
| Network | Port speed, included transfer, overage, routing, DDoS protection | Affects throughput, latency, availability and monthly cost |
| Location | Distance to users, brokers, APIs or business systems | Physical distance and routing influence latency |
| Operating system | Application, panel and security-tool compatibility | Prevents unsupported software combinations |
| Management | Managed or unmanaged scope, response times, escalation | Determines who handles updates, outages and recovery |
| Backups | Off-server copies, retention, encryption, restore testing | Protects against loss that RAID cannot prevent |
| Reliability | SLA, redundant network and power, spares, remote console | Reduces downtime and shortens repair time |
| Total cost | Setup, licenses, traffic, storage, support, upgrades | Reveals the real long-term price |
Start with the fundamentals in the guide to dedicated server hosting. It explains what exclusive physical hardware provides and why dedicated hosting involves more responsibility than a typical managed website plan.
When Do You Actually Need a Dedicated Server?
A dedicated server makes sense when your workload benefits from exclusive hardware, predictable performance, hardware customization, large amounts of RAM or storage, sustained network throughput, physical isolation, or software licensing tied to a host. It can also be useful when you want to run many virtual machines, a busy database, a large ecommerce store, a game platform, a streaming service, or a specialized business application.
You may not need dedicated hardware when traffic is small, highly unpredictable, or temporary. A VPS can be more economical for modest workloads, while cloud infrastructure can be more flexible when rapid scaling and managed services matter more than fixed hardware.
Signs that it may be time to move to a dedicated server
- CPU performance is inconsistent because the current environment shares resources
- The application needs more RAM than practical VPS plans provide
- Storage I/O limits are slowing the database or application
- You require a specific CPU, GPU, storage controller, NIC, or disk layout
- Several virtual machines must run on one controlled host
- Traffic is sustained and predictable enough to justify a fixed server
- Compliance or customer requirements call for stronger physical isolation
- The current hosting platform limits kernel modules, networking, virtualization, or security tools
- Your monthly cloud bill is high and the workload is stable enough for dedicated hardware
When a VPS or cloud server may still be better
- You need fast vertical or horizontal scaling
- The workload runs only for short periods
- You want managed databases, object storage, queues or serverless services
- Your application needs multi-region failover without building it yourself
- Your team does not want to manage hardware-level failures or operating systems
- The project is still validating demand and resource use
A dedicated server is not automatically more reliable than a distributed cloud architecture. One physical machine is still one failure domain. High availability normally requires multiple servers, load balancing, replication, tested failover, and independent backups.
Step 1: Define the Workload Before Comparing Servers
Do not begin with a provider’s plan table. Begin with the work the server must perform. Two applications with the same number of users can have very different requirements. A static website, ecommerce store, transactional database, video platform, Minecraft network and virtualization host stress different parts of the machine.
Document the following:
- Application and software stack
- Average and peak concurrent users
- Requests or transactions per second
- Current CPU usage and load pattern
- Current RAM use, cache size and swap activity
- Storage capacity, IOPS, throughput and latency
- Monthly data transfer and peak network rate
- Required operating system and licenses
- Maximum acceptable downtime
- Data retention and backup objectives
- Expected growth over the next 12 to 36 months
Collect measurements from the current environment whenever possible. A month of monitoring is more useful than estimating from page views alone. Review CPU utilization, run queue, memory pressure, database cache hit rate, disk latency, disk queue, network throughput, error rate and response time during normal and peak periods.
The guide to the best Linux system monitoring tools can help you collect baseline data before moving to new hardware.
Step 2: Choose the Right CPU
CPU selection involves more than counting cores. A newer processor with fewer cores may outperform an older high-core model in a lightly threaded workload. A many-core server may be excellent for virtualization or parallel processing but unnecessary for an application limited by one busy thread.
Core count vs clock speed
Prioritize higher per-core performance and clock speed for workloads that cannot divide work efficiently across many cores. Common examples include some game servers, legacy business software, certain database operations, and latency-sensitive request processing.
Prioritize more physical cores for virtual machines, containers, build workers, rendering, encoding, parallel analytics, multi-tenant hosting, and applications that run many independent worker processes.
Processor generation matters
Do not compare CPU model names only. Newer generations may improve instructions per clock, memory bandwidth, PCIe support, security features, power efficiency, and virtualization performance. Ask the provider for the exact CPU model rather than accepting “Intel Xeon” or “AMD EPYC” as a sufficient specification.
Single-socket vs dual-socket servers
A single-socket server is often simpler and may provide lower latency between CPU cores and memory. Dual-socket platforms can offer more cores, memory capacity and PCIe lanes, but non-uniform memory access can affect applications that are not NUMA-aware. Choose dual sockets because the workload needs the extra scale, not because two processors automatically mean twice the performance.
CPU selection questions
- Is the application single-threaded, multi-threaded, or mixed?
- How many virtual machines or containers will run?
- Does the software license by core?
- Does the workload need high memory bandwidth?
- Are encryption, compression, AI, media or other accelerators useful?
- Will the CPU support the required virtualization features?
- Can the platform be upgraded without replacing the entire server?
Use the server CPU buying guide to compare core count, frequency, cache, architecture, virtualization needs and workload benchmarks in more detail.
Step 3: Estimate How Much RAM You Need
RAM requirements depend on the application, concurrency and caching strategy. Insufficient memory causes swapping, slow database queries, stalled workers and unpredictable response times. Excess memory is safer than too little, but paying for unused RAM across several years can waste a significant budget.
Practical RAM planning method
- Measure peak memory use on the current system.
- Separate operating-system use from application, database and cache use.
- Add memory for growth, traffic bursts and maintenance operations.
- Include the needs of monitoring, backup, security and control-panel services.
- Leave enough headroom to avoid routine swapping.
For databases, more RAM can increase the amount of active data kept in memory, reducing disk access. For virtualization, reserve memory for the host and management tools before allocating RAM to guests. Do not oversubscribe memory aggressively unless the workload and hypervisor behavior are well understood.
ECC memory
Error-correcting code memory can detect and correct certain memory errors. It is preferable for production servers, databases, virtualization hosts and systems where silent data corruption would be costly. Confirm whether the server uses ECC RAM rather than assuming every dedicated server does.
RAM starting points by workload
The following ranges are planning starting points, not universal requirements:
| Workload | Starting RAM range | Main variables |
|---|---|---|
| Small web server or API | 16–32 GB | Traffic, application workers, caching and control panel |
| Growing ecommerce site | 32–64 GB | Catalog size, concurrent buyers, search and database cache |
| Database server | 64–256 GB or more | Active dataset, query pattern, connections and cache targets |
| Virtualization host | 128–512 GB or more | Number and size of virtual machines plus host reserve |
| Game server host | 32–128 GB | Game, players, worlds, plugins and number of instances |
| Streaming or media processing | 32–128 GB | Concurrent jobs, buffering, resolution and encoding method |
Step 4: Select the Right Storage Type and Layout
Storage must be evaluated across latency, IOPS, sequential throughput, capacity, write endurance, redundancy, and replacement time. A database with frequent random reads and writes has different requirements from a backup archive or video library.
NVMe SSD
NVMe connects flash storage through PCIe and normally provides lower latency and higher IOPS than SATA SSDs. It is a strong default for databases, ecommerce, high-traffic websites, logging, build systems and applications with frequent random I/O.
SATA or SAS SSD
Enterprise SATA or SAS SSDs can provide predictable performance and may be sufficient when the workload does not need extreme IOPS. Check endurance, power-loss protection, interface, and whether the drive is enterprise-grade rather than relying only on the “SSD” label.
HDD
Hard drives remain useful for large, cost-sensitive datasets, archives, backup repositories and media libraries where capacity matters more than random-access speed. They are usually a poor choice for a busy transactional database unless paired with an architecture designed around their limitations.
RAID selection
- RAID 1: mirrors two drives; simple redundancy with half the raw capacity available
- RAID 10: combines mirroring and striping; useful for performance-sensitive production workloads that need redundancy
- RAID 5: provides single-parity protection with efficient capacity, but writes and rebuilds can be demanding
- RAID 6: tolerates two drive failures, with additional parity overhead
- RAID 0: improves aggregate performance and capacity but provides no redundancy
RAID is an availability tool, not a backup. It does not protect against ransomware, accidental deletion, corrupted data, compromised credentials, software bugs, or loss of the entire server. Keep independent copies outside the production machine and test restoration. The backup and restore guide provides a practical framework that also applies to dedicated servers.
Storage questions to ask the provider
- What are the exact drive models and endurance ratings?
- Are the drives new, used, or unspecified?
- Is RAID hardware-based, software-based, or not included?
- Does the controller have protected write cache?
- Are hot-swap bays available?
- How quickly are failed drives replaced?
- Is there a remote console for recovery?
- Can storage be expanded without a full migration?
Step 5: Calculate Bandwidth and Network Requirements
Network plans are often described by port speed and monthly transfer, but both must be evaluated. A 10 Gbps port does not guarantee 10 Gbps of sustained internet throughput, and an “unmetered” plan may be limited by port speed, acceptable-use terms, or network congestion.
Port speed
A 1 Gbps port is enough for many websites and business applications. Higher-speed ports can be valuable for video distribution, large file transfers, backups, data replication, high-volume APIs, game platforms, and traffic bursts. Confirm whether the port is dedicated or shared and whether the provider can demonstrate network capacity.
Monthly data transfer
Estimate outbound transfer using real monitoring data. Add growth and burst headroom. Clarify whether inbound traffic is counted, how overages are billed, and whether backup traffic between provider services is charged.
Latency and routing
Physical distance affects latency, but routing quality also matters. A nearby data center can still perform poorly if the network takes an indirect path. Test round-trip time and packet loss from the locations that matter to your users, business systems, payment gateways, APIs, game players, or trading brokers.
The guide to choosing the best server location explains the decision process, while the article on the best server location for low latency focuses on network-sensitive workloads.
DDoS protection
Ask what protection is included, what attack types it covers, how much traffic can be mitigated, whether application-layer attacks are handled, and what happens when the threshold is exceeded. A provider may null-route the server during a large attack rather than continue serving traffic. Understand the escalation process before an incident.
Step 6: Choose the Operating System and Software Stack
The operating system must support the application, control panel, database, security agent, backup software and monitoring tools. Linux is commonly selected for open-source web stacks, containers and automation. Windows Server is appropriate for IIS, Active Directory, Remote Desktop Services, Windows-only applications and Microsoft-focused environments.
Do not select the newest operating-system release without checking application certification. Control panels and commercial software may support a new release months after it becomes available. Review the best server operating systems and the comparison of Plesk vs cPanel before finalizing the installation.
Control panel or manual administration?
A control panel can simplify websites, databases, DNS, email, certificates and account management. It also adds licensing cost, background services, attack surface and a dependency on the panel’s supported configurations. Manual administration provides more flexibility but requires stronger technical skills and documentation.
Compare the best web hosting control panels when the server will host multiple websites or users.
Step 7: Decide Between Managed and Unmanaged Hosting
An unmanaged dedicated server normally includes hardware, power, network connectivity, and basic access. You handle the operating system, updates, firewall, applications, monitoring, backups, incidents and recovery.
A managed server may include some or all of those tasks, but “managed” has no universal definition. Read the service scope carefully.
Choose unmanaged hosting when:
- You have experienced Linux or Windows administrators
- You want full control over configuration and maintenance timing
- You already use monitoring, backup and security systems
- You have documented incident and recovery procedures
- The lower service cost outweighs staff time
Choose managed hosting when:
- No qualified administrator is available around the clock
- The application is revenue-critical
- You need help with patching, hardening and monitoring
- You want a provider to assist with control-panel or web-stack issues
- Downtime costs more than the management fee
Questions to ask about managed support
- Is monitoring proactive or only available after a ticket?
- Which operating systems and applications are covered?
- Are security updates installed automatically?
- Does support include database troubleshooting?
- Will the provider restore backups?
- Is malware cleanup included?
- What are the response and resolution targets?
- Is emergency support available 24/7?
- Are migrations included or charged separately?
Server-management software can improve visibility but does not replace an operational process. Review the best server management tools when planning administration and monitoring.
Step 8: Evaluate Security Before Ordering
Security should be part of the server design, not a task postponed until after launch. A provider protects the data center and network; you or the management provider normally remain responsible for operating-system and application security.
Minimum security requirements
- Supported OS with a defined patching schedule
- SSH keys or controlled RDP access
- Multi-factor authentication for provider and administrative accounts
- Firewall rules allowing only required services
- Separate administrator accounts and least privilege
- Endpoint protection where appropriate
- Central logging and alerting
- File-integrity or configuration monitoring
- DDoS protection matched to the risk
- Encrypted, off-server backups
- Regular vulnerability scanning
- Documented incident response
Windows environments can compare the best server antivirus options. Linux environments should also use layered controls rather than assuming the platform is secure by default.
Step 9: Design Backups and Disaster Recovery
A dedicated server can fail because of hardware faults, operator mistakes, ransomware, software bugs, data corruption, account compromise or a data-center incident. Backups must survive the loss of the production machine.
Define recovery targets
- Recovery Point Objective: the maximum amount of recent data you can lose
- Recovery Time Objective: the maximum acceptable time to restore service
A daily backup is insufficient when losing 24 hours of transactions is unacceptable. Likewise, frequent backups are not enough when restoring them takes two days. Recovery design must satisfy both targets.
Use multiple backup layers
A practical design may include local snapshots for fast rollback, off-server backups for machine loss, and an additional copy in another location for major incidents. Encrypt sensitive backups, protect backup credentials separately, and test full restoration—not only whether the backup job reports success.
Remember that snapshots and RAID serve different purposes from backups. Snapshots can provide quick rollback, while RAID can keep a server running after some disk failures. Neither replaces an independent recovery copy.
Step 10: Check Data-Center Reliability and Remote Access
A dedicated server depends on the facility, power, cooling, network, hardware inventory and support team around it. The physical machine is only one part of the service.
Facility and network questions
- Are power feeds and network paths redundant?
- Which carriers and internet exchanges are available?
- What uptime commitment is written into the SLA?
- What service credits apply after downtime?
- How are maintenance windows communicated?
- Is replacement hardware stocked on site?
- How quickly can a failed drive, PSU or server be replaced?
- Does the facility meet required compliance standards?
Out-of-band management
IPMI, iDRAC, iLO, KVM-over-IP or another remote console allows administrators to view the machine, change boot settings, mount installation media and recover access when the operating system or network configuration fails. Confirm whether remote management is included and how it is secured.
Understanding the difference between a professional facility and an in-office setup is easier with the data center vs server room comparison. Businesses that own hardware but want to place it in a provider facility can also review colocation hosting.
Step 11: Plan for Growth and Migration
Dedicated servers do not scale vertically as instantly as virtual machines. Upgrading RAM or storage may require downtime, while a CPU upgrade can require moving to a different chassis. Ask what can be changed in place and what requires a migration.
Growth options to evaluate
- Additional RAM and storage bays
- Faster network ports
- Private networking between servers
- Load balancers and additional nodes
- Database replication
- Object or backup storage
- GPU availability
- IPv4 and IPv6 allocation
- Migration support to newer hardware
Plan the next step before the first server becomes full. A clear scale-out architecture can prevent an emergency migration. For virtualized growth, confirm whether the server and provider support the required hypervisor and nested features. The article on nested virtualization explains the compatibility questions to consider.
Step 12: Calculate Total Cost of Ownership
The advertised server price may exclude the services required for production. Compare the complete cost over the expected contract period.
Include these costs
- Monthly server rental
- Setup fee
- Operating-system license
- Control-panel license
- Database or application licenses
- Managed support
- Backup storage and transfer
- Additional IP addresses
- DDoS protection upgrades
- Traffic overages
- Remote-hands charges
- Hardware upgrades
- Migration work
- Internal administrator time
A lower-priced unmanaged server can be more expensive than a managed plan after staff time and incident response are included. A powerful server can also be wasteful when a smaller configuration provides the same user experience. Compare value against measured requirements.
Recommended Dedicated Server Specifications by Use Case
These are general starting points for planning. Test your real workload before purchasing and leave capacity for growth.
| Use case | CPU direction | RAM starting point | Storage direction | Network focus |
|---|---|---|---|---|
| Business website or small SaaS | Modern 4–8 core CPU | 16–32 GB ECC | Mirrored SSD or NVMe | Reliable 1 Gbps port, suitable location |
| Busy WordPress or ecommerce | Strong per-core performance, 8–16 cores | 32–64 GB ECC | NVMe RAID 1 or RAID 10 | Low latency, DDoS protection, sufficient transfer |
| Database server | 8–32+ cores based on query concurrency | 64–256+ GB ECC | Enterprise NVMe with redundancy | Fast private networking and replication path |
| Virtualization host | High core count with virtualization support | 128–512+ GB ECC | NVMe or enterprise SSD RAID | Private network, management network, high throughput |
| Game server | High per-core speed; cores based on instances | 32–128 GB ECC | Fast NVMe | Low latency to players and DDoS protection |
| Video streaming or media | Many cores or suitable acceleration | 32–128+ GB ECC | NVMe for processing, large HDD/SSD for media | High port speed and generous transfer |
| Backup or archive server | Modest modern CPU | 16–64 GB ECC | High-capacity HDD with redundancy | Throughput and predictable transfer cost |
| Forex or latency-sensitive application | Strong per-core performance | 16–64 GB ECC | Mirrored SSD or NVMe | Location and route quality are critical |
How to Compare Dedicated Server Providers
Compare providers using a consistent worksheet rather than selecting the first attractive plan. Record the exact hardware, network, support and contract details for each option.
Hardware transparency
Prefer listings that name the exact CPU model, RAM type, storage model or class, RAID option, port speed and transfer allowance. Labels such as “enterprise CPU,” “fast SSD,” and “premium network” are too vague for a meaningful comparison.
Support quality
Check whether support is available around the clock, which channels are offered, and what the team can actually fix. Fast ticket acknowledgment is not the same as fast resolution.
Contract flexibility
Review minimum terms, cancellation policy, setup fees, upgrade rules, renewal price, data migration, and what happens to backups after cancellation.
Network testing
Use provider test IPs and download files when available. Measure latency, jitter, packet loss and throughput from relevant user locations at different times of day.
Reputation and incident handling
Look beyond star ratings. Read how the provider responds to outages, billing disputes, abuse reports and hardware failures. A provider’s communication during problems is often more revealing than marketing claims about uptime.
Dedicated Server Red Flags
- The exact CPU model is hidden
- Storage is described only as “SSD” without interface or redundancy details
- No remote console is available
- Backups are advertised but retention and restore process are unclear
- “Managed” service has no written scope
- DDoS protection has no documented limits or response process
- Traffic overage pricing is difficult to find
- The provider cannot explain hardware replacement targets
- The operating system or panel version is unsupported
- The server location is marketed broadly without naming the facility or region
- The plan has no clear path for upgrades or migration
- The offer relies on vague claims instead of measurable specifications
Questions to Ask Before Buying a Dedicated Server
- What is the exact CPU model and generation?
- Is the RAM ECC, and what is the maximum supported capacity?
- What are the drive type, model class, endurance and RAID options?
- How much usable storage remains after RAID?
- What port speed and monthly transfer are included?
- Are traffic overages charged, throttled or blocked?
- What DDoS protection is included?
- Which operating systems and control panels are supported?
- Is a remote console included?
- What happens after a hardware failure?
- What exactly does managed support cover?
- Where are backups stored, and who tests restoration?
- What uptime SLA and service credits apply?
- Can RAM, storage, network or IP allocations be upgraded?
- What are the setup, renewal and cancellation terms?
Common Dedicated Server Buying Mistakes
Buying Too Many Cores and Too Little Storage Performance
CPU-heavy marketing can distract from an I/O bottleneck. Database and ecommerce workloads often benefit more from low-latency NVMe and enough RAM than from unused CPU cores.
Choosing by RAM Alone
Large RAM capacity does not compensate for an old processor, slow disks, poor routing or limited bandwidth. Evaluate the server as a complete system.
Ignoring Software Licensing
Windows Server, control panels, databases, Remote Desktop Services and commercial applications can materially change total cost.
Using RAID as the Only Recovery Plan
RAID helps with some disk failures but cannot recover data deleted or encrypted by an attacker. Maintain off-server backups.
Selecting the Cheapest Data Center
A distant or poorly connected location can increase latency and reduce conversion, trading responsiveness or game quality. Test routes before ordering.
Underestimating Management Work
Updates, logs, alerts, backups, security, certificates and incidents continue after deployment. Assign ownership before launch.
No Capacity or Migration Plan
A server with no upgrade path can force a rushed move. Leave reasonable headroom and know how the application will scale to additional nodes.
Dedicated Server FAQs
How much RAM does a dedicated server need?
A small website or API may start with 16–32 GB, while ecommerce, databases, virtualization and large applications may need 64 GB to several hundred gigabytes. Measure current peak usage, include system and management services, then add growth headroom.
How many CPU cores should a dedicated server have?
The answer depends on whether the workload is lightly threaded or parallel. A high-clock 4–8 core CPU can outperform a slower many-core processor for some applications, while virtualization and parallel processing may need dozens of cores. Use workload-specific benchmarks.
Is NVMe necessary for a dedicated server?
NVMe is strongly recommended for busy databases, ecommerce, high-traffic websites, logging and other I/O-intensive workloads. HDDs can still be appropriate for archives and large backup datasets, while SATA or SAS SSDs may be sufficient for moderate workloads.
Is RAID 1 enough for a dedicated server?
RAID 1 is a practical option for many two-drive servers because it mirrors data and can keep the system available after one drive fails. Higher-performance or larger systems may use RAID 10 or another layout. RAID does not replace backups.
Should I choose a managed or unmanaged dedicated server?
Choose unmanaged when your team can handle operating-system security, monitoring, backups and incidents. Choose managed when you need provider assistance or when downtime costs more than the management fee. Confirm the exact scope in writing.
Which server location should I choose?
Choose a location with low latency and good routing to the users and services that matter. Test provider IPs from target regions, and consider data-residency, disaster-recovery and support requirements.
Is a dedicated server better than a VPS?
A dedicated server provides exclusive physical resources, deeper hardware control and predictable performance. A VPS is usually cheaper, faster to deploy and easier to resize. Dedicated hosting is better only when the workload benefits enough to justify the extra cost and management.
Can one dedicated server host multiple websites?
Yes. A dedicated server can host many websites using virtual hosts, containers, separate accounts or a control panel. Capacity, isolation, security and resource limits should be planned so one site cannot disrupt the others.
How long should I keep a dedicated server?
Keep it while the hardware remains reliable, supported and cost-effective for the workload. Review performance, power efficiency, replacement parts, operating-system support and provider pricing regularly. A newer server may offer better value even when the old one still functions.
What is the most important dedicated server specification?
There is no single most important specification. The limiting resource matters most: CPU for compute, RAM for databases and virtualization, storage latency for I/O-heavy applications, or network quality for traffic-sensitive services. Measure the workload before deciding.
Final Dedicated Server Recommendation
Choose a dedicated server by starting with workload measurements and business requirements, not a plan name. Match CPU design to the application’s threading model, provide enough ECC RAM for peak use and caching, select storage based on latency and endurance, and choose network capacity and location based on real traffic.
Then verify operating-system compatibility, management scope, security controls, backup recovery, remote access, hardware replacement, scalability and total cost. A balanced, supportable server will usually deliver more value than an oversized machine with missing operational essentials.
Before ordering, compare at least three configurations using the same checklist and test the network from your users’ locations. The best dedicated server is the one that meets current demand, leaves reasonable growth headroom, and can be operated securely without hidden costs or emergency migrations.