SlideShare ist ein Scribd-Unternehmen logo
1 von 39
© 2017 Magento, Inc. Page | 1
Multi-Source Inventory
(MSI)
Igor Miniailo
Magento 2 Architect
Community Engineering
© 2017 Magento, Inc. Page | 2
© 2017 Magento, Inc. Page | 3
Does MSI stands for Multi-Source Inventory?
NO
© 2017 Magento, Inc. Page | 4
MSI is a brand new Inventory management
mechanism which supports Multi Sourcing
© 2017 Magento, Inc. Page | 5
MSI is designed to enable stock management in multiple
locations so that merchants can properly reflect their physical
warehouses in Magento system without external extensions or
customization
Multi-Source Inventory (MSI)
© 2017 Magento, Inc. Page | 6
Split the inventory
between the
sources within one
Magento installation
© 2017 Magento, Inc. Page | 7
Replace current CatalogInventory with MSI
© 2017 Magento, Inc. Page | 8
How big is MSI?
© 2017 Magento, Inc. Page | 9
How Big is Magento?
© 2017 Magento, Inc. Page | 10
How big is MSI? – It’s huge
© 2017 Magento, Inc. Page | 11
https://github.com/magento-engcom/msi/wiki/MSI-Roadmap
© 2017 Magento, Inc. Page | 12
MVP MSI Business Values for Merchants
• Management of all physical locations (Sources) and
products stored there (SourceItems)
– As a merchant, I want Magento to provide an ability to manage all
physical Sources where the products are stored. To get an
understanding of the Stock level on each of them.
• Improve Checkout Performance (even for Single Stock
merchants)
– As a merchant, I want to eliminate excessive database locks and
Inventory consistency validation during checkout process which lead to
performance degradation when there is a high checkout concurrency
rate. So that, Reservation mechanism introduced which supports
Asynchronous Inventory Deduction.
© 2017 Magento, Inc. Page | 13
MVP MSI Business Values for Merchants
• Import/Export Stock data
– As a merchant, I want new Import/Export process for Inventory to be
introduced to speed up integration with an external ERP system.
• Drop Shipping support
– As a merchant, I want to have an ability to setup external Source to be
used for Drop shipping.
• Stock Control / Low Stock Reports
– As a merchant, I want Magento to support Stock Control on all the
physical locations (Sources) and notify me when products on some
location are running out.
• No additional complication for Single Stock Merchants
– As a Merchant who is satisfied with Magento Single Stock, I want no
added complexity for UI and Stock management. The user experience
for Single Stock usage should be preserved.
© 2017 Magento, Inc. Page | 14
Base Concept
© 2017 Magento, Inc. Page | 15
Inventory Management
© 2017 Magento, Inc. Page | 16
Inventory Management
© 2017 Magento, Inc. Page | 17
Inventory Management
© 2017 Magento, Inc. Page | 18
Inventory management on Product Page
© 2017 Magento, Inc. Page | 19
• Unload the process of placing an order as
much as possible
• Remove unnecessary locks (get rid of race
condition between concurrent transactions)
• Improve scalability of Magento introducing
multi-dimensional indices (each stock has own
Index / Database table)
Checkout Action Points/Goals
© 2017 Magento, Inc. Page | 20
Reservation - the entity is used when the order is
placed and we need to reserve some product quantity in
stock.
Reservations are append only operations and help us to
prevent blocking operations and race conditions at the
time of checkout.
Reservation mechanism
https://github.com/magento-engcom/msi/wiki/Reservations
© 2017 Magento, Inc. Page | 21
Order Placement – Step 1
France Warehouse
SKU-1: 5qty
EU Stock
SKU-1: 15qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
No records
Salable Qty: 15qty (data from index, empty reservations)
© 2017 Magento, Inc. Page | 22
Order Placement – Step 2
Action: Customer buys 5 products on frontend
© 2017 Magento, Inc. Page | 23
Order Placement – Step 3
France Warehouse
SKU-1: 5qty
EU Stock
SKU-1: 15qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
SKU-1: -5
Salable Qty: 10qty (data from index 15, apply all reservations -5)
Data is NOT changed Reservation has been
added
© 2017 Magento, Inc. Page | 24
Order Placement – Step 4
Action: Admin makes a re-order 3 products out of 5 returned,
and new order consists of 2 products
© 2017 Magento, Inc. Page | 25
Order Placement – Step 5
France Warehouse
SKU-1: 5qty
EU Stock
SKU-1: 15qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
SKU-1: -5
SKU-1: +3
Salable Qty: 13qty (data from index 15, apply reservations -5+3)
Data is NOT changed
Reservation has been added
© 2017 Magento, Inc. Page | 26
Order Placement – Step 6
Action: Admin completes order. Re-index was run.
© 2017 Magento, Inc. Page | 27
Order Placement – Step 7
France Warehouse
SKU-1: 3qty
EU Stock
SKU-1: 13qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
SKU-1: -5
SKU-1: +3
SKU-1: +2
Salable Qty: 13qty (data from index 13, apply reservations -5+3+2=0)
Data is CHANGED Compensation Reservation
has been added
© 2017 Magento, Inc. Page | 28
Order Placement – Step 8
Action: Reservation cleaning
Looping through these reservations we could find reservations
which in sum gives 0 (Zero) and remove them.
© 2017 Magento, Inc. Page | 29
Order Placement – Step 9 (like Step 1)
France Warehouse
SKU-1: 3qty
EU Stock
SKU-1: 13qty
Italy Warehouse
SKU-1: 10qty
Raw data Index Reservations
Salable Qty: 13qty (data from index, empty reservations)
Data is NOT changed Reservations have been removed
No records
© 2017 Magento, Inc. Page | 30
Order Processing
© 2017 Magento, Inc. Page | 31
Source Selection Based on Priority of Sources
© 2017 Magento, Inc. Page | 32
Source Selection Algorithm
© 2017 Magento, Inc. Page | 33
Shipment created per Source
© 2017 Magento, Inc. Page | 34
Kanban board and Wiki are on the GitHub
.
© 2017 Magento, Inc. Page | 35
Slack Channel to Exchange ideas (#MSI)
© 2017 Magento, Inc. Page | 36
YouTube playlist
© 2017 Magento, Inc. Page | 37
Some stats
• 66 developers have ever created PRs to
MSI
• 400 PRs created since the beginning (mid
of June 2017)
© 2017 Magento, Inc. Page | 38
• Documentation
https://github.com/magento-engcom/msi/wiki
• Roadmap
https://github.com/magento-engcom/msi/wiki/MSI-Roadmap
• Dashboard
https://app.zenhub.com/workspace/o/magento-engcom/msi/boards
• Weekly Demos
https://www.youtube.com/watch?v=ZtBNIE8FbjI&list=PLrQ5FBCRsEb
WKK6U_3Awe7X-nG7KY0WPW
Related Links
© 2017 Magento, Inc. Page | 39
How to join us? Send an email to
engcom@magento.com
@iminyaylo
Thank y’all!

Weitere ähnliche Inhalte

Was ist angesagt?

Kb64 Reversal Of Reposted Line Item
Kb64 Reversal Of Reposted Line ItemKb64 Reversal Of Reposted Line Item
Kb64 Reversal Of Reposted Line Itemwhocanbe1
 
Cs inhouse subcontracting process
Cs inhouse subcontracting processCs inhouse subcontracting process
Cs inhouse subcontracting processRamani Thinakaran
 
Capital procurement in sap
Capital procurement in sapCapital procurement in sap
Capital procurement in sapRabin Debnath
 
Split valuation activation
Split valuation activationSplit valuation activation
Split valuation activationMohammed Azhad
 
Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...Imran M Arab
 
Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]
Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]
Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]Mert Sönmez
 
