Changes for page API Gateway Architecture
Last modified by Erik Bakker on 2024/09/02 16:04
From version 7.1
edited by Erik Bakker
on 2022/06/13 08:20
on 2022/06/13 08:20
Change comment:
There is no comment for this version
To version 11.1
edited by Erik Bakker
on 2022/10/03 11:31
on 2022/10/03 11:31
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - Editmemoryforon-premise runtime(Linux)1 +API Gateway Architecture - Content
-
... ... @@ -1,85 +1,82 @@ 1 1 {{container}}{{container layoutStyle="columns"}}((( 2 +This micro-learning will focus on describing the general architecture of the API Gateway. After this microlearning, the background of the API GW architecture should be clear 2 2 3 -So metimesyou haveruntimesrunningon-premises.What wemean by that isthat theruntimesare running withinadatacenter of the customer insteadof running in theMagizCloud.For running a runtime on-premise we support running them on either Windows or Linuxas the operating system. In this microlearning, we will learn how youcan edit theemorysettings of a runtime thatis deployed on-premise on Linux.4 +Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 4 4 5 -Should you have any questions, please contact academy@emagiz.com. 6 - 7 -* Last update: April 5th, 2022 8 -* Required reading time: 5 minutes 9 - 10 10 == 1. Prerequisites == 11 -* Basic knowledge of the eMagiz platform 7 +* Intermediate knowledge of the eMagiz platform 8 +* Good working experience in the Design phase Architecture and Deploy Architecture 9 +* Created several API gateway integrations 12 12 13 13 == 2. Key concepts == 14 -This microlearning centers on editing the memory settings for an on-premise runtime that is running on Linux. With an on-premise runtime we mean: A runtime that is running within a data center of the customer instead of running in the eMagiz Cloud 15 15 16 -The focal point of this microlearning will be to learn how you can safely edit the memory settings for an on-premise runtime running on Linux 13 +* Single lane -> Single runtime per types 14 +* Double lane -> Two or more runtime per type to handle failover setups 17 17 18 -* The key aspects are: 19 - ** eMagiz can help you determine the correct size you need to configure via Design *> Architecture 20 - ** You need access to the on-premise location to perform the action 21 - ** Only change the wrapper.conf file. Nothing else 16 +== 3. Architecture considerations == 22 22 23 -== 3. Editmemoryforon-premiseruntime(Linux)==18 +=== 3.1 Architecture components API Gateway === 24 24 25 - Sometimes youhaveruntimes runningon-premises. What we mean bythat isthattheruntimesare running within a data center of thecustomerinsteadof runningin the eMagizCloud. For runninga runtimeon-premisewe supportrunning themoneither Windows or Linuxas the operatingsystem. In this microlearning, we will learn how youcan edit the memorysettings of aruntime thatis deployedon-premise.20 +The following picture displays a general architecture of the API Gateway. This picture has been taken from the eMagiz Design Architecture section as that illustrates the below key points. 26 26 27 - Thefocal point of thismicrolearningwill betolearnhow youcansafely editthememory settings for an on-premiseruntime.22 +[[image:Main.Images.Microlearning.WebHome@advanced-solution-architecture-apigw-architecture-1.png]] 28 28 29 -* The key aspects are: 30 - ** eMagiz can help you determine the correct size you need to configure via Design *> Architecture 31 - ** You need access to the on-premise location to perform the action 32 - ** Only change the wrapper.conf file. Nothing else 24 +Key notes 25 +1. Gateway runtime 26 +The Gateway has a separate runtime where the associated gateway flows are deployed in. The exit gates and all entry flow are the typical flow types present in this runtime, next to the usual infrastructure flow 27 +2. Location runtime 28 +The Gateway runtime is located in a Cloud machine, and is specifically put on the Connector machine. The Connector machine has the ability to allow incoming data (secured) traffic from outside the Virtual Private Cloud that each client has. The Core machine does not have this option due to security reasons. The eMagiz Cloud handles the proper and secure routing to the API gateway. 29 +3. Gateway only runtime 30 +These are system that act as application user of 1 or more operations made available in the API Gateway. In case the system is only connected in the Design phase as such an application user, than that system only acts as input for User Management. The system doesn't need to be deployed as a runtime on the Connector machine, and should therefore be placed on an excluded machine. In the picture above, Exact online is such a system. 33 33 34 -=== 3. 1Checkadviced size ===32 +=== 3.2 Single lane Cloud setup === 35 35 36 - WithinDesignArchitectureyou cansee for eachconnector runtimewhatthe advised sizing of eMagizisbasedonhowyou haveconfiguredyourintegrationdatamodel.Todosonavigate toDesign*> Architectureandopen thecontextmenuon connector runtimelevelvia a rightmouseclick.34 +Single lane setup in eMagiz means that all runtimes are provided once in the architecture diagram * there is no failover or clustered approach for the runtimes. For the API Gateway, this means that you have the following machines available. In this example, you have the messaging patterns components as well with the objective to see such cases as well. 37 37 38 -[[image:Main.Images.Microlearning.WebHome@intermediate-solution-architecture-edit-memory-on-premise-runtime-windows--context-menu-view.png]] 36 +* Core 01 -> holds the JMS Server and the messaging process container 37 +* Connnector 01 -> holds the API Gateway container and the messaging runtimes 39 39 40 - When selectingtheoption View containera pop*up will beshown. Withinthis pop*up, you will see theadvised heap andnon*heap memory settings of that particularruntime.39 +[[image:Main.Images.Microlearning.WebHome@advanced-solution-architecture-apigw-architecture-2.png]] 41 41 42 - [[image:Main.Images.Microlearning.WebHome@intermediate-solution-architecture-edit-memory-on-premise-runtime-windows--pop-up-details.png]]41 +=== 3.3 Double lane Cloud setup === 43 43 44 - ===3.2Edit memory onLinuxbased runtimes===43 +Double lane setup in eMagiz means that all runtimes are provided at least twice in the architecture diagram * there is a failover for the JMS runtimes and gateway containers. For the API Gateway, this means that you have the following machines available. In this case you need to make sure that the flows are duplicated properly across the containers in Deploy * Containers. By default eMagiz will spread all flows over both gateway containers. 45 45 46 -Now that we know what the advised size is we can navigate to our on-premise installation location to edit the memory settings. Below we will detail the various steps needed to make this happen. 45 +* Core 01 -> holds the JMS Server and the 1st messaging process container 46 +* Core 02 -> holds the backup JMS Server and the 2nd messaging process container 47 +* Connnector 01 -> holds the 1st API Gateway container 48 +* Connnector 02 -> holds the 2nd API Gateway container 47 47 48 -* Log in via Putty by typing in the host and the port and press load 49 -* When asked for credentials fill in credentials (Be aware, Linux does not acceapt ctrl+v and does not show the password or an indication of the password). Right mouse click to copy the password and press enter 50 -* Navigate to the directory where you have installed the runtime (Command is: cd {directory structure}) 51 -* Open the folder related to the runtime you want to change (Command is: cd emagiz_{technicalbusname}-{containertype}-{techincalnameruntime}_{environment}). 52 -* Open the etc folder within your runtime installation (Command is: cd etc) 53 -* Type in the following command: sudo vi emagiz and press Tab. This way Linux should auto suggest the so called wrapper.conf to be edited and press Enter if so 54 -* Type "i" to enter insert mode 55 -* Change the values of heap and or metaspace memory you want to change (you can navigate through the document with your arrow keys) 56 -* Press ESC and then type ":wq!" then press Enter to save the changes and exit Edit mode. Note: If you would like to exit the file without making any changes press ESC, then type ":q!" and press Enter 57 -* Restart the runtime by executing the correct restart command: 58 - ** systemd type: sudo systemctl restart <SERVICE_NAME> 59 - ** SystemV Type: sudo /etc/init.d/<SERVICE_NAME>-service restart 50 +The choice to create a double lane API gateway is to be done where there is a requirement for very high performance around response times and throughput. Please contact eMagiz to discuss such options. 60 60 52 +[[image:Main.Images.Microlearning.WebHome@advanced-solution-architecture-apigw-architecture-3.png]] 61 61 54 +=== 3.4 Hybrid Cloud setup === 62 62 56 +In the [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Advanced Level.API Management.advanced-api-management-running-part-of-your-api-gateway-solution-on-premise.WebHome||target="blank"]] you can find the reasons and configuration for running the exit gates in on-premises runtimes. A view of such a architecture is displayed here: 63 63 64 - == 4.Assignment==58 +[[image:Main.Images.Microlearning.WebHome@advanced-solution-architecture-apigw-architecture-4.png]] 65 65 66 - Asthisis a moretheoreticalmicrolearningwe do not have an assignment60 +=== 3.5 Memory === 67 67 68 - ==5.Key takeaways ==62 +For now the memory requirements for API Gateway are the same as for Messaging flows. Please refer to the [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Expert Level.Solution Architecture.expert-solution-architecture-determining-needed-memory.WebHome||target="blank"]]. 69 69 70 -* The key aspects are: 71 - ** eMagiz can help you determine the correct size you need to configure via Design *> Architecture 72 - ** You need access to the on-premise location to perform the action 73 - ** Only change the wrapper.conf file. Nothing else 64 +== 4. Assignment == 74 74 66 +There is no specific assignment for now. The correct use of the Design architecture is explained in this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-design-understanding-design-architecture-basic.WebHome||target="blank"]]. 75 75 68 +== 5. Key takeaways == 76 76 70 +1. API Gateways can be part of a mixed landscape of Messaging, Event Streaming and API Gateways 71 +2. A single lane setup is usually sufficient for most cases 72 +3. Hybrid setups are possbible but please be sure the ask the right questions before implementing such 73 + 77 77 == 6. Suggested Additional Readings == 78 78 79 - None76 +There are no suggested additional readings on this topic 80 80 81 81 == 7. Silent demonstration video == 82 82 83 - As thisisa moretheoretical microlearningwe have no videoforthis80 +There is no demonstration video of this functionality. 84 84 85 85 )))((({{toc/}}))){{/container}}{{/container}}