What do we really mean by a large-scale web application?

What do we really mean by a large-scale web application? What are the criteria to call this a large-scale web application
This is the number of lines of application code or the number of users per day of the web application. 10K per day?

+5
source share
1 answer

What do we really mean by large-scale web applications? It depends on who you ask.

If in the past people created smaller applications, and now you need to build a larger one that processes more data and more traffic, they can call it a large-scale web application. But if you then compare this site with sites like LinkedIn, Facebook or Google, it will still be a small application.

People have different ideas about what is so big that for someone it can be of medium size for others and not enough for some others. But a large-scale web application has features such as:

  • performance capable of processing a large number (millions) of users / requests or a large number (thousands) of transactions per second. Both have problems depending on the type of application (processor binding, IO binding, or both).
  • scalability , horizontal type, not only at the web server level, but also at the database level. Depending on what you are doing, RDBMS may not cut it anymore, so you need to go through the NoSQL path, sometimes using more than one product, since NoSQL solutions are usually specialized systems that use specific use cases, unlike general purpose database as an RDBMS. Many integration problems arise from combining heterogeneous solutions and ensuring their consistency as a single application.
  • large-scale applications are distributed using the CDN or running the application on servers geographically closer to the user. You can easily have hundreds or thousands of server nodes , with the large sys admin team managing the configuration. If you do not have your own data centers, you can start the cloud .
  • In addition to the large sys admin team, you often have a large development team that needs to be optimized for performance and scalability, interface designers and developers working on providing a fluid user interface, mobile support, etc .;
  • deal with large amounts of data and with a lot of data types. No longer process only products, customers, orders, etc., As well as clicks, page views / impressions, events, magazines, tracking customer behavior, etc. This applies to the previous NoSQL point, but also with this data volume these applications tend to have a large back office that offers all kinds of reports, graphs, administrative tools, etc. to control the application itself.
  • 24/7 availability
  • some other keywords you need to add to the mix, such as SOA , microservices , data warehousing , security, distributed caches, continuous deployment, etc.
  • and etc.

Here are some of the characteristics (I think) that large web applications for web applications have in common, and it is important to think about these aspects and discuss all the problems that come from them from the very beginning when creating the application.

+5
source

Source: https://habr.com/ru/post/1240185/


All Articles