aws cloudwatch

Amazon CloudWatch : Understanding Metrics, Alarms, and Insights

Ready to start learning? Individual Plans →Team Plans →

Cloud workloads rarely fail all at once. More often, you get warning signs first: latency creeps up, queues get longer, error rates rise, and one service starts putting pressure on another. Amazon CloudWatch is the AWS monitoring service that helps you catch those signals early with metrics, alarms, and log analysis before users feel the outage.

Quick Answer

Amazon CloudWatch is AWS’s native monitoring and observability service for collecting metrics, evaluating alarms, and analyzing logs across services like EC2, Lambda, RDS, and API Gateway. It helps teams spot rising latency, error spikes, and capacity issues early, then respond faster with dashboards, alerts, and automated actions.

Definition

Amazon CloudWatch is AWS’s native monitoring and observability service for collecting metrics, evaluating thresholds, centralizing logs, and turning operational signals into actionable alerts and diagnostics.

ServiceAmazon CloudWatch
Core FunctionsMetrics, alarms, logs, dashboards, and Insights
Best ForOperational monitoring across AWS workloads as of July 2026
Alerting ModelThreshold-based alarms, anomaly detection, and composite alarms
Troubleshooting LayerCloudWatch Logs and CloudWatch Logs Insights
Common WorkloadsEC2, Lambda, RDS, ELB/ALB, ECS, and API Gateway
Official DocumentationAWS CloudWatch User Guide

Understanding Amazon CloudWatch and Its Role in AWS Monitoring

Amazon CloudWatch is AWS’s central monitoring service for understanding whether a workload is healthy, overloaded, or drifting toward failure. It collects operational signals from AWS services and custom applications, then lets you turn those signals into alarms, dashboards, and searchable logs.

The important distinction is this: raw data tells you something happened, while actionable context tells you whether it matters. A CPU spike by itself may be harmless during a deploy. The same spike plus rising latency, elevated 5xx responses, and queue buildup points to a real incident.

CloudWatch matters because it reduces guesswork during incidents. Instead of jumping between consoles and trying to infer what failed, operations teams can look at one control plane for metrics, logs, and alerts. That is why it is often the first place engineers go when a service slows down or starts behaving unpredictably.

Good monitoring does not just show that something changed. It tells you whether the change is normal, dangerous, or the beginning of an outage.

For a service overview perspective, AWS documents the platform in the official Amazon CloudWatch service overview. For operational teams, the value is practical: fewer blind spots, faster diagnosis, and better control over drift before users notice a problem.

Pro Tip

Build your first CloudWatch view around user impact, not infrastructure vanity metrics. Request latency, error rate, and throttling usually tell a better story than raw CPU alone.

How Does Amazon CloudWatch Work?

Amazon CloudWatch works by collecting signals from AWS resources and applications, evaluating them against rules, and surfacing the results in dashboards, alarms, and logs. In practice, it is a pipeline: observe, evaluate, and act.

  1. Metrics are ingested. AWS services such as EC2, Lambda, RDS, and API Gateway publish measurable signals like CPU utilization, invocation count, duration, error rate, and latency.
  2. Alarms evaluate conditions. CloudWatch compares metric values to a threshold or anomaly band over time. If the condition persists, the alarm changes state and can notify operators or trigger automation.
  3. Logs provide diagnosis. When a problem appears, CloudWatch Logs and CloudWatch Logs Insights help you inspect application output, find failure patterns, and identify root causes.
  4. Dashboards centralize visibility. Teams can track the same signals in one place instead of navigating service by service during an outage.
  5. Actions close the loop. Alarms can be connected to response workflows, including scaling, notification, or remediation patterns, depending on how the environment is designed.

This is why CloudWatch is useful for both operations and engineering. It answers questions like: Is the workload healthy? Is traffic increasing? Is the bottleneck in compute, storage, or an upstream dependency? The official AWS documentation on CloudWatch concepts explains the service model in more detail.

What Are CloudWatch Metrics?

CloudWatch metrics are measurable values that describe how a system is performing over time. Common examples include CPU utilization, request count, latency, error rate, disk I/O, and queue depth.

Metrics are the foundation of observability because they show patterns, not just snapshots. One metric may look fine at a moment in time, but a trend line can reveal a workload that is slowly exhausting capacity. That is why metrics are useful for both short-term troubleshooting and long-term trend analysis.

