Solution options

The solution options are as follows:

  • The application is designed with a hot standby configuration for high availability. In the case of the primary servers going down, the load balancer will be able to route the request to secondary/hot standby nodes. Make the system more available so if one node is down, another node can take over the work.
  • The load balancer is configured to route traffic to hot standby in case the primary reaches its threshold. The load balancer policies should be optimized to distribute the burden and failover to standby instances in the event of issues with the primary node.
  • The transaction manager component increases availability and reliability by ensuring the application is always in a consistent state and through a strategy for handling certain classes of failures.
  • The design should be stateless, so when a stateless server fails, its work can be routed to a different server without implications for state management.
  • The ability to prevent application failures in the event of service(s) failures is commonly architected via redundancy. This can be achieved through fault tolerance techniques, such as active and passive replication.
  • A robust monitoring infrastructure set up to frequently do a health check of all internal systems, such as the web server, application server, and database servers. Develop an internal and external monitoring and alerting infrastructure. This serves as an early warning indicator and helps the operations team to respond quickly in case of issues. Continuous real-time monitoring of internal and external systems is essential to identify and fix production issues.
  • Ensure a disaster recovery (DR) site is present, and that it has a mirror replica of the code and data from the main site. The load balancer is configured to route the requests to the DR site during peak traffic. A geographically separate and redundant site to fail over in the case of natural disasters such as hurricane or floods.
  • Recommended HA configurations for the database can be set up and configured. This includes clusters, data replication, and all other configuration proposed by the product vendor.
  • Avoid chatty conversations with upstream services to minimize data transfer.
  • An open-source caching framework, Memcached, can be leveraged to cache the database records and search results. Additionally, a distributed and cluster cache can be implemented for handling large data.
  • Design a failover support for the tiers in the architecture. For example, leverage network load balancing for web servers to distribute the load and prevent requests being directed to a server which may be down.
  • Leverage RAID components to mitigate failure in the event of a disk failure.
  • Reduce the attack surface area, to minimize interruption from DoS attacks. Leverage instrumentation to establish unintended behavior, and deploy comprehensive validation. Leverage circuit breakers to increase resilience.
  • Design for exception handling in order to recover from failures.
  • Define the trust boundaries and ensure that sub-systems deploy access controls or firewalls, as well as data validation, to increase availability and resiliency.
  • Handle unreliable network connections by designing components with occasionally-connected capabilities.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset