Changes for page eMagiz Runtime Generation 3
Last modified by Erik Bakker on 2024/08/08 15:48
From version 34.1
edited by Erik Bakker
on 2024/08/08 14:34
on 2024/08/08 14:34
Change comment:
There is no comment for this version
Summary
-
Page properties (5 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,0 @@ 1 -eMagiz Runtime Generation 3 - Parent
-
... ... @@ -1,1 +1,0 @@ 1 -WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. ebakker1 +XWiki.marijn - Default language
-
... ... @@ -1,1 +1,0 @@ 1 -en - Content
-
... ... @@ -1,10 +1,19 @@ 1 -{{container}} 2 -{{container layoutStyle="columns"}} 3 -((( 4 -This fundamental intends to share some valuable insights about the evolution of eMagiz from a local, on-premises deployment platform to a cloud-first platform. The text below delves into the transition from Generation 1 runtime to Generation 3, highlighting the utilization of Spring Boot framework, Docker technology, and the impact on the way of working. 1 +{{html wiki="true"}} 2 +<div class="ez-academy"> 3 + <div class="ez-academy_body"> 4 +<div class="doc"> 5 + 5 5 7 + 8 += eMagiz Runtime Generation 3 = 9 + 10 +In this fundamental, the focus will be on the runtimes of eMagiz and notably the next generation runtime. The internal projectname is called Generation 3, which we'll use here for now. 11 + 6 6 Should you have any questions, please get in touch with academy@emagiz.com. 7 7 14 +* Last update: March 17th, 2022 15 +* Required reading time: 10 minutes 16 + 8 8 == 1. Prerequisites == 9 9 10 10 * Advanced knowledge of the eMagiz platform ... ... @@ -11,107 +11,66 @@ 11 11 12 12 == 2. Key concepts == 13 13 14 -The first thing to consider is the eMagiz runtime. This is the Java based application container where the generated code of eMagiz flows is deployed and put into operation. That runtime is something you can download in the Deploy -> Containers section as a zipfile, and make active on your local laptop or machine. The way to invoke the Java application container is to execute the karaf.bat (which refers to the framework we use for that). For runtimes that are deployed, the karaf.bat is the executable refered in the services of the DMZ server of the client. 23 +The first thing to consider is the eMagiz runtime. This is the Java based application container where the generated code of eMagiz flows is deployed and put into operation. That runtime is something you can download in the Deploy --> Containers section as a zipfile, and make active on your local laptop or machine. The way to invoke the Java application container is to execute the karaf.bat (which refers to the framework we use for that). For runtimes that are deployed, the karaf.bat is the executable refered in the services of the DMZ server of the client. 15 15 16 16 This runtime play a core role in the next generation architecture. 17 17 27 + 28 + 18 18 == 3. Overview of the Generation 3 runtime == 19 19 20 20 === 3.1 History of runtime === 21 21 22 -In the last fewyears,eMagizhasevolved from a local, on-premises deployment platform to acloud-first platform.Atthe inception of the eMagiz runtime, we provideda process that could only run locally on a (dedicated) server of clients. We refer to that as Generation 1 runtime. With the requirement to deploy eMagiz runtime in the Cloud, we updated the runtime to Generation 2,includingthe OSGI and Karaf framework that allowed remoterunning runtimes. Our next step,explained below,is then referredtoas Generation 3.33 +In the last years eMagiz evolved from a local, on-premises deployment platfrom to a Cloud-first platform. In the inception of the eMagiz runtime, we where able to provide a process that could only run locally on a (dedicated) server of clients. We refer that as Generation 1 runtime. With the requirement to deploy eMagiz runtime also in the Cloud, we updated the runtime to Generation 2. Which included the OSGI and Karaf framework that allowed to remotely manage runtimes. Our next step explained below is then referred as Generation 3. 23 23 24 24 === 3.2 Spring Boot framework === 25 25 26 -The ambition of eMagiz isto work towards serverless Cloud environments where the eMagiz runtime can be made operational. A bigger portion of our platform leverages the Spring Integration framework, and the Spring Boot framework provides the requiredcomponents to form a Java-based application container that can run on Docker technology. It was,therefore,logical to migrate the existing runtime to that framework, making OSGI and Karaf obsolete. Furthermore, the Spring Boot framework providesameans to measure many more things in the context of log entries and runtime metrics.37 +The ambition of eMagiz to work towards serverless Cloud environments, where the eMagiz runtime can be made operational. A bigger portion of our platform leverages the Spring Integration framework, and the Spring Boot framework provides the requirement components to form a Java based application container that can run on Docker technology. It was therefore logical to migrate the existing runtime to that framework, making OSGI and Karaf obsolete. Furthermore, the Spring Boot framework provides means to measure many more things in the context of log entries and runtime metrics. 27 27 28 28 === 3.3 Docker technology === 29 29 30 -A more modern technology thantraditional servers is usingDocker containers. Docker provides containers that mimic servers in a specific way. A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries,and settings.41 +A more modern technology compared to traditional servers is to use Docker containers. Docker provides containers that mimic servers in a specific way. A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. 31 31 32 -Container images become containers at runtime ,and in the case of Docker containers,images become containers when they run on Docker Engine.From eMagiz, weprovideimagesthatrepresentthe codethat processesyour messages. As Dockerisagnostic intermsofOS,thesolutioncanruninour cloudandon-premise onbothLinux—and Windows-based servers. Containers isolate software from its environment and ensure that it works uniformly despite differences,for instance,between development and staging.43 +Container images become containers at runtime and in the case of Docker containers * images become containers when they run on Docker Engine. Available for both Linux and Windows-based applications, containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging. 33 33 34 -The eMagizruntime can run inside a Docker, andit is made part of theDocker image.You will find other required piecesin the Docker image,such astheOS, Java, monitoring services,and more.45 +The runtime of eMagiz can run inside a Docker, and the runtime is made part of the docker image. In the docker image you will find other required pieces such as OS, Java, monitoring services, etc. 35 35 36 - [[image:Main.Images.Fundamental.WebHome@fundamental-runtime-generation3-2.png]]47 +<p align="center">[[image:fundamental-runtime-generation3-2.png||]]</p> 37 37 38 -{{info}} 39 -More information on the installation process of on-premise Docker on Linux can be found [[here>>doc:Main.eMagiz Academy.Microlearnings.Expert Level.Solution Architecture.expert-solution-architecture-onpremises-server-linux-installguide.WebHome||target="blank"]]. More information on the install process of on-premise Docker on Windows can be found [[here>>doc:Main.eMagiz Academy.Microlearnings.Expert Level.Solution Architecture.expert-solution-architecture-onpremises-server-windows-installguide.WebHome||target="blank"]]. 40 -{{/info}} 41 - 42 42 === 3.4 Impact on Way of Working Gen2 vs. Gen3 === 43 43 44 -{{info}} 45 -See the additional readings for more detailed information on these changes and how you can migrate from the current situation to the new situation. 46 -{{/info}} 47 - 48 48 * Deployment Plan 49 - **The deployment has a new option called Deploy runtimes. These steps will be part of a default plan or can be added asaseparate line. Effectively, once a runtime is deployed as part of a Docker image, the image needs to be loaded and executed. That means thecurrent image,including all flows,will be replaced with a newone. This makes the deployment simple and fast. The option means that all runtime ona machine will be deployed in minutes.52 + The deployment has a new option called Deploy runtimes. These steps will be part of a default plan, or can be added as seperate line. Effectively, once a runtime is deployed as part of a Docker image, the image needs to be loaded and executed. That means that current image including all flows will be replaced with a new image. This makes the deployment simple and fast. The option means that all runtimes of a machine will be deployed in matter of seconds 50 50 51 51 * Releases 52 - **The release functionality definesthe Docker image. Setting the release means creating a new Docker image.55 + The releases functionality is used for defining the Docker image. Setting the release means creating a new Docker image. 53 53 54 54 * Deploy Architecture 55 - **You can see the running status of a Docker image at everyruntime.Docker imagecanbeswitched on or off, and flows can't be selectively switched on or off.58 + On every runtime you can see the running status of a Docker image. In a way, this a replacement for the Runtime Dashboard. The docker image is switched on or off, and flows can't be selectively switched on or off. 56 56 57 -* Runtime Overview 58 - ** This overview shows all runtimes and their corresponding status. This is a replacement for the Runtime Dashboard. 59 - 60 60 * Properties 61 - **Intheprevious generationofruntime, properties were loaded attheruntime level (in a way). Updating a property meant stopping and starting a flow to effectuate the property change. Now, the properties are made part of the Docker image. That results in the necessity ofcreatinga new release once a property is changed.61 + In previous generation runtime, properties where loaded at runtime level (in a way). Updating a property meant stopping and starting a flow to effectuate the property change. Now, the properties are made part of the Docker image. That results in the necessity to create a new release once a property is changed. 62 62 63 63 * Build number 64 - ** The notion of build numbers no longer exists in the new runtime. Or not so explicitly as before. The Docker image will load the required libraries when creating the runtime image and always use the latest. 65 - It is strongly advised that all flows be on the latest build number before migrating to the next generation. 64 + The notion of build numbers no longer exists in the new runtime. Or not so explicitly as before. The Docker image will load the required libraries when creating the runtime image, and always use the latest. 66 66 67 -* Error handling 68 - ** The error handling on the flow level will change compared to the current generation. For the new generation, we will offer two options. 69 - *** Default error handling -> eMagiz will receive the errors and show them in the Manage Dashboard 70 - *** Custom error handling -> We have two separate options that allow you to send the error message to a custom solution and eMagiz or only to the custom solution. 71 - **** Including sending it to eMagiz 72 - **** Without sending it to eMagiz 66 +===== Practice ===== 73 73 74 -* Hosted web services 75 -** In the third-generation runtime, you will need to migrate your hosted web service to a new configuration. The following will change in this new configuration. 76 -*** All-entry will be split into separate entries 77 -*** WSDL will be automatically generated based on your system messages 78 -*** HTTP configuration is taken out of the flow and moved to Deploy -> Architecture 79 -*** Configuration of endpoints is streamlined better between cloud-hosted endpoints and on-premise endpoints 80 - 81 -* Handling local file communication 82 -** As our third-generation runtime uses Docker technology, your containers are, by default, closed off from their host. This makes them more secure, but it also means that additional configuration is needed when interaction needs to happen between the host and the deployed containers. 83 - 84 84 == 4. Key takeaways == 85 85 86 86 * Generation 3 runtime architecture has a series of consequences for user that need to be understood well 87 87 * The new generation architecture is the current path towards serverless, and simplyfies deployment greatly for users. 88 88 73 + 74 + 89 89 == 5. Suggested Additional Readings == 90 90 91 -* [[Crash Courses (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]] 92 -** [[Crash Course Platform (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.WebHome||target="blank"]] 93 -*** [[Setup deployment plan (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-setup-deployment-plan-gen3||target="blank"]] 94 -*** [[Deploy a release (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-execute-deployment-plan-gen3.WebHome||target="blank"]] 95 -*** [[Property Management (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-property-management-gen3||target="blank"]] 96 -* [[Novice Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Novice.WebHome||target="blank"]] 97 -** [[File Based Connectivity (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Novice.File based connectivity.WebHome||target="blank"]] 98 -*** [[Volume mapping (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Novice.File based connectivity.novice-file-based-connectivity-volume-mapping-on-premise||target="blank"]] 99 -* [[Intermediate Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.WebHome||target="blank"]] 100 -** [[eMagiz Runtime Management (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.WebHome||target="blank"]] 101 -* [[Expert Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Novice.WebHome||target="blank"]] 102 -** [[Solution Architecture (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Expert Level.Solution Architecture.WebHome||target="blank"]] 103 -*** [[Install Docker on Linux (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Expert Level.Solution Architecture.expert-solution-architecture-onpremises-server-linux-installguide||target="blank"]] 104 -*** [Install Docker on Windows (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Expert Level.Solution Architecture.expert-solution-architecture-onpremises-server-windows-installguide||target="blank"]] 105 -* [[Support (Menu)>>doc:Main.eMagiz Support.WebHome||target="blank"]] 106 -** [[Migration Paths (Navigation)>>doc:Main.eMagiz Support.Migration Paths.WebHome||target="blank"]] 107 -*** [[3rd generation runtime (Explanation)>>doc:Main.eMagiz Support.Migration Paths.migration-path-emagiz-runtime-generation-3||target="blank"]] 108 -*** [[Custom Error Handling (Explanation)>>doc:Main.eMagiz Support.Migration Paths.migration-path-custom-error-handling-runtime-generation-3||target="blank"]] 109 -*** [[Hosted SOAP web service (Explanation)>>doc:Main.eMagiz Support.Migration Paths.migration-path-host-soap-webservice-runtime-generation-3||target="blank"]] 110 -*** [[Hosted REST web service (Explanation)>>doc:Main.eMagiz Support.Migration Paths.migration-path-host-rest-webservice-runtime-generation-3||target="blank"]] 111 -))) 77 +* [Setting up a deployment plan](../microlearning/crashcourse-platform-deploy-setup-deployment-plan) 78 +* [Deploy a release](../microlearning/crashcourse-platform-deploy-execute-deployment-plan.md) 79 +* [Property Management](../microlearning/crashcourse-platform-deploy-property-management.md) 112 112 113 - (((114 - {{toc/}}115 - )))116 - {{/container}}117 -{{/ container}}81 +</div> 82 +</div> 83 +</div> 84 + 85 +{{/html}}