SAP Business One for Logistics Management
SAP Business One for Logistics ManagementSAP Business One for Logistics Management
SAP Business One for Logistics ManagementKevin Kuttappa
 
SAP MM Interview Questions
SAP MM Interview QuestionsSAP MM Interview Questions
SAP MM Interview QuestionsNithin R
 
SAP FI - Accounts Receivable - Part II
SAP FI - Accounts Receivable - Part IISAP FI - Accounts Receivable - Part II
SAP FI - Accounts Receivable - Part IIsaiprasadbagrecha
 
Electronic bank statement
Electronic bank statementElectronic bank statement
Electronic bank statementCenk Kurter
 
GU_SAP S4 HANA_Assign GL Accounts.docx
GU_SAP S4 HANA_Assign GL Accounts.docxGU_SAP S4 HANA_Assign GL Accounts.docx
GU_SAP S4 HANA_Assign GL Accounts.docxMICKAEL QUESNOT
 
S4 HANA Finance Contents
S4 HANA Finance Contents S4 HANA Finance Contents
S4 HANA Finance Contents Pradeep Hota
 
SAP SD Business Blue Print E1 Sales Template
SAP SD Business Blue Print E1 Sales TemplateSAP SD Business Blue Print E1 Sales Template
SAP SD Business Blue Print E1 Sales TemplateAditya Pandey
 
