This webinar covered the new additions of WSO2's new update model, WSO2 Updates 2.0. This introduces a new and improved approach to deliver updates to WSO2 products in a simpler and more effective manner.
2. Agenda
1. Introduction to Updates 2.0
2. Overview of the Update Tool Client
3. Visualizing update information with the Updates Portal
4. Working with updates in deployments
a. Distributed deployments with Ansible and Puppet
b. AWS
c. Docker/ Kubernetes
3. Why do we need Updates?
● We continuously improve our products.
○ Bug fixes, security fixes, and improvements.
● Every major release of a WSO2 product is followed by a series of
updates.
● Everyone needs to have the best experience, especially not trip
over a bug that has already been fixed!
5. WUM and In-Place
WUM In-place
A WUM update create a new product
distribution and has no knowledge of the
existing pack’s configurations.
Applies updates on top of the existing pack.
Requires a considerable amount of manual
input.
Applies updates without any intervention
from the user.
Cannot identify and resolve conflicts during
updates.
Introduced a mechanism to identify and
resolve conflicts during the update creation
process.
6. Update Tool
In-place Tool Update Tool
Requires the product base pack to be
downloaded before applying updates.
Downloads the effective file change
required for the distribution to be at the
desired updated state.
All updates are downloaded and applied
individually.
High bandwidth usage Very low bandwidth usage
Time consuming (~10 mins to update a
product pack)
Quick updates (~1 min to update a product
pack)
7. Updates 2.0 Release Timeline
10 FEB
2021
Updates 2.0 will be the sole
update mechanism
End of extended grace
period for WUM
10 OCT
2020
Updates 2.0 Release
Start of initial grace period
10 NOV
2020
Deprecate WUM and
In-place
Start of extended grace
period
Mid
2021
WUM and in-place EOL
8. What’s New?
● Update Tool client delivers fixes, improvements, and seamlessly
through Updates and Hotfixes.
● Introduction of Update Levels instead of timestamps (eg:
wso2am-3.1.0.5).
● Follows proper standards and update protocols.
● Bi-weekly update releases.
○ For critical security fixes, a new update level will be released in
between, and all users will be notified.
9. What are Updates and Hotfixes?
● Updates
○ Proactive fixes created by WSO2.
● Hotfixes
○ Created for customer reported incidents.
○ Each hotfix will be carried forward to other customers through an
update.
10. What are Hotfixes?
● Fixes issued to specific customers.
● Fixes are in the form of .zip files to be applied using the Update
Tool.
It is also important to note that:
● Updates cannot be taken while hotfixes are applied.
● A hotfix is valid for a specific update level.
○ JIRAIDSUB-wso2am-3.1.0.5.full-hf-1.zip → wso2am-3.1.0.5
○ JIRAIDSUB-wso2am-3.1.0.5.full-hf-1.zip → wso2am-3.1.0.6
11. Update Tool
● Separate CLI distributions for Linux, MacOS, and Windows.
● Updates the customized product distribution while merging the
configurations and customized artifacts.
● Allows resolving merge conflicts.
● Takes backups of the product pack before taking updates and
enable reverting to the previous state.
● Applies hotfixes to the customized product distribution.
● The Update Tool has a mechanism to update itself automatically.
12. Update Tool
Important commands to know about the Update Tool
● wso2update
● wso2update --continue
● wso2update --revert
● wso2update apply-hotfix <HOTFIX_FILE>
● wso2update apply-hotfix --continue
● wso2update revert-hotfix
● wso2update current-state
● wso2update create-docker
22. In-place tool to Update Client Tool Migration
● No manual effort.
● Update client tool is self installed.
○ Update client tool is delivered through an WUM update.
○ Update client tool is installed inside <product-home>/bin directory.
● Run the update command, client tool updates the product to latest
update level complying with new model, Updates 2.0
Example:
current pack : wso2am-2.6.0
updated pack : wso2am-2.6.0.1
● Update client tool can be used at first after 14 days of installation.
23. Update Client Tool in automation scripts
● Automation scripts
○ Input prompt values can be given with -- flags.
Examples:
○ Use of exit codes to determine the next step
Example:
25. Update deployments with AWS
● WSO2 provide cloud formation scripts and pre configured Amazon
Machine Images to roll up a deployment on AWS.
● WSO2 cloudformation scripts uses configuration management tool
to apply product configurations.
● On AWS deployments, product update is performed through the
configuration management tool.
○ Configuration management tools used in WSO2 product deployments
■ Puppet
■ Ansible
26. WSO2 AWS Pipeline
WSO2 AWS Pipeline provides tools and a
preconfigured pipeline that can be used for
continuous integration and deployment of
WSO2 products.
27. ● Each time the pipeline is triggered deployment is updated to the latest
update level.
○ Update is performed through an automated update script in the pipeline
● New pipeline deployments,
○ New pipeline version will be released to comply with updates 2.0 model.
● Existing pipeline deployments,
○ Change the script with new update commands to comply with updates 2.0
model.
○ Sample script with new changes will be provided by WSO2.
Update deployments with AWS Pipeline
29. Update deployments with Docker
● New images containing the update level are pushed to WSO2 private docker
registry as soon as the update level is released.
● Easy to track images with update levels instead of timestamps.
○ e.g. docker.wso2.com/wso2is:5.8.0.1-alpine
○ docker.wso2.com/wso2is:5.8.0-alpine contains the latest update level.
● Build custom images using the updated image as the base to apply the
desired update levels.
30. WSO2 Kubernetes Pipeline
WSO2 Kubernetes Pipeline provides tools and a
preconfigured pipeline that can be used for
continuous integration and deployment of
WSO2 products.
31. Why Updates 2.0
● Improves upon the In-Place and WUM update tools to provide an
enhanced update experience.
○ Faster updates with low bandwidth usage.
○ Use of update levels instead of timestamps.
○ Adheres to proper standards and update protocols.
● Adapting the update process to deployment pipelines is extremely
simple.
32. Switching to Updates 2.0
● Customers are notified and a grace period is given before switching
old products over to the new update model.
● Frequently take updates (more on dev, staging envs and deploy to
production afterwards).
● We highly recommend using configuration management tools for
distributed deployments.
○ Do not have to resolve conflicts in multiple environments.
○ Only have to update and resolve conflicts in one master node.
33. Updates 2.0 Release Timeline (Recap)
10 FEB
2021
Updates 2.0 will be the sole
update mechanism
End of extended grace
period for WUM
10 OCT
2020
Updates 2.0 Release
Start of initial grace period
10 NOV
2020
Deprecate WUM and
In-place
Start of extended grace
period
Mid
2021
WUM and in-place EOL