History of Dodo IS Architecture: Early Monolith

Or every unhappy company with a monolith is unhappy in its own way.

The development of the Dodo IS system began immediately, as did the Dodo Pizza business - in 2011. It was based on the idea of ​​a complete and total digitization of business processes, and on our own , which even then in 2011 caused many questions and skepticism. But for 9 years now we have been following this path - with our own development, which began with a monolith.

This article is the "answer" to the questions "Why rewrite the architecture and make such large-scale and long-term changes?" refer to the previous article "History of Dodo IS Architecture: The Back Office Path" . I'll start with how the development of Dodo IS began, what the original architecture looked like, how new modules appeared, and what problems caused large-scale changes.

What is Dodo IS? Series of articles will tell you about:

  1. Dodo IS (2011-2015 ). (You are here)

  2. : .

  3. : (2016-2017 ). (In progress…)

  4. . (2018-2019 ). (In progress…)

  5. . (In progress…)

2011 Dodo IS :

— . - :

  • ;

  • ;

  • ;

  • : , , . 

2011:

2012

. , . — 2 , .

:

  • Backend ASP.NET MVC, C#. , .

  • Bootstrap JQuery: . 

  • MySQL: , .

  • Windows Server, .NET Windows (Mono ).

« ». 

, SOA 5 , , WCF 2006 . .

.

Asp.Net MVC — Razor, HTML- . CSS JS- , , AJAX- JQuery.

*Controller, HTML-. , *Services. - :

  • , DepartmentStructureService , . — .

  • ReceivingOrdersService .

  • SmsService , API- .

, -. *Repository . . -, , . , sql. 

-, , Order, . , , .

:

.

. , — « — ». flow: 

  • , , .

  • , .

  • .

  • .

  • .

. - . draft- ( ). Cart, .

, + , . .

. , , . . 

« »:

  • OrderController.SaveOrder().

  • Cart , .

  • Cart AddOrder ReceivingOrderService, . 

  • , , .

  • .

. , . —  2012 2015 . , , . 

— , - -. .

. , , , , . , . , . 

Area ( asp.net core). , , . ...

… :

(executable project), - , . :

  • Site dodopizza.ru.

  • Export: Dodo IS 1C. 

  • Personal — . .

  • fs — . , CDN Akamai. 

BackOffice. 

:

  • Cashier — .

  • ShiftManager — « »: , - , .

  • OfficeManager — « » «». , , , .

  • PublicScreens — , . , , . 

, Dodo.Core, . . , dodopizza.ru personal.dodopizza.ru.

, . 

, , 2012 :

2015 .

  • , .

  • , .

  • , « » , . , .

  • , , . . 

2012 2015 10 , 35 , . , . . 

- ( ).

— . , , . , , .

4 600 , 1500 , . , MySQL. , . .

, -, , , . 20 — 3-5 . 

. - . XML-, , .

. , orders pizzeria. , . (dodopizza.ru), . 

. . 

, . - bulk-, - , . 

, , . . , , , «» ( ), « » ( ). , , .

( ) .

-, , . - , . - . , . 

, . 

, , . 

. , . . . , . JQuery , ().

- , . , Redis CosmosDB . 

, , , . , . 5 , 10,   , . ( 2017, 2018 ). 

, , . , , , .

, - : , , , , . .

( ) , , . , 2015 . 

« » , . API Dodo, . http://dodopizzastory.com/. 20 . api.dodopizza.ru :

  • ;

  • ;

  • .

, . 

, , . 5 .

:

, . . , API 20 .

API . orders, . . , . , , . 

. 2015 . API, , , . .

( 2015 2018). « ». , , .

« »? .

2014-2015 .

, , , , . Dodo IS. , , , , «» «» .

, 2014 . , , .

,

. , 2 :

  • , .

  • , , . , ( , ). 

:

Scale up

, , — . . , , .

2014 Azure, « Microsoft Azure». . 

:

ReadReplica . , , , , , (slowly changed domain), , . 2, , .

ReadReplica . , . , . 

(). , , . , -, Redis. , .

, . iis- . RedisCache, , round robin. Redis, , . 

… .

, . .




All Articles