Configure automatic postings
Configure automatic postingsConfigure automatic postings
Configure automatic postingsarmindajack
 

Was ist angesagt? (20)

Consignment Process
Consignment ProcessConsignment Process
Consignment Process
 
Kb64 Reversal Of Reposted Line Item
Kb64 Reversal Of Reposted Line ItemKb64 Reversal Of Reposted Line Item
Kb64 Reversal Of Reposted Line Item
 
Integrate with coupa
Integrate with coupa Integrate with coupa
Integrate with coupa
 
Cs inhouse subcontracting process
Cs inhouse subcontracting processCs inhouse subcontracting process
Cs inhouse subcontracting process
 
Capital procurement in sap
Capital procurement in sapCapital procurement in sap
Capital procurement in sap
 
Important tables for sap sd
Important tables for sap sdImportant tables for sap sd
Important tables for sap sd
 
Split valuation activation
Split valuation activationSplit valuation activation
Split valuation activation
 
Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...
 
Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]
Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]
Tutorial SD SAP: Creación de Solicitud de Cotización [VA11]
 
SAP Business One for Logistics Management
SAP Business One for Logistics ManagementSAP Business One for Logistics Management
SAP Business One for Logistics Management
 
SAP MM Interview Questions
SAP MM Interview QuestionsSAP MM Interview Questions
SAP MM Interview Questions
 
Transaccion f110
Transaccion f110Transaccion f110
Transaccion f110
 
Stock Overview
Stock OverviewStock Overview
Stock Overview
 
SAP FI - Accounts Receivable - Part II
SAP FI - Accounts Receivable - Part IISAP FI - Accounts Receivable - Part II
SAP FI - Accounts Receivable - Part II
 
Electronic bank statement
Electronic bank statementElectronic bank statement
Electronic bank statement
 
GU_SAP S4 HANA_Assign GL Accounts.docx
GU_SAP S4 HANA_Assign GL Accounts.docxGU_SAP S4 HANA_Assign GL Accounts.docx
GU_SAP S4 HANA_Assign GL Accounts.docx
 
S4 HANA Finance Contents
S4 HANA Finance Contents S4 HANA Finance Contents
S4 HANA Finance Contents
 
4.1 fi aa basic concepts
4.1 fi aa basic concepts4.1 fi aa basic concepts
4.1 fi aa basic concepts
 
SAP SD Business Blue Print E1 Sales Template
SAP SD Business Blue Print E1 Sales TemplateSAP SD Business Blue Print E1 Sales Template
SAP SD Business Blue Print E1 Sales Template
 
Configure automatic postings
Configure automatic postingsConfigure automatic postings
Configure automatic postings
 

Ähnlich wie Magento Multi-Source Inventory (MSI)

