A Content Delivery Network (CDN) is used to increase the speed of content
System logs contain massive amounts of information that can help enhance the system,
avoid bottlenecks and provide error correction. In order to increase awareness and control of
the system processes we use systems of aggregating, processing and analyzing logs (ELK stack).
Uploadable data, assets and others entities are stored on the object storage service
(Amazon S3). Together with CDN it provides better accessibility of the resources.
PostgreSQL is used as core storage. Redis is used to increase throughput
and reduce latency. Each application instance has its own DB to provide high performance.
Replication between the servers is supported.
A few application servers allow to achieve greater accessibility for users.
Load Balancer provides balance between them so it makes the application highly available at all
times handling quick changes in the network traffic. Application instances
could be physically in different locations to boost the response time for users.
The number of servers may vary depending on the application load.
This is important both in terms of providing the application scalability and in terms of the
system resources costs.
Rollbar is an error monitoring and notification service. Errors happen in
each application that is why it's crucial to be notified about them in order to fix them in a timely manner.
Our DevOps process