called it “The best new open source product”. In a few years Magento became one of the most popular ecommerce platforms. In this article we will tell you about Magento, why the number of developers and merchants who chose it increases, and what are the differences between the various releases. After reading this article you will be able to decide if it fits your business needs. Table of contents: What is Magento? How popular is Magento? And what’s about history? Why Magento: Technology stack Magento 1 vs Magento 2 Magento Commerce Magento Commerce Cloud
Before we begin
We decided to write an article after numerous inquiries from our clients, who could not make a decision or “have heard something about Magento, but still do not understand what its peculiarities are”. Experienced merchants and developers are likely to know this information. We have plenty of other interesting materials on marketing, design and Magento 2 certification topics for them.So what is Magento?
CMS or …? Magento is typically considered to be an ecommerce CMS. An administrator manages the catalog of products, edits landing pages and creates various marketing programs. This part is usually referred to as a “content management system”. Management of buyers, processing of orders and payment acceptance are ecommerce components and every contemporary CMS has them. Various integrations with ERP, analytics, multi-warehouse inventory, product information management (pim), advanced segmentation of customers and omnichannel tools are not the only functions available in Magento. Usually a typical online shop is built into the large working system. However it is only one of the possible ways to conduct business. With Magento you can create all business for yourself. It is impossible to create a platform that satisfies all needs of the market. You can only provide business and developers with the possibility to edit and enhance the application easily. The major principle of modern systems is modularity. You can easily add the functions you need and turn off all the unnecessary functions. Thousands of modules written by the community and professional vendors are available now. Magento is something more than just a CMS. It can be related to the ecommerce content management framework (CMF) because of the wide range of functions, flexibility and depth of integration into business processes. Each store becomes a unique solution designed to solve the problems of specific business.
How popular is Magento?
According to the research, Magento is ranked in the top 3 popular platforms among the first million of ecommerce platforms on the Internet. Magento is used to create 8 out of 100 most well-known shops. Plenty of famous brands chose Magento for their business: Nike, Samsung, Ford, Monin, Coca-Cola, Helly Hansen, Mason Jars, HP, etc. Recently our colleagues analyzed the popularity of Magento based on Google Trends and determined that for a certain period of time the inquiries about Magento were even more popular than the inquiries about “ecommerce”. Magento is not the most popular platform for starting the business online in 2020 anymore because it is a large and complex system. WooCommerce and Shopify are more user-friendly and easy. They allow you to create a proof of concept or MVP quickly and begin selling immediately. According to CloudWays and BuildWith statistics when the number of orders increases, the basic triad “add to cart – pay – deliver” is not sufficient anymore. In this case, Magento is the prime choice.
And what’s about history?
Everything started with a small company Varien. Roy Rubin and Yoav Kuther planned to develop Internet shops with osCommerce CMS. Soon it became obvious that the chosen CMS could not satisfy all the needs of the expanding businesses. It was the moment when the idea of creating their own app was generated. It was the idea of a more flexible application which has more extensions and is aimed at the ecommerce problems. On August 31, 2007 the first public beta release of a new Bento CMS was introduced. Later the name was changed to Magento, and the first version of a logo was made in the color of magenta. On March 31, 2008 Magento Community Edition 1.0. was released. This version was totally free and everybody could download and study it, but not all functions were available. Fundamental principles of modularity and extensibility were ingrained into application architecture from the very start. A lot of developers trusted the new CMS and chose it as the basis for their new projects. We will not describe the innovations that were introduced in each version of Magento and will focus only on the major development milestones. In 2009 Magento triumphed over its predecessor osCommerce. The term “Magento” was googled more often than “e-commerce”. During the increase in popularity Magento Enterprise Edition was released. It is the solution for large businesses. Thereafter 2 possible options were available for merchants: Magento Open Source (Community Edition) and Magento Commerce (Enterprise Edition). In 2010, eBay made an investment in Magento and bought 100% of its shares in 2011. The very fact of buying deserves attention, but the main thing is the addition of native integration with PayPal that belongs to eBay as well. Magento was very productive throughout the whole year of 2011: the first conference Magento Imagine took place, a lot of certifications were introduced for developers and the start of Magento 2 development was announced in November. The support of eBay in 2011-2015 gave a significant impetus to the Magento development. Versions 1.x and 2.0. were developed simultaneously. It was the moment when the decision that influenced the future principles of project development was made. Beta release of Magento 2 was posted on github and all the community was invited to take part in the discussion and development. Thanks to this decision, Magento 2 is written not only by the Magento core team, but also by the independent developers. On November 18, 2015 Magento 2.0.0. was released. Like the first version, Magento 2.0 offered only a basic set of functions. The possibilities for development were limitless. From this time forth active development of Magento 1 was completed. The following updates contained mainly critical security fixes. It was recommended for all merchants to update to Magento 2. The transition period started. In 2015 the global investment firm Permira became the owner of Magento. In the years of development Magento 2 came a long way from the improved updated version of Magento 1 to a totally new platform based on modern architecture approaches and methods of conducting business. Active Magento community played a crucial role in it. In 2017 Magento received the Global Ecommerce Platforms Product Line Strategy Leadership Award from Frost & Sullivan. In May 2018 Magento was acquired by Adobe. Henceforth the work on the integration of Magento CMS into Adobe Experience Cloud and Enterprise CMS platform began. The date of termination of the first version support was rescheduled several times. Official updates and security patches have no longer been released since July 1, 2020. The store owners at Magento 1 who didn’t manage to update during the transition period were advised to update to Magento 2 as soon as possible. For more than 10 years Magento 1 became so popular that it was decided to allow merchants to continue working on Magento 1 until they are ready to update.
Tech stack or what we got into
Magento 2 survived a few development phases, during which new features were introduced.PHP

