Changes for page eMagiz Runtime Generation 3
Last modified by Erik Bakker on 2024/08/08 15:48
From version 17.1
edited by Erik Bakker
on 2023/01/10 08:39
on 2023/01/10 08:39
Change comment:
There is no comment for this version
Summary
-
Page properties (4 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 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 - Content
-
... ... @@ -1,27 +1,47 @@ 1 -{{container}}{{container layoutStyle="columns"}}((( 1 +{{html wiki="true"}} 2 +<div class="ez-academy"> 3 + <div class="ez-academy_body"> 4 + 5 + 6 + <li class="doc-nav__item"><a href="../../docs/fundamental/index_academy_fundamental_all" class="doc-nav__link">Home</a></li> 7 + 8 + 9 + 10 + 11 + 12 +<div class="doc"> 13 + 14 + 15 + 16 += eMagiz Runtime Generation 3 = 17 + 2 2 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. 3 3 4 4 Should you have any questions, please get in touch with academy@emagiz.com. 5 5 22 +* Last update: March 17th, 2022 23 +* Required reading time: 10 minutes 24 + 6 6 == 1. Prerequisites == 7 7 8 8 * Advanced knowledge of the eMagiz platform 9 9 29 + 10 10 == 2. Key concepts == 31 +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. 11 11 12 -Th e firstthing to consideris the eMagiz runtime.This is the Java based application container where the generated code of eMagiz flows is deployedandput into operation. That runtime is something youcan download in the Deploy -> Containers sectionas a zipfile, and make active on yourlocallaptop or machine.The way toinvoketheJava applicationcontainer is to executethekaraf.bat(which refers tothe framework we use for that). For runtimesthat are deployed, the karaf.batistheexecutablerefered in the services of the DMZ server of the client.33 +This runtime play a core role in the next generation architecture. 13 13 14 -This runtime play a core role in the next generation architecture. 15 15 36 + 16 16 == 3. Overview of the Generation 3 runtime == 17 17 18 18 === 3.1 History of runtime === 19 - 20 20 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. 21 21 22 22 === 3.2 Spring Boot framework === 23 23 24 -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. 44 +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. 25 25 26 26 === 3.3 Docker technology === 27 27 ... ... @@ -31,34 +31,43 @@ 31 31 32 32 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. 33 33 34 - [[image:Main.Images.Fundamental.WebHome@fundamental-runtime-generation3-2.png]]54 +<p align="center">[[image:fundamental-runtime-generation3-2.png||]]</p> 35 35 36 36 === 3.4 Impact on Way of Working Gen2 vs. Gen3 === 37 37 38 38 * Deployment Plan 39 - 59 +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 40 40 41 41 * Releases 42 - 62 +The releases functionality is used for defining the Docker image. Setting the release means creating a new Docker image. 43 43 44 44 * Deploy Architecture 45 - 65 +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. 46 46 47 47 * Properties 48 - 68 +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. 49 49 50 50 * Build number 51 - 71 +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. 52 52 73 +===== Practice ===== 74 + 53 53 == 4. Key takeaways == 54 54 55 55 * Generation 3 runtime architecture has a series of consequences for user that need to be understood well 56 56 * The new generation architecture is the current path towards serverless, and simplyfies deployment greatly for users. 57 57 80 + 81 + 82 + 58 58 == 5. Suggested Additional Readings == 59 59 60 -* [ [Setup deployment plan>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-setup-deployment-plan-gen3||target="blank"]]61 -* [ [Deploy a release>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-execute-deployment-plan||target="blank"]]62 -* [ [Property Management>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-property-management-gen3||target="blank"]]85 +* [Setting up a deployment plan](../microlearning/crashcourse-platform-deploy-setup-deployment-plan) 86 +* [Deploy a release](../microlearning/crashcourse-platform-deploy-execute-deployment-plan.md) 87 +* [Property Management](../microlearning/crashcourse-platform-deploy-property-management.md) 63 63 64 -)))((({{toc/}}))){{/container}}{{/container}} 89 +</div> 90 +</main> 91 +</div> 92 +</div> 93 +{{/html}}
- fundamental-runtime-generation3-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ebakker - Size
-
... ... @@ -1,1 +1,0 @@ 1 -136.4 KB - Content