Architecture and workflow of Multi-Source Inventory
Architecture and workflow of Multi-Source InventoryArchitecture and workflow of Multi-Source Inventory
Architecture and workflow of Multi-Source InventoryIgor Miniailo
 
Testing in Magento 2
Testing in Magento 2 Testing in Magento 2
Testing in Magento 2 Igor Miniailo
 
Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)
Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)
Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)Igor Miniailo
 
Automated Testing in Magento 2
Automated Testing in Magento 2Automated Testing in Magento 2
Automated Testing in Magento 2Magecom UK Limited
 
Igor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesIgor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesAtwix
 
Magento Integration with NetSuite
Magento Integration with NetSuiteMagento Integration with NetSuite
Magento Integration with NetSuiteBista Solutions
 
Magento Order Management Workshop - Meet Magento India 2019
Magento Order Management Workshop - Meet Magento India 2019Magento Order Management Workshop - Meet Magento India 2019
Magento Order Management Workshop - Meet Magento India 2019Phil Bernou
 
Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup)
 Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup) Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup)
Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup)ShilpaGajbhiye2
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceMeet Magento Italy
 
The biggest stores on Magento
The biggest stores on MagentoThe biggest stores on Magento
The biggest stores on MagentoDivante
 
Magento 2 ERP Integration Best Practices: Microsoft Dynamics
Magento 2 ERP Integration Best Practices: Microsoft DynamicsMagento 2 ERP Integration Best Practices: Microsoft Dynamics
Magento 2 ERP Integration Best Practices: Microsoft DynamicsJoshua Warren
 
E-commerce And Marketplace Practices Within NetSuite
E-commerce And Marketplace Practices Within NetSuiteE-commerce And Marketplace Practices Within NetSuite
E-commerce And Marketplace Practices Within NetSuiteBista Solutions
 
Stock Management System
Stock Management SystemStock Management System
Stock Management SystemIRJET Journal
 
Mli 2017 technical powering tomorrow_2.2
Mli 2017 technical powering tomorrow_2.2Mli 2017 technical powering tomorrow_2.2
Mli 2017 technical powering tomorrow_2.2Hanoi MagentoMeetup
 
Enhanced Ecommerce for Google Analytics
Enhanced Ecommerce for Google AnalyticsEnhanced Ecommerce for Google Analytics
Enhanced Ecommerce for Google AnalyticsNicolette Holmes
 
Lessons learned in developing an agile architecture to reward our customers.
Lessons learned in developing an agile architecture to reward our customers.Lessons learned in developing an agile architecture to reward our customers.
Lessons learned in developing an agile architecture to reward our customers.Sanjoy Kumar Roy
 
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...I-Verve Inc
 
Volodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design PlatformVolodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design PlatformMeet Magento Italy
 
Magento vs big commerce a detailed comparison guide - ziffity
Magento vs big commerce  a detailed comparison guide - ziffityMagento vs big commerce  a detailed comparison guide - ziffity
Magento vs big commerce a detailed comparison guide - ziffityZiffity Solutions LLC
 
Magento Business Intelligence
Magento Business IntelligenceMagento Business Intelligence
Magento Business IntelligenceMiles Woolgar
 

Ähnlich wie Magento Multi-Source Inventory (MSI) (20)

Architecture and workflow of Multi-Source Inventory
Architecture and workflow of Multi-Source InventoryArchitecture and workflow of Multi-Source Inventory
Architecture and workflow of Multi-Source Inventory
 
Testing in Magento 2
Testing in Magento 2 Testing in Magento 2
Testing in Magento 2
 
Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)
Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)
Magento 2 Automated Testing via examples of Multi-Source Inventory (MSI)
 
Automated Testing in Magento 2
Automated Testing in Magento 2Automated Testing in Magento 2
Automated Testing in Magento 2
 
Igor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesIgor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best Practices
 
Magento Integration with NetSuite
Magento Integration with NetSuiteMagento Integration with NetSuite
Magento Integration with NetSuite
 