AWS Service Metrics vs Custom Metrics

AWS service metrics are published automatically by AWS services. Custom metrics are application-specific signals you publish yourself when the built-in metrics are not enough.

  • Service metrics: EC2 CPU utilization, Lambda invocations, RDS connections, ALB request count.
  • Custom metrics: checkout failures, successful orders, queue backlog for a business process, or payment retries.

Custom metrics matter because technical health and business health are not always the same thing. A service can be “up” while revenue-sensitive workflows are failing silently. Publishing a metric for order completion rate or job success rate gives you context that infrastructure counters cannot provide.

A single metric rarely tells the full story. A rising latency chart is more useful when you correlate it with error rate, throughput, and saturation signals. AWS documents these patterns in the CloudWatch metrics guide.

Standard Metrics vs High-Resolution Metrics

Standard metrics are collected at normal intervals and are appropriate for most day-to-day operational monitoring. High-resolution metrics capture data at a finer granularity, which makes them better for time-sensitive systems that need faster detection and tighter feedback loops.

Standard resolution is usually enough for routine infrastructure tracking, long-running services, and general capacity planning. High-resolution metrics are more useful when a short-lived spike matters, such as a payment API that times out quickly or a latency-sensitive system where a 1-minute delay in detection is too slow.

Standard Metrics Best for routine monitoring, cost control, and trend analysis over minutes or hours.
High-Resolution Metrics Best for rapid detection, fine-grained troubleshooting, and near-real-time operational response.

The tradeoff is straightforward: more detail usually means more monitoring overhead and more data to interpret. Use high-resolution metrics where they improve decision-making, not everywhere by default. AWS documents metric granularity and pricing considerations in the CloudWatch pricing page.

Warning

Do not use high-resolution metrics just because they exist. If your team cannot act on sub-minute changes, finer granularity adds cost without improving response.

What Do Common CloudWatch Metric Categories Reveal?

CloudWatch metric categories reveal different layers of workload behavior, and each layer answers a different operational question. Infrastructure metrics show whether the platform is saturated. Application metrics show whether users are getting through. Storage and database metrics show whether a backend is under pressure.

Infrastructure Metrics

Infrastructure signals such as CPU utilization, memory-related indicators where available, and network activity are useful for identifying resource pressure. Rising CPU with stable traffic can point to inefficient code, bad autoscaling settings, or a background process consuming capacity.

Application-Facing Metrics

Application-facing signals such as request count, latency, error rate, and throttling tell you how the system behaves from a user perspective. These are often the first metrics to check during an incident because they map closely to service experience.

Storage and Database Metrics

Storage and database metrics such as I/O pressure, queue depth, active connections, and transaction latency can expose bottlenecks before an outage occurs. A database can look “healthy” on the surface while connection pools are exhausted or read latency is climbing.

A useful rule: the closer a metric is to the user journey, the more valuable it is during an incident. For broader guidance on interpretation and Observability, the goal is not just to collect data but to understand system behavior in context.

How Do You Use Custom Metrics to Track Business-Critical Signals?

Custom metrics let you monitor the things your business actually cares about, not just what AWS publishes by default. They are essential when a workload’s success depends on domain-specific events like completed orders, processed claims, fulfilled tickets, or scheduled jobs finishing on time.

For example, a retail system may publish a metric for checkout failures even if the infrastructure appears healthy. A logistics platform may track shipment update latency to detect when a downstream integration is falling behind. A SaaS team may track license activation success rate because it directly affects onboarding and revenue.

The practical advantage is early warning. Leading indicators often reveal trouble before a full failure occurs. If the success rate begins slipping while traffic is steady, the problem may be an upstream dependency, a bad deploy, or a change in request payloads.

Align custom metrics with service-level goals and operational priorities. If the business cares about conversion, then conversion-related metrics deserve as much attention as infrastructure health. For AWS guidance on publishing custom values, see the CloudWatch custom metrics documentation.

What Are CloudWatch Alarms and Why Do They Matter?

CloudWatch alarms are the mechanism that evaluates metric conditions and triggers a response when a threshold is crossed. They turn passive monitoring into active alerting.

That matters because a graph alone does not wake anyone up. An alarm can tell you when latency is beyond acceptable limits, when error rate has crossed a critical threshold, or when a system is no longer behaving within expected boundaries.

