Changes for page Upgrading Build Numbers

Last modified by Erik Bakker on 2024/02/20 16:48

From version 10.2
edited by Erik Bakker
on 2022/06/10 12:39
Change comment: Update document after refactoring.
To version 11.1
edited by Erik Bakker
on 2022/06/10 13:00
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -novice-lifecycle-management-upgrading-build-numbers
1 +Upgrading Build Numbers
Content
... ... @@ -1,7 +1,7 @@
1 1  {{container}}
2 2  {{container layoutStyle="columns"}}
3 3  (((
4 -In this microlearning, we will focus on the last step of cleaning up your integration. As we learned in previous microlearnings, the lifecycle management process starts in Manage and ends in Capture. Following that logic, the last step of the process is to remove the integration from Capture (and potentially the system)
4 +In this microlearning, we will focus on how you can upgrade your build numbers within eMagiz consistently and easily. Knowing how to upgrade your build numbers will ensure that you will keep your eMagiz solution as up to date as possible and therefore also as stable and secure as possible.
5 5  
6 6  Should you have any questions, please get in touch with [[academy@emagiz.com>>mailto:academy@emagiz.com]].
7 7  
... ... @@ -15,64 +15,88 @@
15 15  
16 16  == 2. Key concepts ==
17 17  
18 -This microlearning is about cleaning up a captured integration.
18 +This microlearning centers around upgrading your build numbers.
19 19  
20 -By captured integration, we mean: A line that symbolizes data traffic between a system and eMagiz for which the specific information is filled in (i.e., captured)
20 +By upgrading we mean: Ensuring that your eMagiz solution is running on the latest open source and eMagiz software as is possible within the confinements of the customer context
21 +By build number we mean: An identification that the dependency to other pieces of the solution has changed. Each build number has a unique set of dependencies
21 21  
22 -There are four essential considerations before cleaning up a captured integration:
23 +There are three key considerations when updating build numbers:
23 23  
24 -* Is the integration/flow not mentioned anymore in any alerting in Manage?
25 -* Is the integration removed from all releases?
26 -* Is the integration removed from Create?
27 -* Is the eMagiz data model (i.e., CDM, API Gateway Data model) cleaned?
25 +* Why should I upgrade my build numbers?
26 +* How do I determine which of my flows can be updated with ease?
27 +* How should I handle the build number upgrade?
28 28  
29 -== 3. Cleanup a captured integration ==
29 +== 3. Upgrading Build Numbers ==
30 30  
31 -In this microlearning, we will focus on the last step of cleaning up your integration. As we learned in previous microlearnings, the lifecycle management process starts in Manage and ends in Capture. Following that logic, the last step of the process is to remove the integration from Capture (and potentially the system)
31 +In this microlearning, we will focus on how you can upgrade your build numbers within eMagiz consistently and easily. Knowing how to upgrade your build numbers will ensure that you will keep your eMagiz solution as up to date as possible and therefore also as stable and secure as possible. Within this section of the microlearning we will take a look at the three key consideration when updating build numbers:
32 32  
33 -There are four essential considerations before cleaning up a captured integration:
33 +* Why should I upgrade my build numbers?
34 +* How do I determine which of my flows can be updated with ease?
35 +* How should I handle the build number upgrade?
34 34  
35 -* Is the integration/flow not mentioned anymore in any alerting in Manage?
36 -* Is the integration removed from all releases?
37 -* Is the integration removed from Create?
38 -* Is the eMagiz data model (i.e., CDM, API Gateway Data model) cleaned?
37 +=== 3.1 Why should I upgrade my build numbers? ===
39 39  
40 -As you can see, a theme starts to develop itself. Each of the considerations focuses on a particular phase within eMagiz. We begin at Manage, move to Deploy, Create and Design before we end up in Capture. Removing integrations in the advised way will ensure that the deletion of the integration and everything that accompanies it will be successful.
39 +Build numbers govern all dependencies to other open-source software and govern the ability to use new functionality on flow level within the portal. Therefore by consistently upgrading your build numbers, you ensure that you keep up to date with all the dependencies. This not only prevents surprises when you did not migrate for a long time but also ensures that you are working on the most secure piece of software that is available. Furthermore, by upgrading your build numbers you will unlock the use of new functionality on flow level and you will prevent that you will run into problems because we have stopped supporting certain build numbers.
41 41  
42 -However, there is no check done on all these aspects when you want to delete the integration. Therefore it is up to you to uphold the quality. There is one exception to this: the integration needs to be removed from Create before you can clean it up (i.e., delete) in Capture. If the integration is not yet removed from Create, you will see the following pop-up:
41 +All in all enough reasons to keep a regular pace to upgrade your build numbers.
43 43  
44 -[[image:Main.Images.Microlearning.WebHome@novice-lifecycle-management-cleanup-a-captured-integration--not-able-to-remove.png]]
43 +=== 3.2 How do I determine which of my flows can be updated with ease? ===
45 45  
46 -To remove an integration in Capture, access the context menu (via a right-mouse click) and select Delete integration.
45 +The first trigger will be in the release notes in eMagiz [[Buildnumber release notes>>doc:Main.Release Information.Build numbers.WebHome||target="blank"]] and the release blog that is written with every release. Here you can read why a new build number is introduced. Is it because of new functionality, did we update some of the underlying (open source) software or a combination of multiple factors? By reading the release notes you can also easily determine what the possible impact is on your eMagiz solution. For example, if the only change in build number is that a specific component is added or changed and you do not use that (or only limited) the impact is also limited.
47 47  
48 -[[image:Main.Images.Microlearning.WebHome@novice-lifecycle-management-cleanup-a-captured-integration--delete-integration.png]]
47 +As you can already imagine, this judgment call becomes much tougher when you are 10 versions behind compared to when you are 1 or 2 versions behind. Simply because there is less of a gap to identify and analyze. So keep your eye on the release notes and release blog.
49 49  
50 -When selecting this option, eMagiz will ask for confirmation to make sure that you know what you are doing. Confirming that you want to delete the integration means throwing away all captured information, including attached documents. Furthermore, it means that all message mappings, system messages, and design configurations are also gone, except for entities and attributes on the eMagiz data model (CDM, API GW, EVS) level as they are shared.
49 +Now that you know that there is a new build number and what is exactly changed you can start comparing your current release state to the desired release state (i.e. all flows on the latest build number). You can do this with relative ease with the help of the compare functionality in Deploy -> Releases. As the help infographic on this page tells us you can determine what is changed with the help of how eMagiz color codes the various flows:
51 51  
52 -In cases where the integration you have just cleaned up is the last integration tying a system to eMagiz, you should also delete the system itself. To do so, access the context menu on the system level and select the option Delete system.
51 +[[image:Main.Images.Microlearning.WebHome@novice-lifecycle-management-upgrading-build-numbers--release-compare-legend.png]]
53 53  
54 -[[image:Main.Images.Microlearning.WebHome@novice-lifecycle-management-cleanup-a-captured-integration--delete-system.png]]
53 +As you can see, when a flow indicates a blue dotted line it means the only change between your Create flow and the flow within your release is the build number. These flows are excellent candidates to upgrade as there are no functional changes to consider.
55 55  
56 -Once again, you will receive a confirmation pop-up. Confirming, in this case, means deleting all captured information on the system level and removing all designed information on the system level.
55 +[[image:Main.Images.Microlearning.WebHome@novice-lifecycle-management-upgrading-build-numbers--release-comparison.png]]
57 57  
58 -One last consideration to consider when removing the system is to determine whether your captured system was already part of the Create and Deploy phase of eMagiz. If that was the case, additional measures are needed to properly clean up the system and all related information in the Deploy phase of eMagiz. In that case, you need to Delete your runtime in Deploy on all three environments. More on how to do so can be found in this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.Lifecycle Management.advanced-lifecycle-management-cleanup-a-deployed-runtime.WebHome||target="blank"]]. Make note that is an advanced action that only a bus owner can perform within your project. If you did not yet transfer the integration and the system to the Create phase, this action is unnecessary as the runtime does not exist in the Deploy phase.
57 +Note that when you are dealing with a functional change in a flow you should consider what the impact would be if you upgrade the flow to the latest build number. Simply because upgrading to the latest build number automatically means upgrading to the latest flow version (regardless of whether functional changes have occurred). If the flow is still in development and not part of a Production (or Acceptance) release there is nothing to worry about as you will use the latest flow version anyway to test your functionality and move it to Production (or Acceptance) at a later stage.
59 59  
60 -Armed with this knowledge, you can make the correct decision in cases where you consider cleaning up the captured integration.
59 +However, when a functional change has occurred and the older flow is running on Production (or Acceptance) you should make a deliberate choice whether or not to move that flow to the latest build number. Once again the decision will become far more complicated when you are a lot of build numbers behind as that might mean that other flows on the same runtime are also not eligible to be upgraded. So once again keep your build numbers updated.
61 61  
61 +When you can upgrade all flow versions to the latest version eMagiz provides you with a button that will automatically do this for you. This prevents you from clicking through the release several hundred times. If you access the context menu of your release you will see the option called Update flows to the latest version. Pressing this button will automatically upgrade all flows that are part of the release to the latest version.
62 +
63 +[[image:Main.Images.Microlearning.WebHome@novice-lifecycle-management-upgrading-build-numbers--update-flows-to-latest-version.png]]
64 +
65 +After you are satisfied with how the release looks you should make it active via the option called Set Release as Active.
66 +
67 +[[image:Main.Images.Microlearning.WebHome@novice-lifecycle-management-upgrading-build-numbers--release-comparison-after-update.png]]
68 +
69 +=== 3.3 How should I handle the build number upgrade? ===
70 +
71 +The reason why you should set your release as Active instead of deploying instantaneously is two-fold:
72 +
73 +* As this will impact the complete environment you should communicate and plan a correct date and time to execute the upgrade
74 +* Using the deploy functionality to upgrade your complete project is not considered best practice
75 +
76 +Now that you have made the release active you can upgrade your complete project in the following way:
77 +
78 +* Stop all entries to ensure that no data is flowing to your project in the midst of upgrading your complete project
79 +* Ensure that you have disabled all alerting
80 +* Upgrade the JMS by installing the new deployment package and starting the new flow.
81 +* Ensure that all other runtimes get stopped, data folder removed (excluding the h2 part), and get started again
82 +
83 +By using that logic eMagiz will forget which flows were running on the runtime and the start-up will ask the portal which flows should run. Because you have made the new release active this means that automatically the new and correct flows will be installed and started by eMagiz.
84 +
85 +Note that for cloud runtimes you can combine this with a cloud template upgrade or by using the Reset functionality offered by eMagiz in Deploy -> Architecture. Note that for on-premise runtimes you will have to do these steps manually.
86 +
87 +When you are finished with all runtimes navigate back to the Releases overview in Deploy and press the Deploy icon to activate your deployment plan. This is a great way to ensure that you did not accidentally miss one or more flows and will automatically ensure that the eMagiz alerting is activated again (assuming you make use of the best practices of eMagiz).
88 +
62 62  == 4. Assignment ==
63 63  
64 -Determine whether you can clean up a captured integration within your project. If so, execute the cleanup.
65 -This assignment can be completed with the help of the (Academy) project that you have created/used in the previous assignment.
91 +Read up on the release notes of the build numbers and determine for the projects in which you operate what the status is of your eMagiz solution on the eMagiz platform.
66 66  
67 67  == 5. Key takeaways ==
68 68  
69 -* There are four essential considerations before cleaning up a captured integration:
70 - * Is the integration/flow not mentioned anymore in any alerting in Manage?
71 - * Is the integration removed from all releases?
72 - * Is the integration removed from Create?
73 - * Is the eMagiz data model (i.e., CDM, API Gateway Data model) cleaned?
74 -* Before deletion, eMagiz will ask for confirmation
75 -* Deletion means that you cannot get it back anymore
95 +* Make your life easier by keeping up to date with regards to the build numbers that eMagiz releases
96 +* Determine the impact of the build number upgrade based on the release notes and the comparison functionality
97 +* Communicate before executing the upgrade
98 +* Ensure that data traffic is limited (or even better halted) during the upgrade
99 +* Verify your work by running the deployment plan
76 76  
77 77  == 6. Suggested Additional Readings ==
78 78  
... ... @@ -80,9 +80,7 @@
80 80  
81 81  == 7. Silent demonstration video ==
82 82  
83 -This video demonstrates how you could have handled the assignment and gives you some context on what you have just learned
107 +As this is a more theoretical microlearning we have no video for this)))
84 84  
85 -{{video attachment="novice-lifecycle-management-cleanup-a-captured-integration.mp4" reference="Main.Videos.Microlearning.WebHome"/}})))
86 -
87 87  ((({{toc/}}))){{/container}}
88 88  {{/container}}