Magento Order Management Workshop - Meet Magento India 2019
Magento Order Management Workshop - Meet Magento India 2019Magento Order Management Workshop - Meet Magento India 2019
Magento Order Management Workshop - Meet Magento India 2019
 
Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup)
 Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup) Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup)
Demystifying Multi Source Inventory(MSI) - M2NGP03 (Virtual Meetup)
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
 
The biggest stores on Magento
The biggest stores on MagentoThe biggest stores on Magento
The biggest stores on Magento
 
Magento 2 ERP Integration Best Practices: Microsoft Dynamics
Magento 2 ERP Integration Best Practices: Microsoft DynamicsMagento 2 ERP Integration Best Practices: Microsoft Dynamics
Magento 2 ERP Integration Best Practices: Microsoft Dynamics
 
E-commerce And Marketplace Practices Within NetSuite
E-commerce And Marketplace Practices Within NetSuiteE-commerce And Marketplace Practices Within NetSuite
E-commerce And Marketplace Practices Within NetSuite
 
Stock Management System
Stock Management SystemStock Management System
Stock Management System
 
Mli 2017 technical powering tomorrow_2.2
Mli 2017 technical powering tomorrow_2.2Mli 2017 technical powering tomorrow_2.2
Mli 2017 technical powering tomorrow_2.2
 
Enhanced Ecommerce for Google Analytics
Enhanced Ecommerce for Google AnalyticsEnhanced Ecommerce for Google Analytics
Enhanced Ecommerce for Google Analytics
 
Lessons learned in developing an agile architecture to reward our customers.
Lessons learned in developing an agile architecture to reward our customers.Lessons learned in developing an agile architecture to reward our customers.
Lessons learned in developing an agile architecture to reward our customers.
 
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
How to Improve Magento Performance | Tips to Speed up Magento eCommerce Site/...
 
Volodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design PlatformVolodymyr Kublytskyi - Develop Product, Design Platform
Volodymyr Kublytskyi - Develop Product, Design Platform
 
Magento vs big commerce a detailed comparison guide - ziffity
Magento vs big commerce  a detailed comparison guide - ziffityMagento vs big commerce  a detailed comparison guide - ziffity
Magento vs big commerce a detailed comparison guide - ziffity
 
Magento Business Intelligence
Magento Business IntelligenceMagento Business Intelligence
Magento Business Intelligence
 

Mehr von Igor Miniailo

Extensibility of Magento, the look into the future
Extensibility of Magento, the look into the futureExtensibility of Magento, the look into the future
Extensibility of Magento, the look into the futureIgor Miniailo
 
Magento Storefront architecture
Magento Storefront architectureMagento Storefront architecture
Magento Storefront architectureIgor Miniailo
 
Something Architecture
Something ArchitectureSomething Architecture
Something ArchitectureIgor Miniailo
 
A long way from Monolith to Service Isolated Architecture #MM19NL
A long way from Monolith to Service Isolated Architecture #MM19NLA long way from Monolith to Service Isolated Architecture #MM19NL
A long way from Monolith to Service Isolated Architecture #MM19NLIgor Miniailo
 
The long way from Monolith to Microservices
The long way from Monolith to MicroservicesThe long way from Monolith to Microservices
The long way from Monolith to MicroservicesIgor Miniailo
 
CQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSICQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSIIgor Miniailo
 
MageConf 2017, Design API Best Practices
MageConf 2017, Design API Best PracticesMageConf 2017, Design API Best Practices
MageConf 2017, Design API Best PracticesIgor Miniailo
 
Multi-Source Inventory. Imagine. Las Vegas. 2018
Multi-Source Inventory. Imagine. Las Vegas. 2018Multi-Source Inventory. Imagine. Las Vegas. 2018
Multi-Source Inventory. Imagine. Las Vegas. 2018Igor Miniailo
 
API design best practices
API design best practicesAPI design best practices
API design best practicesIgor Miniailo
 
Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering Igor Miniailo
 