Good alarm design is about precision, not volume. A noisy alarm stream trains people to ignore alerts. A well-tuned alarm stream gives operators confidence that notifications are worth reading and worth acting on.

CloudWatch supports the operational handoff from detection to response, and AWS documents the alarm model in the CloudWatch alarm guide. For teams building reliable incident workflows, alarms should be treated as part of response design, not as an afterthought.

How Do CloudWatch Alarms Work?

CloudWatch alarms work by evaluating a metric against a condition over time and changing state when that condition is met. That simple model is what makes them reliable when configured correctly.

  1. Define the metric. Choose the signal you care about, such as CPU utilization, 5xx errors, or request latency.
  2. Set the threshold. Decide what counts as abnormal, either with a fixed threshold or an anomaly band.
  3. Choose the evaluation window. Use multiple periods when you want sustained breaches rather than brief spikes.
  4. Transition states. The alarm moves into OK, ALARM, or insufficient-data states depending on what the metric is doing.
  5. Trigger actions. The alarm can notify people, start automation, or feed into another operational workflow.

Time windows matter. A brief CPU spike during a deployment is not the same thing as a CPU pattern that stays elevated for 10 minutes. Sustained breaches are far more likely to reflect a real problem than one-off noise.

This is where alarms help reduce false positives. A good alarm does not chase every blip. It filters for conditions that are strong enough to justify action.

How Do You Design Effective Threshold-Based Alarms?

Threshold-based alarms are most effective when they reflect the behavior of the workload, not arbitrary numbers. A threshold should be based on observed baselines, service expectations, and the impact of missing the signal.

For example, a batch system may tolerate higher CPU for short periods, while an interactive API may need much tighter latency thresholds. A development environment can usually be noisier than production. A payment flow should be monitored more aggressively than a background report job.

The real tradeoff is sensitivity versus alert fatigue. Tight thresholds catch problems earlier, but they can also create unnecessary noise. Loose thresholds reduce noise but may delay detection. Good teams tune alarms by reviewing historical patterns, not by guessing.

  • CPU saturation: Useful when sustained high CPU correlates with slower response times or scaling limits.
  • Elevated error rates: Useful for spotting broken deployments, downstream failures, or invalid request patterns.
  • High latency: Useful when user experience depends on consistent response times.
  • Queue depth: Useful when backlog growth signals processing lag or downstream instability.

If you want a practical baseline for alert tuning, AWS provides monitoring and alarm design guidance in the official alarm documentation.

What Is Amazon CloudWatch Anomaly Detection?

Amazon CloudWatch anomaly detection is a pattern-based alerting approach that learns normal metric behavior and flags departures from that pattern. It is useful when static thresholds are too rigid for real-world traffic.

This matters for workloads with seasonal demand, bursty traffic, or batch activity that changes throughout the day. A fixed threshold may be too sensitive during peak hours and too quiet during off-peak periods. Anomaly detection adapts to the pattern instead of forcing the pattern to fit a single number.

Threshold Alarm Best when the expected limit is clear and stable, such as maximum error rate or acceptable queue depth.
Anomaly Alarm Best when the “normal” range changes over time, such as traffic curves, batch workloads, or periodic demand.

Anomaly detection is not a replacement for all threshold alarms. It is a complement. Use it where variability makes static limits misleading, then keep fixed thresholds for hard failure conditions. AWS covers the feature in CloudWatch anomaly detection.

What Are Composite Alarms and How Do They Reduce Noise?

Composite alarms combine multiple alarm conditions into a single higher-level signal. They matter because real incidents often produce several symptoms at once, and not every symptom deserves a separate notification.

For example, if one backend service is unhealthy, you may see elevated latency, increased 5xx errors, and target health issues at the same time. Sending a separate alert for each symptom can overwhelm responders. A composite alarm can group those signals so the team sees one meaningful event instead of three redundant ones.

This improves triage quality. It helps responders focus on cause and impact instead of chasing duplicate alerts. It also supports escalation logic, where a critical incident gets one path and a less serious event gets another.

Composite alarms are especially useful in larger environments where many alarms may be related to the same underlying fault. AWS documents this pattern in the CloudWatch composite alarm guide.

How Do CloudWatch Alarms Integrate with AWS Services and Automation?

