We build Virto Commerce by using latest technologies and keep it up to date. When we plan Virto Commerce 3, we expect delivery it as an update.
The Update is limited and doesn’t assume re-writing an application from scratch. The Update is about updating technology and testing the result.
This topic is based on our experience and provides a checklist and recommendations of how to provide a seamless update to Virto Commerce 3 (v3) in 1 sprint.
The update checklist focus on:
- No impact on business features
- Update the client solution in 1 sprint
- Don’t touch storefront, theme, integrations and etc.
- Go to live
- Continue feature development in v3
No impact on business features
Primary v3 is a technical update, we are trying to keep up to date internal and VC3 built on latest .NET Core 3.1.
All Virto Commerce features and modules keep backward capabilities. Admin UI was styled, but all elements on same place.
.NET Core and v3 bring benefits:
- Performance improvements
- Simplified development
- Potential less cost of hosting environment by using Linux environments. For example cost of 1 instance of
S3 Lunux Vs Windows - 277$ Vs 292$; P3 – 337$ Vs 584$
- Becomes a master system for next functional features
- Popularity of .NET Core 3.1 increasing
Virto Commerce Vs Custom Solution effort - 80% Vs 20%
We did a lot of tasks so that:
- Virto Commerce is ready for seamless migration.
- OOTB Update of Virto Commerce Platform.
- OOTB Update of Virto Commerce Features (modules).
- Automatic update of the data layer. All MS SQL migrations were included to keep your data.
- API Backward compatibilities. Storefront Applications and Integrations works with v3.
To complete update, you will need:
- Update custom modules, only
Here the timeline for tasks and roles to pass an update to v3 in an optimal way:
Update to v3 Checklist
You can copy these checklists and use in your project.
Checklist #1. Prerequisites
|1||Update the solution to the latest v2|
|2||Describe E2E scenarios for critical business process||Nice to use Test Automation tools|
|3||Create dependency tree between Virto Commerce and custom modules||The schema should help with prioritization and control the update progress|
|4||Check what’s new in .NET Core 3.1||https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-1|
|5||Check what’s new in Virto Commerce 3||https://github.com/VirtoCommerce/vc-platform/blob/master/docs/whats-new.md|
Checklist #2. Training
This important task to check the update process and developer skills but on demo environment.
|1||Training: Update sample module on demo environment||https://github.com/VirtoCommerce/vc-platform/blob/master/docs/Migrate-module-from-the-Platform-2.0-to-3.0-version.md|
Checklist #3. Update to v3
Note: We recommend focus on update only and plan technical improvements and refactoring of the custom modules as a separated process after the update.
|1||Update Custom module #1||~1 day = 1 developer. Note: Depend on complicity of the module|
|2||Update Custom module #2|
Checklist #4. QA and UAT
|1||Pass all E2E scenarious|
|2||Pass all Real-time Integration scenarious||Integration with Payment, Tax, etc. providers|
|3||Pass all Async Integration scenarious||Integration with ERP, CRM, etc.|
|4||Run performance tests|
Checklist #5. Go to live
|1||Prepare Revert plan|
|2||Stop Storefront and Display Offline page for the customers|
|3||Update platform, settings and apply custom DB migrations if requied|
|4||Run and warm up Virto Commerce Platform|
|5||Run and warm up Storefront applications|
Checklist #6. After Update
|1||Review Application Insights Metrics - Every Hour / Day / Week|
I hope, this topic saves your time and helps to update the solution to v3.
Here, the performance of the custom solution before and after the update. Price plan: B2. Configuration and settings are out of the box. Count of users: ~500 online, 5 Order per minute. 10 minutes of tests.