Multi Source Inventory (MSI) in Magento 2
Multi Source Inventory (MSI) in Magento 2 Multi Source Inventory (MSI) in Magento 2
Multi Source Inventory (MSI) in Magento 2 Igor Miniailo
 
Backward Compatibility Developer's Guide Webinar
Backward Compatibility Developer's Guide WebinarBackward Compatibility Developer's Guide Webinar
Backward Compatibility Developer's Guide WebinarIgor Miniailo
 
Backwards Compatibility Developers Guide. #MM17NL
Backwards Compatibility Developers Guide. #MM17NLBackwards Compatibility Developers Guide. #MM17NL
Backwards Compatibility Developers Guide. #MM17NLIgor Miniailo
 
Backward Compatibility Developer's Guide in Magento 2. #MM17CZ
Backward Compatibility Developer's Guide in Magento 2. #MM17CZBackward Compatibility Developer's Guide in Magento 2. #MM17CZ
Backward Compatibility Developer's Guide in Magento 2. #MM17CZIgor Miniailo
 
Backward Compatibility Developer's Guide in Magento 2
Backward Compatibility Developer's Guide in Magento 2Backward Compatibility Developer's Guide in Magento 2
Backward Compatibility Developer's Guide in Magento 2Igor Miniailo
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelIgor Miniailo
 
Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Igor Miniailo
 
Modular development in Magento 2
Modular development in Magento 2Modular development in Magento 2
Modular development in Magento 2Igor Miniailo
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Igor Miniailo
 
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от КотлетСommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от КотлетIgor Miniailo
 

Mehr von Igor Miniailo (20)

Extensibility of Magento, the look into the future
Extensibility of Magento, the look into the futureExtensibility of Magento, the look into the future
Extensibility of Magento, the look into the future
 
Magento Storefront architecture
Magento Storefront architectureMagento Storefront architecture
Magento Storefront architecture
 
Something Architecture
Something ArchitectureSomething Architecture
Something Architecture
 
A long way from Monolith to Service Isolated Architecture #MM19NL
A long way from Monolith to Service Isolated Architecture #MM19NLA long way from Monolith to Service Isolated Architecture #MM19NL
A long way from Monolith to Service Isolated Architecture #MM19NL
 
The long way from Monolith to Microservices
The long way from Monolith to MicroservicesThe long way from Monolith to Microservices
The long way from Monolith to Microservices
 
CQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSICQRS and Event-Sourcing in Magento2 by examples of MSI
CQRS and Event-Sourcing in Magento2 by examples of MSI
 
MageConf 2017, Design API Best Practices
MageConf 2017, Design API Best PracticesMageConf 2017, Design API Best Practices
MageConf 2017, Design API Best Practices
 
Multi-Source Inventory. Imagine. Las Vegas. 2018
Multi-Source Inventory. Imagine. Las Vegas. 2018Multi-Source Inventory. Imagine. Las Vegas. 2018
Multi-Source Inventory. Imagine. Las Vegas. 2018
 
API design best practices
API design best practicesAPI design best practices
API design best practices
 
Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering
 
Multi Source Inventory (MSI) in Magento 2
Multi Source Inventory (MSI) in Magento 2 Multi Source Inventory (MSI) in Magento 2
Multi Source Inventory (MSI) in Magento 2
 
Backward Compatibility Developer's Guide Webinar
Backward Compatibility Developer's Guide WebinarBackward Compatibility Developer's Guide Webinar
Backward Compatibility Developer's Guide Webinar
 
Backwards Compatibility Developers Guide. #MM17NL
Backwards Compatibility Developers Guide. #MM17NLBackwards Compatibility Developers Guide. #MM17NL
Backwards Compatibility Developers Guide. #MM17NL
 
Backward Compatibility Developer's Guide in Magento 2. #MM17CZ
Backward Compatibility Developer's Guide in Magento 2. #MM17CZBackward Compatibility Developer's Guide in Magento 2. #MM17CZ
Backward Compatibility Developer's Guide in Magento 2. #MM17CZ
 