CloudWatch alarms can trigger downstream actions that help contain incidents faster. That may include notifications, scaling behavior, or a controlled remediation workflow depending on how the environment is designed.

In practical terms, alarms should not just tell people something is wrong. They should connect to the response path that is safest for the workload. For example, a scaling-related alarm may support capacity adjustment, while a security-related alarm may route to an incident channel for immediate review.

Automation is powerful, but only when it is tested and bounded. A remediation action that fires too aggressively can make an incident worse. Good teams define clear thresholds for automation, document rollback behavior, and validate the full path before relying on it in production.

AWS provides service integrations and event routing options through the broader monitoring and eventing ecosystem. For alarm behavior and response patterns, see the CloudWatch alarm documentation and related AWS automation guidance.

What Is CloudWatch Logs and Logs Insights?

CloudWatch Logs is the centralized log collection service for AWS workloads, and CloudWatch Logs Insights is the query layer used to search and analyze those logs quickly. Metrics tell you something is wrong; logs usually tell you why.

This distinction matters during incident response. A latency alarm can point you to the right time window, but logs may show the real cause: a timeout, a rejected dependency call, a deployment regression, or an authentication failure. Logs are where the detail lives.

Logs Insights is especially valuable because it lets teams filter, aggregate, and compare log events without manually downloading raw files. That makes it much faster to spot error bursts, identify affected endpoints, and narrow the scope of a fault.

For official guidance, AWS documents CloudWatch Logs Insights and the broader CloudWatch Logs service. For the broader concept of Log Analysis, CloudWatch is often the fastest place to start.

How Do Metrics and Logs Work Together for Faster Diagnosis?

Metrics and logs work best when they are used together, because one tells you where the problem is and the other tells you what happened inside the system. This combined approach reduces mean time to resolution.

A common workflow looks like this: an alarm fires on elevated error rate, the operator checks the corresponding metric trend, and then they pivot into logs for the same time range. If the logs show repeated timeouts from a downstream database, the issue is no longer a mystery.

This correlation is especially important in distributed systems. A failing request may originate in API Gateway, pass through Lambda, and fail in a database or external API. Without both metrics and logs, the failure chain is easy to misread.

CloudWatch supports this workflow well because it keeps signals in one operational environment. That reduces swivel-chair troubleshooting and makes it easier to identify the first failing component instead of the last one that noticed the failure.

How Do CloudWatch Dashboards Improve Operational Visibility?

CloudWatch dashboards provide a shared view of system health across services, teams, and environments. They are useful for daily oversight, incident command, and post-incident review.

A good dashboard should not try to show everything. It should show the signals that matter most: health, traffic, errors, and saturation. Too many charts create noise. Too few charts hide important detail.

  • Health: Service availability, target health, or success rate.
  • Traffic: Request count, invocation rate, and throughput.
  • Errors: 4xx and 5xx rates, exceptions, failed jobs, or timeout counts.
  • Saturation: CPU, memory, queue depth, connections, and I/O pressure.

Dashboards also help different audiences see the same truth. Engineers want diagnostic detail. Managers want service status. Operations teams want a fast sense of whether something is getting worse. AWS documents dashboard behavior in the CloudWatch dashboards guide.

How Is Amazon CloudWatch Used Across Common AWS Services?

Amazon CloudWatch is used differently depending on the service, because each AWS service produces different operational signals. The right interpretation depends on what the service does and where failure shows up first.

EC2

For EC2, CloudWatch is often used to watch CPU, network traffic, disk activity, and instance health. Rising resource usage can indicate capacity pressure, inefficient code, or a traffic surge that needs scaling.

Lambda

For Lambda, teams often focus on invocations, errors, duration, throttles, and concurrency. A sharp increase in duration may mean a downstream dependency is slowing down, while throttles may show that concurrency limits are too tight.

RDS

For RDS, metrics such as CPU load, connections, storage pressure, and read or write latency can reveal whether the database is becoming a bottleneck. Database problems often surface as application slowness before they become complete failures.

ELB/ALB

For load balancers, request count, target response time, unhealthy targets, and HTTP code patterns are often the most useful indicators. A growing number of unhealthy targets is usually a stronger signal than a single failing request.

ECS and API Gateway

