- What are firewalls for?
A firewall is a network security device that monitors incoming and outgoing network traffic and permits or blocks data packets based on a set of security rules. Its purpose is to establish a barrier between your internal network and incoming traffic from external sources (such as the internet) in order to block malicious traffic like viruses and hackers.
- Why is the traffic served over HTTPS?
A site served over https is more secure. Since https uses the secure port 443, which encrypts outgoing information, it is much more difficult for people to spy on your site’s information. Regular http, on the other hand, uses port 80, which sends information via plain text.
- What monitoring is used for?
Web servers provide a number of important functions. This means there’s much to keep track of, including:
- Connections to clients and other servers on the network
- Requests for host resources such as CPU, RAM, and disk access
- Traffic being transferred to and from the server at any given time
- Availability of other web servers for proxying requests
Since web servers handle user requests for content, their performance has an immediate and noticeable impact on the user experience. If your web servers are slow, users will abandon your service for a competitor’s. This applies to large sites as well; the BBC found that for every one-second increase in page load time, 10% of their users left. Additionally, monitoring will alert you to any errors or failures that could result in downtime.
Monitoring has a second benefit for IT environments: automation. High-availability environments often optimize throughput with load balancing, where requests are delegated across multiple web servers rather than to a single one. A separate load balancing service receives incoming requests, checks the availability of the web servers located behind it, and proxies the request to an available server. To do this, the load balancer must be aware of each web server’s current load and its availability to handle new requests.
Lastly, monitoring helps track the popularity and growth of websites and web applications. Traffic and connection metrics offer direct insight into site activity, including the number of active users and the duration of each session. This data is particularly valuable in a world where more users are using ad blockers, preventing tracking through JavaScript. This data can help you develop plans for scaling your website, optimizing your application, or deploying other services to support the increased demand.
.
- How the monitoring tool is collecting data?
Data collection is the process of systematically gathering quantitative and/or qualitative data used for purposes of monitoring, evaluation, and/or learning (MEL). Performance monitoring data are used to reveal whether project and activity implementation is on track and whether expected results are being achieved.
- Explain what to do if you want to monitor your web server QPS
QPS (Query per second) and Web Server/Database Relationship reference, those numbers are very high level and mainly aimed to use for system design interview.
· One web server handles 1K QPS
· One SQL database (MySQL/PostgreSQL) handles 1K QPS (if the query is complicated with JOIN, the number could be lower)
· One NoSQL database (MongDB/Cassandra) handles 10K QPS
· One NoSQL database (Redis/Memcached) handles 1M QPS
- Why terminating SSL at the load balancer level is an issue?
A second reason SSL should terminate at the load balancer is because it offers a centralized place to correct SSL attacks such as CRIME or BEAST. If SSL is terminated at a variety of web servers, running on different OS’s you’re more likely to run into problems due to the additional complexity
- Why having only one MySQL server capable of accepting writes is an issue?
· MySQL replication reliably mirrors the data and operations from one database to another. Conventional replication involves a primary server configured to accept database write operations with secondary servers that copy and apply actions from the primary server’s log to their own data sets. These secondary servers can be used for reads, but are usually unable to execute data writes.
· Group replication is a way of implementing a more flexible, fault-tolerant replication mechanism. This process involves establishing a pool of servers that are each involved in ensuring data is copied correctly. If the primary server experiences problems, member elections can select a new primary from the group. This allows the remaining nodes to continue operating, even in the face of problems. Membership negotiation, failure detection, and message delivery is provided through an implementation of the Paxos concensus algorithm.
· In this tutorial, we will set up MySQL group replication using a set of three Ubuntu 16.04 servers. The configuration will cover how to operate a single primary or multi-primary replication group.
- Why having servers with all the same components (database, web server and application server) might be a problem?
· As well as helping an application server fulfill its basic role of hosting web applications, some application servers also help web developers build new applications. When software developers use application server software to build their applications, they can be sure that they will be supported by the server environment.
· Some application servers provide services that improve the security of web applications, as well as diagnostic capabilities that help web developers identify and troubleshoot problems with their web apps.