Backward Compatibility Developer's Guide in Magento 2
Backward Compatibility Developer's Guide in Magento 2Backward Compatibility Developer's Guide in Magento 2
Backward Compatibility Developer's Guide in Magento 2
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor Model
 
Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2
 
Modular development in Magento 2
Modular development in Magento 2Modular development in Magento 2
Modular development in Magento 2
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
 
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от КотлетСommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
Сommand Query Responsibility Segregation (CQRS) - Отделяем Мух от Котлет
 

Kürzlich hochgeladen

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 

Kürzlich hochgeladen (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 

Magento Multi-Source Inventory (MSI)

  • 1. © 2017 Magento, Inc. Page | 1 Multi-Source Inventory (MSI) Igor Miniailo Magento 2 Architect Community Engineering
  • 2. © 2017 Magento, Inc. Page | 2
  • 3. © 2017 Magento, Inc. Page | 3 Does MSI stands for Multi-Source Inventory? NO
  • 4. © 2017 Magento, Inc. Page | 4 MSI is a brand new Inventory management mechanism which supports Multi Sourcing
  • 5. © 2017 Magento, Inc. Page | 5 MSI is designed to enable stock management in multiple locations so that merchants can properly reflect their physical warehouses in Magento system without external extensions or customization Multi-Source Inventory (MSI)
  • 6. © 2017 Magento, Inc. Page | 6 Split the inventory between the sources within one Magento installation
  • 7. © 2017 Magento, Inc. Page | 7 Replace current CatalogInventory with MSI
  • 8. © 2017 Magento, Inc. Page | 8 How big is MSI?
  • 9. © 2017 Magento, Inc. Page | 9 How Big is Magento?
  • 10. © 2017 Magento, Inc. Page | 10 How big is MSI? – It’s huge
  • 11. © 2017 Magento, Inc. Page | 11 https://github.com/magento-engcom/msi/wiki/MSI-Roadmap
  • 12. © 2017 Magento, Inc. Page | 12 MVP MSI Business Values for Merchants • Management of all physical locations (Sources) and products stored there (SourceItems) – As a merchant, I want Magento to provide an ability to manage all physical Sources where the products are stored. To get an understanding of the Stock level on each of them. • Improve Checkout Performance (even for Single Stock merchants) – As a merchant, I want to eliminate excessive database locks and Inventory consistency validation during checkout process which lead to performance degradation when there is a high checkout concurrency rate. So that, Reservation mechanism introduced which supports Asynchronous Inventory Deduction.
  • 13. © 2017 Magento, Inc. Page | 13 MVP MSI Business Values for Merchants • Import/Export Stock data – As a merchant, I want new Import/Export process for Inventory to be introduced to speed up integration with an external ERP system. • Drop Shipping support – As a merchant, I want to have an ability to setup external Source to be used for Drop shipping. • Stock Control / Low Stock Reports – As a merchant, I want Magento to support Stock Control on all the physical locations (Sources) and notify me when products on some location are running out. • No additional complication for Single Stock Merchants – As a Merchant who is satisfied with Magento Single Stock, I want no added complexity for UI and Stock management. The user experience for Single Stock usage should be preserved.
  • 14. © 2017 Magento, Inc. Page | 14 Base Concept
  • 15. © 2017 Magento, Inc. Page | 15 Inventory Management
  • 16. © 2017 Magento, Inc. Page | 16 Inventory Management
  • 17. © 2017 Magento, Inc. Page | 17 Inventory Management
  • 18. © 2017 Magento, Inc. Page | 18 Inventory management on Product Page
  • 19. © 2017 Magento, Inc. Page | 19 • Unload the process of placing an order as much as possible • Remove unnecessary locks (get rid of race condition between concurrent transactions) • Improve scalability of Magento introducing multi-dimensional indices (each stock has own Index / Database table) Checkout Action Points/Goals
  • 20. © 2017 Magento, Inc. Page | 20 Reservation - the entity is used when the order is placed and we need to reserve some product quantity in stock. Reservations are append only operations and help us to prevent blocking operations and race conditions at the time of checkout. Reservation mechanism https://github.com/magento-engcom/msi/wiki/Reservations
  • 21. © 2017 Magento, Inc. Page | 21 Order Placement – Step 1 France Warehouse SKU-1: 5qty EU Stock SKU-1: 15qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations No records Salable Qty: 15qty (data from index, empty reservations)
  • 22. © 2017 Magento, Inc. Page | 22 Order Placement – Step 2 Action: Customer buys 5 products on frontend
  • 23. © 2017 Magento, Inc. Page | 23 Order Placement – Step 3 France Warehouse SKU-1: 5qty EU Stock SKU-1: 15qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations SKU-1: -5 Salable Qty: 10qty (data from index 15, apply all reservations -5) Data is NOT changed Reservation has been added
  • 24. © 2017 Magento, Inc. Page | 24 Order Placement – Step 4 Action: Admin makes a re-order 3 products out of 5 returned, and new order consists of 2 products
  • 25. © 2017 Magento, Inc. Page | 25 Order Placement – Step 5 France Warehouse SKU-1: 5qty EU Stock SKU-1: 15qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations SKU-1: -5 SKU-1: +3 Salable Qty: 13qty (data from index 15, apply reservations -5+3) Data is NOT changed Reservation has been added
  • 26. © 2017 Magento, Inc. Page | 26 Order Placement – Step 6 Action: Admin completes order. Re-index was run.
  • 27. © 2017 Magento, Inc. Page | 27 Order Placement – Step 7 France Warehouse SKU-1: 3qty EU Stock SKU-1: 13qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations SKU-1: -5 SKU-1: +3 SKU-1: +2 Salable Qty: 13qty (data from index 13, apply reservations -5+3+2=0) Data is CHANGED Compensation Reservation has been added
  • 28. © 2017 Magento, Inc. Page | 28 Order Placement – Step 8 Action: Reservation cleaning Looping through these reservations we could find reservations which in sum gives 0 (Zero) and remove them.
  • 29. © 2017 Magento, Inc. Page | 29 Order Placement – Step 9 (like Step 1) France Warehouse SKU-1: 3qty EU Stock SKU-1: 13qty Italy Warehouse SKU-1: 10qty Raw data Index Reservations Salable Qty: 13qty (data from index, empty reservations) Data is NOT changed Reservations have been removed No records
  • 30. © 2017 Magento, Inc. Page | 30 Order Processing
  • 31. © 2017 Magento, Inc. Page | 31 Source Selection Based on Priority of Sources
  • 32. © 2017 Magento, Inc. Page | 32 Source Selection Algorithm
  • 33. © 2017 Magento, Inc. Page | 33 Shipment created per Source
  • 34. © 2017 Magento, Inc. Page | 34 Kanban board and Wiki are on the GitHub .
  • 35. © 2017 Magento, Inc. Page | 35 Slack Channel to Exchange ideas (#MSI)
  • 36. © 2017 Magento, Inc. Page | 36 YouTube playlist
  • 37. © 2017 Magento, Inc. Page | 37 Some stats • 66 developers have ever created PRs to MSI • 400 PRs created since the beginning (mid of June 2017)
  • 38. © 2017 Magento, Inc. Page | 38 • Documentation https://github.com/magento-engcom/msi/wiki • Roadmap https://github.com/magento-engcom/msi/wiki/MSI-Roadmap • Dashboard https://app.zenhub.com/workspace/o/magento-engcom/msi/boards • Weekly Demos https://www.youtube.com/watch?v=ZtBNIE8FbjI&list=PLrQ5FBCRsEb WKK6U_3Awe7X-nG7KY0WPW Related Links
  • 39. © 2017 Magento, Inc. Page | 39 How to join us? Send an email to engcom@magento.com @iminyaylo Thank y’all!