For ECS, service stability depends on task health, scaling behavior, and resource saturation. For API Gateway, latency, integration errors, throttling, and request volume help teams see where traffic is breaking down.

These service patterns are documented across the AWS monitoring guides, and they fit the same principle: monitor the signals closest to user impact first, then expand outward as needed.

How Does CloudWatch Support Incident Response and Root Cause Analysis?

CloudWatch supports incident response by giving teams a timeline of what changed, when it changed, and how the system reacted. That turns live troubleshooting from guesswork into structured diagnosis.

A typical response sequence starts with an alarm, moves to metric review, and then shifts into log investigation. If the data shows that error rates rose after a deployment, the likely cause becomes much clearer. If latency increased while traffic stayed flat, the issue may be a dependency, configuration change, or a resource bottleneck.

Historical data matters because incidents are rarely isolated in time. The question is not only “What is broken now?” but also “When did the pattern begin?” CloudWatch helps teams reconstruct that timeline.

That timeline is useful after the outage too. Post-incident review should use monitored data to improve thresholds, refine alerts, and reduce repeat failures. This is where observability becomes a learning tool instead of just a firefighting tool.

Key Takeaway

  • Amazon CloudWatch is AWS’s monitoring and observability service for metrics, alarms, logs, dashboards, and Insights.
  • Metrics show trends and resource pressure, but metrics alone rarely explain the root cause of an incident.
  • Alarms turn passive monitoring into active alerting, especially when thresholds are based on real baselines.
  • Anomaly detection is useful when traffic patterns are variable and static thresholds create noise.
  • Logs and dashboards make CloudWatch operationally useful by speeding diagnosis and reducing mean time to resolution.

When Should You Use CloudWatch, and When Should You Not?

Use CloudWatch when you need native AWS monitoring, alerting, and log analysis for workloads running on AWS. It is the right choice when the goal is operational visibility across services like EC2, Lambda, RDS, ECS, ALB, and API Gateway.

Do not rely on CloudWatch alone if your monitoring strategy needs broader cross-cloud correlation, specialized security analytics, or deep business intelligence reporting outside AWS. In those cases, CloudWatch still provides the core operational signals, but other tools may be needed to extend analysis across environments.

For AWS-native teams, the service is usually enough to build a strong monitoring baseline. For mixed environments, CloudWatch remains a critical source of truth for AWS resources even if it is not the only platform in use.

What Are the Cost and Monitoring Hygiene Best Practices?

CloudWatch cost management becomes important quickly in large environments because metric volume, log retention, and alarm counts can grow fast. More visibility is not automatically better if it creates unnecessary spend or noise.

The most effective way to control cost is to monitor intentionally. Start with the metrics that reflect service health and user impact. Avoid collecting everything by default. Review alarm quality regularly so the team keeps only alerts that lead to action.

  • Reduce redundant metrics: Keep only the signals that support decision-making.
  • Trim noisy alarms: Remove alerts that repeatedly fire without requiring action.
  • Manage log retention: Keep logs long enough for operations and compliance, but not forever by default.
  • Use the right resolution: Reserve high-resolution monitoring for services that truly need it.

CloudWatch pricing and monitoring guidance are available from AWS at the official CloudWatch pricing page and the AWS documentation set. The operational goal is simple: keep monitoring lean, relevant, and high value.

What Security and Access Controls Matter for CloudWatch?

CloudWatch data can contain sensitive operational details, application behavior, environment names, request content, or even secrets if developers log them incorrectly. That makes access control a real security concern, not just an administrative one.

Limit who can view dashboards, query logs, and change alarms. Separate read access from configuration access wherever possible. This reduces the risk of accidental changes and protects information that could be abused during an incident.

Secure monitoring also supports compliance and incident integrity. If logs are altered, deleted, or exposed, your investigation loses reliability. If dashboards reveal sensitive architecture details to the wrong audience, you create unnecessary risk. Teams should also ensure application logs do not expose passwords, tokens, or personal data.

For broader security guidance, AWS identity and access controls should be combined with your organization’s logging and monitoring policies. CloudWatch is most effective when it is treated as protected operational data, not public telemetry.

What Are the Best Practices for Building a Strong CloudWatch Strategy?

A strong CloudWatch strategy starts small, focuses on service health, and improves continuously. The goal is not to monitor every possible metric. The goal is to catch real problems early and understand them quickly.

