<BackMain types of application architecture
3/7/2023In this publication, we will look at what application architectures are.
There are different ways to classify them: by the number of levels or layers, by the types of components and connections between them, and others.
Let's look at the main application architectures by type of components and connections. They are the easiest to interpret.
1. Monolithic Application architecture — an all-in-one application.
Example: A web application that includes database interaction logic, business logic, admin interface and user interface.
2. Modular Application Architecture — Application components are divided into separate modules that can function as separate applications.
Example: let's take the same web application. If each of the 4 components is executed as a separate application, then we will have a modular architecture.
3. Architecture of microservice applications — Application components are divided into microservices, each of which consists of a small set of components and links supported separately.
Example: imagine an online store. It should send notifications to users, make payments, form an individual selection, etc. All these are components of business logic. If you put each function of this component into a separate component, you will get a microservice architecture.
4. Cluster Application architecture — components and communications are distributed across a cluster of computers that are networked to ensure the best performance.
Example: a large number of requests are sent to your application every minute. You want to reduce the load on the database server. To do this, run the database on several servers and use balancing to distribute traffic between them.
In fact, I did not choose such a sequence of architectures for nothing.
Imagine that you have launched a small startup with a small application. You developed it in a monolithic architecture.
After several months of piloting, you have started active sales, active growth. There is a need to expand the functionality. Monolithic architecture is not suitable. Moving on to a modular or microservice architecture.
Now the startup has turned into a serious enterprise. The number of active users per minute has exceeded hundreds of thousands. It's time to switch to a cluster architecture.
Conclusion
The initial choice of architecture is a very important stage of design, which directly affects various factors. For example, how to support the product after launch. I recommend asking for a detailed justification of why the developer chose this or that architecture already at the architecture selection stage.
Lates
Composition of the IT development team
7/6/2023In this article we will look at the composition of the IT solution development team
About graphs, simply.
12/18/2022In this article, we will begin our acquaintance with graphs, get acquainted with the breadth-first search algorithm (BFS) and implement the graph in the Rust programming language.
What is the difference between outsourcing development and outstaffing an IT employee for development?
10/17/2022In this article we will understand what outsourcing and outstaff development are.
UI/UX design: The creation process
4/9/2023In this article we will talk about the main steps in the process of creating UI/UX design.
UI/UX design: Introduction
3/29/2023In this article, we begin to get acquainted with UI / UX design. This is the most important stage in the development of any visual application interface.
Agile, Six Sigma and No Principle
9/14/2023In the last article, we started diving into the development process. The first stage of this process is planning. At this stage, the project manager, together with other team members, forms a pool of tasks in accordance with some kind of project management methodology.
Meet the Pentest
8/22/2022We are beginning to consider one of the main methods of assessing the security of computer systems and networks for potential vulnerabilities - penetration testing
Reducing the implementation period of MVP
12/8/2022Let's figure out the timing of the implementation of the MVP.
Choosing a programming language
3/17/2023In this article we will talk about choosing a programming language to study
Testing an MVP concept
1/9/2023We will figure out how not to waste the budget on MVP development in vain
Application Architecture Design: Introduction
3/6/2023In this article, we will talk about the process of creating the architecture of an IT solution.
The terms of references: Structure
2/17/2023In this publication we will consider the universal structure of ToR
Incorrect estimation of the cost of IT contractor services
9/10/2022Today we will talk about the incorrect assessment of the cost of developing IT solutions. This pain is one of the main ones for enterprises and startups, including IT contractors themselves.
Introduction to Design Patterns in Software Development
10/3/2022In this article, we will begin to dive into the world of optimizing application architecture using design patterns.
Choosing the direction of development for programming training
2/5/2023In this article, you will find out what areas of IT development there are, how they differ and in which they pay more
OSI Model Levels
9/6/2022In this article, we will take a closer look at each of the levels of the OSI model
10 ways to use Rust Cargo
2/11/2023In this short article I have collected 10 ways to use the build system and package manager of the Rust programming language
Documenting code in the Rust programming language
8/24/2022In this article, we will look at how documentation takes place in Rust and consider a very useful opportunity - writing tests through documentation.
Introduction to the OSI model
8/19/2022In this article we begin to consider the fundamental model of network interaction - OSI
CSS animation ripple
8/31/2022A simple example of how to implement ripple animation using HTML and CSS
What is the purpose of an ER-diagram in the development process?
4/28/2023Let's discuss in general terms what an ER diagram is and what it is used for.
From concept to MVP
11/18/2022In this article, you will learn, by example, how to move from a concept to an MVP without unnecessary complications in the functionality of the product
What are UML diagrams used for?
5/23/2023In this article we will talk about what UML diagrams are, what they are and where they are used
Introduction to writing the terms of references
1/31/2023The Terms of Reference are an important part of the development process. In this article, we will begin to dive into this issue.
Introduction to software development
10/10/2022Today, most companies are faced with IT development and often do not get what they want. In this article, we begin to dive into the process of creating IT solutions.
From idea to concept
10/27/2022In this publication, we will talk about how the idea differs from the concept. Let's do this with an example of a specific goal
IT project management methodologies: Waterfall, Scrum, Prince2
11/27/2023In this article, we will consider the basic methodologies of IT project management.
Weighted graphs
12/26/2022In this article, we will get acquainted with weighted graphs, Dijkstra's algorithm, and its implementation in the Rust programming language.
Development Process: Planning
8/16/2023In this publication, we will begin to consider the development process. Let's start with the planning process.