Web Servers
In order to transfer the final page from application to the customer’s browser we use web-server software. It is responsible for url-management and interaction between the browser and different parts of the remote server and caching.Apache

Nginx

What about Lighttpd, Google web server, LiteSpeed and others?
Any web server that can work with PHP-FPM will be suitable for Magento. You can use any web server that is convenient for you. Nevertheless Apache and NGINX are the most widespread ones and the majority of potential problems with their configuration have been already solved by the community.Magento Database
MySQL
Elasticsearch
Before version 2.4 Magento used MySQL as a major search engine for the shop. The search was slow and not always relevant. For example, together with a “green umbrella” you can receive a “green carpet” or even a “green elephant”. You can use integration modules with Apache Solr, Sphinx, Elasticsearch and external cloud solutions as an alternative. Elasticsearch completely replaced MySQL for catalog search after version 2.4 and now it is available by default.
Redis
For each customer the set of available products, discounts and categories is different. Magento 2 works continuously with large amounts of data because of that. It would take too much time to request it from the database every single moment and too many server resources would be wasted on it. This is why Magento keeps in the system cache a lot of information that is used often but edited rarely. By default Magento uses file cache. All the data is recorded into files and stored on disks. This solution is quite functional and efficient till the specific number of active users is reached. Redis is an alternative cache storage. Data is stored in the server memory, the speed of data access is higher and the system is more reliable. Redis easily handles the situation when 2 different clients try to update the same data simultaneously thanks to its architecture. File storage in this case lines up the inquiries in a queue and the productivity becomes lower. Redis can work on a separate server or it can become a distributed server system and increase safety of the whole application. Another objective of using Redis in Magento 2 is to store user sessions. The history of activity in the shop, previously viewed goods and other information is stored in the sessions. The quicker and more reliable they work the better.
Varnish Cache
Besides separate data Magento 2 can cache entire pages as well, separately updating unique blocks for each user. Full page caching (FPC) is one of the compulsory points to check before the live release of your store. FPC can be stored in the file system like typical cache. Nevertheless, more productivity and flexibility can be achieved with the proxy accelerator Varnish. It works before the web server as a rule, analyzes the user’s inquiry and refers to Magento only if it hasn’t cached the necessary data already.
RabbitMQ
In the modern web application a lot of processes undergo in the background. Export of products, stocks updates, data inquiry from the external API can work asynchronously. So the user does not have to wait for the end of these inquiries to start a new task. Earlier a synchronicity was imitated with the help of cron-tasks. The script checked if there is any work to be done. The script ran when it received the relevant command. 90% of the time scripts just checked if there was a specific flag posted and if it was time to start working. With RabbitMQ the task queue became filled only at the necessary moment. After the task is completed resources are released and then they wait till there is need for them again.
Frontend
HTML5 and CSS3
This union became canonical in web development. Everything that the application displays in the browser is structured into various blocks. The location of these blocks on the page depends on the screen size and the device type. Earlier to create a page that looks the same in all major browsers (cross-browser compatibility), developers had to resort to different stratagems and additional JavaScript libraries. All these factors influenced the page size and its load speed. HTML5 and CSS3 allowed standardization of many elements, some functions from the libraries were moved directly to the browser. The creation of responsive web applications became easier. LESS together with Grunt is used as a preprocessor by default. But there are plenty of projects that are built on SASS and Gulp. Magento 2 is flexible enough and choice of the instruments depends on the developer’s tastes.jQuery and jQuery UI
jQuery is an old JavaScript framework. Its usage in Magento 2 is ambiguous, but the majority of UI widgets are built on it at the moment. Nevertheless almost all developers are familiar with jQuery and it is not difficult for them.Knockout.js
Knockout.js is another JavaScript library that is used in Magento 2 together with jQuery. All work with the cart, buyers’ addresses and orders placing is based on it. Developers created the dynamic system that handles all user data asynchronously because of the MVVM pattern. It connects the frontend with Magento.PWA
Progressive Web Application is a technology that forces the Magento frontend to behave like a regular mobile application in the browser. It is an alternative to different mobile and responsive themes. The distinctive features of PWA are fast response time, simplified page design, the possibility to work offline, security, behavior similar to the native mobile applications. Magento 2 team together with the community are developing their own concept of Magento PWA with React JS and GraphQL now. A few vendors have presented their PWA solutions based on ReactJS and Vue.js already and promote them actively.
Magento 1 vs Magento 2
Hardly anyone asks a question today “Which is better to create a new website: Magento 1 or Magento 2?”. However, we encounter this question every once in a while. More simplified server architecture, lesser demand for resources, plenty of ready-made plugins and high development speed are often mentioned as the arguments for Magento 1.Let’s figure it out
Do not forget that Magento 1 was released in 2008. The further releases of Magento 1 were more stable, better optimised and safer than the previous v1.0. Nevertheless, there was nothing brand new in them. Do you need a CMS that lags behind its equivalents for more than 10 years? On July 1, 2020 Magento 1 support was completely terminated. There were no updates and security patches anymore. The development of the project is frozen. A few hosters and developers continue the support of Magento 1 for active stores and the people who didn’t manage to switch to Magento 2. Varnish, NGINX, Redis, MySQL were initially used together not in Magento 2, but earlier. The server was configured in a similar way for acceleration and stabilization of Magento 1. Previously all configurations were made separately and the same goal was achieved with different possible sets of modules that every developer chose according to their tastes. Everything is included in Magento 2 by default now. It is standardized and has been tested on thousands of shops. At the moment when Magento 2 was released developers and merchants had doubts whether they should upgrade. There were not enough modules on the market to duplicate the Magento 1 functions. The development of a new store was prolonged because a lot of modules had to be written from scratch based on their performance in Magento 1. All large vendors added Magento 2 support to their modules. The current plugins are being improved constantly. They offer more possibilities than their previous Magento 1 equivalents.So what is the conclusion?
There is absolutely no sense in the development on Magento 1 today and you shouldn’t count on your Magento 1 store anymore. It can be really troublesome and requires way more efforts. Magento 2 is the only appropriate alternative to Magento 1 now. It is a flexible, reliable and modern ecommerce platform. Native integrations with popular payment providers like Braintree and Paypal, a ready-made B2B system, Amazon Sales Channel and a large active community leave no more room for doubts.