Start with a small set of high-value metrics tied to user experience. Add alarms for symptoms that matter, not every harmless fluctuation. Pair alerts with log queries and dashboards so the team can investigate without jumping between tools. Review alert quality after incidents and remove anything that creates noise.

The best monitoring systems evolve with the workload. Thresholds should be revisited after traffic growth, code changes, architecture shifts, or seasonal demand changes. Anomaly detection rules and dashboard views should also be tuned as the service matures.

Official AWS monitoring guidance remains the best reference for service-specific behavior, but the operational principle is universal: monitor what affects users, alert on what requires action, and keep the signal-to-noise ratio high.

Amazon CloudWatch is more than a graphing tool. It is the core AWS monitoring layer for metrics, alarms, logs, and operational response. When used well, it helps teams detect drift early, troubleshoot faster, and respond with less guesswork.

The practical model is simple. Metrics show trends. Alarms catch abnormal behavior. Logs explain what happened. Dashboards keep everyone aligned. If you want better uptime and faster incident response on AWS, CloudWatch is the right place to build that foundation.

AWS, Amazon CloudWatch, and related AWS service names are trademarks of Amazon.com, Inc. or its affiliates.

[ FAQ ]

Frequently Asked Questions.

What are the main components of Amazon CloudWatch?

Amazon CloudWatch primarily consists of metrics, alarms, logs, and dashboards. Metrics are numerical data points that represent the performance of AWS resources, such as CPU utilization or network throughput.

Alarms monitor these metrics and trigger notifications or automated actions when thresholds are breached. Logs enable detailed event tracking and troubleshooting, while dashboards provide visual representations of key metrics and insights for easier monitoring.

How can CloudWatch help in proactive monitoring of AWS workloads?

CloudWatch enables proactive monitoring by collecting real-time metrics from AWS resources, allowing you to set alarms for abnormal behavior. This early detection helps prevent issues before they impact end users.

By automating responses—such as scaling resources or triggering Lambda functions—you can address problems immediately, reducing downtime and improving system reliability. Custom dashboards also provide continuous visibility into system health.

What are best practices for setting up CloudWatch alarms?

Best practices include selecting relevant metrics specific to your workload, setting appropriate threshold values, and configuring notification channels like SNS for alerts. Use anomaly detection when possible to identify unusual patterns.

It’s also recommended to implement composite alarms for complex conditions, test alarms regularly, and integrate them with automated remediation processes. Properly configured alarms help maintain optimal performance and reduce manual troubleshooting efforts.

Can CloudWatch logs be used for security auditing and compliance?

Yes, CloudWatch Logs are valuable for security auditing by tracking access patterns, application activity, and system events. They enable you to analyze logs for unauthorized access or suspicious behavior.

For compliance, maintaining detailed logs and setting up automated alerts for anomalies helps meet regulatory requirements. Integration with AWS CloudTrail further enhances your security posture by providing comprehensive audit trails of API activity.

What are common misconceptions about CloudWatch?

A common misconception is that CloudWatch automatically detects all issues without configuration. In reality, effective monitoring requires setting up relevant metrics, alarms, and logs tailored to your environment.

Another misconception is that CloudWatch is only useful for troubleshooting. While it excels in diagnostics, it also plays a crucial role in proactive monitoring, automation, and capacity planning, making it a comprehensive observability tool.

Related Articles

Ready to start learning? Individual Plans →Team Plans →
Discover More, Learn More
Understanding AWS Load Balancers Learn how to choose the right AWS load balancer for your traffic… IT Career Pathways: AWS Cloud Practitioner vs Solutions Architect Training Courses Discover which AWS training course aligns with your experience and career goals… AWS Certified Cloud Practitioner Practice Exams: 10 Tips for Success Discover essential tips to improve your AWS Certified Cloud Practitioner exam preparation,… Amazon EC2 Hpc6id Instances - The Solution for HPC Workloads Discover how Amazon EC2 Hpc6id instances enhance HPC workloads with fast compute… AWS Identity and Access Management: A Beginner's Tutorial to IAM Services Discover essential AWS IAM concepts to control access, manage permissions, and enhance… AWS Cloud Practitioner Jobs: A Day in the Life of a Cloud Practitioner Explore the daily responsibilities of an AWS Cloud Practitioner and gain insights…
FREE COURSE OFFERS