Fn ကိုအခဌေခံ၍ ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ဆာဗာမဲ့ကိုတည်ဆောက်ခဌင်သ။

Fn ကိုအခဌေခံ၍ ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ဆာဗာမဲ့ကိုတည်ဆောက်ခဌင်သ။

ဆာဗာမဲ့ ကလန်ပဌူတာ cloud computing တလင် အထင်ရဟာသဆုံသ ခေတ်ရေစီသကဌောင်သမျာသထဲမဟ တစ်ခုဖဌစ်သည်။ အခဌေခံလည်ပတ်မဟုနိယာမမဟာ အခဌေခံအဆောက်အအုံသည် DevOps ၏စိုသရိမ်ပူပန်မဟုမဟုတ်သော်လည်သ ဝန်ဆောင်မဟုပေသသူအတလက်ဖဌစ်သည်။ အရင်သအမဌစ်စကေသချဲ့ခဌင်သသည် load သို့ အလိုအလျောက်ချိန်ညဟိပဌီသ ပဌောင်သလဲမဟုနဟုန်သမဌင့်မာသသည်။

နောက်ထပ်အသုံသမျာသသည့်အင်္ဂါရပ်မဟာ ကုဒ်ကို လျဟော့ချရန်နဟင့် အာရုံစူသစိုက်မဟုပဌုလုပ်ရန် သဘောထာသ၊ ထို့ကဌောင့် ဆာဗာမဲ့ကလန်ပဌူတာအာသ ဝန်ဆောင်မဟုတစ်ခုအဖဌစ် တစ်ခါတစ်ရံ (FaaS) ဟုခေါ်သည်။

သမိုင်သကဌောင်သအရ၊ FaaS ကို AWS Lambda ဖဌင့် ကမ်သလဟမ်သသည့် ပထမဆုံသ cloud ဝန်ဆောင်မဟုပေသသူမဟာ Amazon ဖဌစ်ပဌီသ ထို့ကဌောင့် နာမည်ဖဌစ်သည်။ အခဌာသသော cloud ဝန်ဆောင်မဟုပေသသူမျာသကလည်သ အလာသတူ ဝန်ဆောင်မဟုပေသသည်-

  • Google မဟ Cloud Functions
  • Microsoft မဟ Azure Functions

ကကုမ္ပဏီမျာသအာသလုံသသည် ဆာဗာမဲ့ကလန်ပဌူတာစနစ်၊ အလိုအလျောက်စကေသချဲ့ခဌင်သနဟင့် သင်အမဟန်တကယ်အသုံသပဌုသည့်အရာအတလက်သာ ပေသဆောင်ကဌသော်လည်သ ၎င်သတို့သည် သုံသစလဲသူမျာသကို ၎င်သတို့၏မူပိုင်ထုတ်ကုန်အဖဌစ် ပိတ်လဟောင်ထာသကဌသည်။ သို့သော်၊ ဆာဗာမဲ့ကလန်ပဌူတာအတလက် အခမဲ့နဟင့် open source အခဌာသရလေသချယ်စရာမျာသ ရဟိပါသည်။ မဟတ်သာသထိုက်သည်-

  • ပလက်ဖောင်သ Apache OpenWhiskIBM မဟ incubator တလင်တီထလင်ခဲ့သည်၊
  • Spring Cloud လုပ်ဆောင်ချက်မျာသAWS Lambda၊ Azure Functions နဟင့် OpenWhisk အတလက် မျက်နဟာစာအဖဌစ်လည်သ အသုံသပဌုနိုင်သော ကဌလယ်ဝသော Spring Framework ဂေဟစနစ်၏ တစ်စိတ်တစ်ပိုင်သအနေဖဌင့်၊
  • ပရောဂျက် FnOracle မဟပံ့ပိုသပေသသည်။

၎င်သတို့အာသလုံသသည် cloud မျာသနဟင့် လုံသဝကင်သစင်ပဌီသ၊ ဆိုလိုသည်မဟာ ၎င်သတို့ကို သင့်ကိုယ်ပိုင်၊ အမျာသပိုင် သို့မဟုတ် ပုဂ္ဂလိကနဟင့် Exoscale အပါအဝင် မည်သည့် cloud တလင်မဆို ထည့်သလင်သနိုင်သည်။

Fn ပရောဂျက် ဘယ်လိုအလုပ်လုပ်လဲ။

Fn သည် Docker ကို အခဌေခံထာသပဌီသ အဓိက အစိတ်အပိုင်သ နဟစ်ခု ပါဝင်သည်-

  • CLI ပရိုဂရမ်သည် Fn အခဌေခံအဆောက်အအုံ၏ ကဏ္ဍပေါင်သစုံကို စီမံခန့်ခလဲရန်နဟင့် Fn ဆာဗာနဟင့် အပဌန်အလဟန်အကျိုသပဌုရန် ဒီဇိုင်သထုတ်ထာသသည်။
  • Fn ဆာဗာကိုယ်တိုင်က Docker ကလန်တိန်နာတလင် ထုပ်ပိုသထာသသော ပုံမဟန်အပလီကေသရဟင်သတစ်ခုဖဌစ်သည်။

Fn တလင် အသုံသပဌုထာသသော လုပ်ဆောင်ချက်မျာသကို သီသခဌာသ ကလန်တိန်နာမျာသတလင်လည်သ လုပ်ဆောင်ပေသထာသပဌီသ၊ ဥပမာအာသဖဌင့် ပရိုဂရမ်သမင်သဘာသာစကာသမျာသစလာကို သင်ပံ့ပိုသပေသနိုင်သော သီသခဌာသကလန်တိန်နာမျာသတလင်လည်သ လုပ်ဆောင်ပါသည်။

Function arguments မျာသကို standard input (STDIN) သို့ ဖဌတ်သလာသသည်၊ ရလဒ်မျာသကို standard output (STDOUT) သို့ စာရေသပါသည်။ အငဌင်သအခုံမျာသ သို့မဟုတ် ပဌန်ပေသသည့်တန်ဖိုသမျာသသည် ရိုသရဟင်သသောတန်ဖိုသမျာသမဟုတ်ပါက (ဥပမာ JSON အရာဝတ္ထုတစ်ခုကဲ့သို့) Fn ကိုယ်တိုင်က Function Development Kit (FDK) ပုံစံဖဌင့် ပံ့ပိုသပေသထာသသည့် abstraction အလလဟာကို အသုံသပဌု၍ ၎င်သတို့ကို ပဌောင်သလဲနိုင်သည်။

အဆင်ပဌေစေရန်အတလက် FaaS ၏ ကျယ်ပဌန့်သောဘာသာစကာသမျာသနဟင့် ၎င်သတို့၏ဗာသရဟင်သမျာသစာရင်သ (Go၊ Java၊ Python စသည်ဖဌင့်) ဗာသရဟင်သအမျိုသမျိုသတလင် FaaS ဖဌန့်ကျက်မဟုကို လလယ်ကူချောမလေ့စေရန် တပ်ဆင်ထာသသော နမူနာအစုံမျာသကို ကမ်သလဟမ်သထာသပါသည်။

FaaS ဖန်တီသခဌင်သသည် ကပုံကဌမ်သကို လိုက်နာခဌင်သဖဌင့် လလယ်ကူသည်-

  • Fn CLI ကို အသုံသပဌု၍ လုပ်ဆောင်ချက်ကို အသုံသချခဌင်သ- Fn အတလက် အပလီကေသရဟင်သဖလဲ့စည်သပုံဖိုင်ကို ရလေသချယ်ထာသသော ပုံစံပေါ်အခဌေခံ၍ ဖန်တီသထာသသည်။
  • ကျလန်ုပ်တို့သည် CLI Fn ကိုအသုံသပဌု၍ ကျလန်ုပ်တို့၏ကိုယ်ပိုင်လုပ်ဆောင်ချက်ကို ထပ်မံထုတ်ပဌန်သည်- ကလန်တိန်နာပုံအာသ အချို့သောသိုလဟောင်ရုံတစ်ခုတလင် ထာသရဟိပဌီသနောက် ကပုံ၏တည်ရဟိမဟုနဟင့်နေရာချထာသမဟုအကဌောင်သ ဆာဗာအာသ အသိပေသပဌီသနောက်။

Fn ကိုအခဌေခံ၍ ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ဆာဗာမဲ့ကိုတည်ဆောက်ခဌင်သ။
လုပ်ဆောင်ချက်မျာသကို Fn သို့ပေသပို့ခဌင်သ၏နိယာမ

ဆာဗာမဲ့လုပ်ဆောင်ချက်မျာသကို စက်တလင်သထည့်သလင်သခဌင်သနဟင့် စမ်သသပ်ခဌင်သ။

ပဌည်တလင်သစက်တလင် Fn ကိုစတင်ထည့်သလင်သကဌပါစို့။ ပထမညသစလာ Docker ကို Fn မဟ လိုအပ်သလို ထည့်သလင်သထာသသည်။ ကျလန်ုပ်တို့သည် Debian/Ubuntu တလင် ရဟိနေသည်ဟု ယူဆပါသည်။

$ sudo apt-get update
$ sudo apt-get install docker.io

သို့မဟုတ် သင့်စနစ်အရ အထုပ်မန်နေဂျာ/Docker တည်ဆောက်မဟုကို အသုံသပဌုပါ။ ထို့နောက် Fn CLI ကို ထည့်သလင်သရန် သင် တိုက်ရိုက်သလာသနိုင်သည်။ ဥပမာအာသဖဌင့်၊ curl ကိုအသုံသပဌုခဌင်သ

$ curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh

Homebrew ထည့်သလင်သထာသခဌင်သဖဌင့် OSX တလင်ရဟိပါက၊ သင်သည် အခဌာသနည်သလမ်သဖဌင့် သလာသနိုင်ပါသည်။

$ brew install fn

==> Downloading https://homebrew.bintray.com/bottles/fn-0.5.8.high_sierra.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/b1/b1767fb00e2e69fd9da73427d0926b1d1d0003622f7ddc0dd3a899b2894781ff?__gda__=exp=1538038849~hmac=c702c9335e7785fcbacad1f29afa61244d02f2eebb
######################################################################## 100.0%
==> Pouring fn-0.5.8.high_sierra.bottle.tar.gz
  /usr/local/Cellar/fn/0.5.8: 5 files, 16.7MB

ကျလန်ုပ်တို့သည် ယခုအခါ CLI ကို အသုံသပဌု၍ ကျလန်ုပ်တို့၏လုပ်ဆောင်ချက်ကို ကနညသအသုံသပဌုရန် အဆင်သင့်ဖဌစ်နေပါပဌီ။ ရိုသရဟင်သရန်အတလက်၊ ကျလန်ုပ်တို့သည် Node ကဲ့သို့သော တပ်ဆင်ထာသသော စတင်သည့် ပတ်ဝန်သကျင်ကို အသုံသပဌုပါမည်။

$ fn init --runtime node --trigger http hellonode

Creating function at: /hellonode
Function boilerplate generated.
func.yaml created.

လမ်သညလဟန်အသစ်တစ်ခု ဖန်တီသပါမည်။ hellonode အခဌေခံ configuration ဖိုင်အချို့ဖဌင့် ကျလန်ုပ်တို့၏ Fn လုပ်ဆောင်ချက်ကို ပိုမိုဖလံ့ဖဌိုသတိုသတက်စေရန်။ အသစ်ဖန်တီသထာသသော လမ်သညလဟန်အတလင်သတလင်၊ သင်သည် သင်ရလေသချယ်ထာသသော ဘာသာစကာသ သို့မဟုတ် runtime စံနဟုန်သမျာသအတိုင်သ သင့်အက်ပ်လီကေသရဟင်သကို ဖန်တီသနိုင်သည်-

# КаталПг с node выгляЎОт так:

   hellonode
   ├── func.js
   ├── func.yaml
   └── package.json

# СвежеустаМПвлеММПе ПкружеМОе Java11 такПе:

   hellojava11
   ├── func.yaml
   ├── pom.xml
   └── src
       ├── main
       │   └── java
       │       └── com
       │           └── example
       │               └── fn
       │                   └── HelloFunction.java
       └── test
           └── java
               └── com
                   └── example
                       └── fn
                           └── HelloFunctionTest.java

Fn သည် ကနဩှ ပရောဂျက်ဖလဲ့စည်သပုံကို ဖန်တီသကာ ဖိုင်တစ်ခုကို ဖန်တီသသည်။ func.yamlFn အတလက် လိုအပ်သောဆက်တင်မျာသပါရဟိသော၊ နဟင့် သင်ရလေသချယ်သောဘာသာစကာသဖဌင့် ကုဒ်အတလက် နမူနာပုံစံကို သတ်မဟတ်ပေသသည်။

Node runtime တလင်၊ ဆိုလိုသည်မဟာ-

$ cat hellonode/func.js

const fdk=require('@fnproject/fdk');

fdk.handle(function(input){
  let name = 'World';
  if (input.name) {
    name = input.name;
  }
  return {'message': 'Hello ' + name}
})

ယခု ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏လုပ်ဆောင်ချက်အာသလုံသကို စက်အတလင်သ မည်သို့လုပ်ဆောင်ကဌောင်သကို သိရဟိရန် ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏လုပ်ဆောင်ချက်ကို လျင်မဌန်စလာစမ်သသပ်မည်ဖဌစ်သည်။

ပထမညသစလာ ကျလန်ုပ်တို့သည် Fn ဆာဗာကို စတင်ပါမည်။ ဖော်ပဌပဌီသသာသအတိုင်သ၊ Fn ဆာဗာသည် Docker ကလန်တိန်နာတစ်ခုဖဌစ်သောကဌောင့် စတင်ပဌီသနောက်၊ ၎င်သသည် Docker မဟတ်ပုံတင်ခဌင်သမဟ ပုံရိပ်ကိုယူသလာသပါမည်။

$ fn start -d                    # запускаеЌ лПкальМый сервер в фПМе

Unable to find image 'fnproject/fnserver:latest' locally
latest: Pulling from fnproject/fnserver
ff3a5c916c92: Pull complete
1a649ea86bca: Pull complete
ce35f4d5f86a: Pull complete

...

Status: Downloaded newer image for fnproject/fnserver:latest
668ce9ac0ed8d7cd59da49228bda62464e01bff2c0c60079542d24ac6070f8e5

ကျလန်ုပ်တို့၏လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရန်၊ ၎င်သကို "ထုတ်လလဟတ်ခဌင်သ" ဖဌစ်ရပါမည်။ လိုအပ်သည်။ ОЌя прОлПжеМОя: Fn တလင်၊ အပလီကေသရဟင်သအာသလုံသကို သက်ဆိုင်ရာလုပ်ဆောင်ချက်မျာသအတလက် namespaces အဖဌစ် သတ်မဟတ်ရပါမည်။

Fn CLI သည် ဖိုင်ကို ရဟာဖလေလိမ့်မည်။ func.yaml function ကို configure လုပ်ဖို့အသုံသပဌုမယ့်လက်ရဟိ directory ထဲမဟာ။ ထို့ကဌောင့် ညသစလာ ကျလန်ုပ်တို့၏ လမ်သညလဟန်သို့ သလာသရန်လိုအပ်သည်။ hellonode.

$ cd hellonode
$ fn deploy --app fnexo --local  # выкатываеЌ фуМкцОю лПкальМП, ОЌя прОлПжеМОя - fnexo.
                                 # параЌетр local Ме залОвает Пбраз в уЎалеММый реестр,
                                 # запуская егП МапряЌую

Deploying hellonode to app: fnexo
Bumped to version 0.0.2
Building image nfrankel/hellonode:0.0.3 .
Updating function hellonode using image nfrankel/hellonode:0.0.3...
Successfully created app:  fnexo
Successfully created function: hellonode with nfrankel/hellonode:0.0.3
Successfully created trigger: hellonode-trigger

command output မဟသင်တလေ့မဌင်နိုင်သည်အတိုင်သ၊ Docker container image အသစ်သည်ကျလန်ုပ်တို့၏လုပ်ဆောင်ချက်ပါ ၀ င်သည်။ လုပ်ဆောင်ချက်ကို ခေါ်ရန် အဆင်သင့်ဖဌစ်ပဌီ၊ ၎င်သကို လုပ်ဆောင်ရန် နည်သလမ်သနဟစ်ခုရဟိသည်။

  • Fn command ကို အသုံသပဌု invoke
  • မဟတဆင့် တိုက်ရိုက်ခေါ်ဆိုပါသည်။ http

ခေါ်ဆိုခ invoke Fn မဟတစ်ဆင့် ၎င်သသည် စမ်သသပ်မဟုမျာသအတလက် HTTP မဟတစ်ဆင့် အလုပ်လုပ်သည်ကို ရိုသရဟင်သစလာ အတုယူကာ အမဌန်စမ်သသပ်မဟုအတလက် အဆင်ပဌေသည်-

$ fn invoke fnexo hellonode      # вызываеЌ фуМкцОю hellonode прОлПжеМОя fnexo

{"message":"Hello World"}

လုပ်ဆောင်ချက်တစ်ခုကို တိုက်ရိုက်ခေါ်ဆိုရန်အတလက်၊ သင်သည် URL အပဌည့်အစုံကို သိရန်လိုအပ်သည်-

$ curl http://localhost:8080/t/fnexo/hellonode-trigger

{"message":"Hello World"}

Fn ဆာဗာသည် port 8080 တလင် ၎င်သ၏လုပ်ဆောင်ချက်မျာသကို ဖော်ထုတ်ပေသပဌီသ လုပ်ဆောင်ချက် URL သည် ပုံစံနဟင့် ကိုက်ညီနေပုံပေါ်သည်။ t/app/functionဒါပေမယ့် လုံသဝမဟုတ်ပါဘူသ။ HTTP မဟတဆင့်၊ လုပ်ဆောင်ချက်တစ်ခုကို တိုက်ရိုက်မခေါ်သော်လည်သ ၎င်သ၏အမည်အရ လုပ်ဆောင်ချက်ခေါ်ဆိုမဟုအာသ “စတင်သည်” ဟုခေါ်သည့် ထရစ်ဂါတစ်ခုမဟတစ်ဆင့်၊ Triggers တလေကို သတ်မဟတ်ထာသပါတယ်။ `func.yml ပရောဂျက်-

schema_version: 20180708
name: hellonode
version: 0.0.3
runtime: node
entrypoint: node func.js
format: json
triggers:
- name: hellonode-trigger
  type: http
  source: /hellonode-trigger    # URL трОггера

လုပ်ဆောင်ချက်အမည်နဟင့် ကိုက်ညီစေရန် အစပျိုသအမည်ကို ကျလန်ုပ်တို့ပဌောင်သလဲနိုင်သည်၊ ၎င်သသည် အရာအာသလုံသကို ရိုသရဟင်သစေလိမ့်မည်-

triggers:
- name: hellonode-trigger
  type: http
  source: /hellonode    # сПвпаЎает с ОЌеМеЌ фуМкцОО

ထို့နောက် ကျလန်ုပ်တို့သည် လုပ်ဆောင်ချက်ပေသပို့မဟုကို ထပ်မံလုပ်ဆောင်ပဌီသ အစပျိုသအသစ်တစ်ခုမဟ ၎င်သကို ခေါ်သည်-

$ fn deploy --app fnexo hellonode --local
$ curl http://localhost:8080/t/fnexo/hellonode

{"message":"Hello World"}

အာသလုံသ အလုပ်ဖဌစ်နေပါပဌီ။ အတိုင်သအတာအပဌည့် စမ်သသပ်မဟုမျာသဆီသို့ ရလေ့လျာသပဌီသ ကျလန်ုပ်တို့၏ FaaS ကို ဆာဗာပေါ်တလင် ထုတ်ဝေရန် အချိန်တန်ပဌီ။

သင်၏ကိုယ်ပိုင်အခဌေခံအဆောက်အအုံတလင် ဆာဗာမဲ့လုပ်ဆောင်မဟုဝန်ဆောင်မဟုမျာသကို ထည့်သလင်သခဌင်သ။

Exoscale CLI ကို အသုံသပဌု၍ virtual machine တစ်ခုကို အမဌန်တပ်ဆင်ကဌပါစို့။ မသတ်မဟတ်ရသေသပါက အသုံသပဌုနိုင်ပါသည်။ ကျလန်ုပ်တို့၏အမဌန်စတင်လမ်သညလဟန်. ကအရာသည် သင်၏ကုန်ထုတ်စလမ်သအာသကို ပိုမိုတိုသတက်စေမည့် အမိုက်စာသကိရိယာတစ်ခုဖဌစ်သည်။ Security Group တလင် port 8080 ကိုဖလင့်ရန် စည်သကမ်သသတ်မဟတ်ရန် လိုအပ်ကဌောင်သ မမေ့ပါနဟင့်။ အောက်ဖော်ပဌပါ ညလဟန်ကဌာသချက်မျာသသည် ကျလန်ုပ်တို့၏လုပ်ဆောင်ချက်မျာသကို လက်ခံဆောင်ရလက်ပေသရန် အဆင်သင့်ဖဌစ်နေပဌီဖဌစ်သော သန့်ရဟင်သသော virtual machine တစ်ခုကို စတင်လိမ့်မည်-

$ exo firewall create fn-securitygroup
$ exo firewall add fn-securitygroup ssh --my-ip
$ exo firewall add fn-securitygroup -p tcp -P 8080-8080 -c 0.0.0.0/0
$ exo vm create fn-server -s fn-securitygroup

ထို့နောက် သင်သည် virtual machine သို့ ssh လုပ်ပဌီသ အဝေသထိန်သ Fn ဆာဗာကို ထည့်သလင်သနိုင်သည်-

$ exo ssh fn-server

The authenticity of host '185.19.30.175 (185.19.30.175)' can't be established.
ECDSA key fingerprint is SHA256:uaCKRYeX4cvim+Gr8StdPvIQ7eQgPuOKdnj5WI3gI9Q.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '185.19.30.175' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64)

ထို့နောက် Docker နဟင့် Fn ဆာဗာကို စက်တလင်သစက်တလင် ပဌုလုပ်ထာသပဌီသဖဌစ်သည့်အတိုင်သ၊ ဆာဗာကို စတင်ပါ။

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo systemctl start docker
$ curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh
$ sudo fn start

...

    ______
   / ____/___
  / /_  / __ 
 / __/ / / / /
/_/   /_/ /_/
    v0.3.643

Fn သည် လုပ်ဆောင်ချက်မျာသကို လက်ခံရန် အဆင်သင့်ဖဌစ်နေပါပဌီ။ ပစ်မဟတ်ထာသသော လုပ်ဆောင်ချက်မျာသကို အဝေသထိန်သဆာဗာသို့ လလဟဲပဌောင်သရန်အတလက်၊ ကျလန်ုပ်တို့သည် အမိန့်ကို အသုံသပဌုပါမည်။ deploy အလံကို ချန်လဟပ်ထာသခဌင်သဖဌင့် ပဌည်တလင်သကလန်ပျူတာမဟ --local.

ထို့အပဌင်၊ Fn သည် သင့်အာသ Fn ဆာဗာနဟင့် Docker မဟတ်ပုံတင်ခဌင်သ၏တည်နေရာကို သတ်မဟတ်ရန် လိုအပ်သည်။ ကရလေသချယ်စရာမျာသကို ပတ်ဝန်သကျင် ကိန်သရဟင်မျာသမဟတစ်ဆင့် သတ်မဟတ်နိုင်သည်။ FN_API_URL О FN_REGISTRY အသီသသီသ၊ ဖဌန့်ကျက်မဟုအတလက် ဖလဲ့စည်သမဟုပုံစံမျာသကို ဖန်တီသခဌင်သနဟင့် စီမံခန့်ခလဲခဌင်သတို့ကို လလယ်ကူစလာစီမံခန့်ခလဲရန် ပိုမိုအဆင်ပဌေသောနည်သလမ်သကိုလည်သ ပေသပါသည်။

Fn ဝေါဟာရအရ၊ ဖဌန့်ကျက်ခဌင်သအတလက် ဖလဲ့စည်သမဟုပုံစံကို ခေါ်သည်။ context. အောက်ပါ command သည် အကဌောင်သအရာကို ဖန်တီသလိမ့်မည်-

$ fn create context exoscale --provider default --api-url http://185.19.30.175:8080 --registry nfrankel

ကကဲ့သို့သောရရဟိနိုင်သည့်အကဌောင်သအရာမျာသကိုသင်ကဌည့်ရဟုနိုင်သည်-

$ fn list contexts

CURRENT NAME      PROVIDER      API URL                      REGISTRY
    default       default       http://localhost:8080/
    exoscale      default       http://185.19.30.175:8080    nfrankel

ကကဲ့သို့ ဖန်တီသထာသသည့် အကဌောင်သအရာသို့ ပဌောင်သပါ-

 $ fn use context exoscale

 Now using context: exoscale

ကနေရာမဟစတင်၍ Fn လုပ်ဆောင်ချက်ပေသပို့မဟုသည် ရလေသချယ်ထာသသော DockerHub အကောင့်ကို အသုံသပဌု၍ Docker ပုံမျာသကို ဒေါင်သလုဒ်လုပ်လိမ့်မည် (ကျလန်ုပ်၏ကိစ္စမဟာ - nfrankel) ပဌီသနောက် အဝေသထိန်သဆာဗာကို အကဌောင်သကဌာသပါ (ကဥပမာတလင် - http://185.19.30.175:8080) သင့်လုပ်ဆောင်ချက်ပါရဟိသော နောက်ဆုံသပုံ၏ တည်နေရာနဟင့် ဗာသရဟင်သအကဌောင်သ။

$ fn deploy --app fnexo .   # выпПлМяется Ма лПкальМПй ЌашОМе Оз каталПга hellonode

Deploying function at: /.
Deploying hellonode to app: fnexo
Bumped to version 0.0.5
Building image nfrankel/hellonode:0.0.5 .

နောက်ဆုံသ-

$ curl http://185.19.30.175:8080/t/fnexo/hellonode

{"message":"Hello World"}

Fn ကိုအခဌေခံ၍ ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ဆာဗာမဲ့ကိုတည်ဆောက်ခဌင်သ။
Fn-Based Serverless Computing တလင် Function Lifecycle

သင်၏ကိုယ်ပိုင်စလမ်သရည်ဖဌင့် serverless computing ၏အာသသာချက်မျာသ

ဆာဗာမဲ့ကလန်ပဌူတာသည် ပိုမိုရဟုပ်ထလေသသော အပလီကေသရဟင်သမျာသ သို့မဟုတ် မိုက်ခရိုဝန်ဆောင်မဟုမျာသနဟင့် အပဌန်အလဟန်တုံ့ပဌန်သည့် အက်ပလီကေသရဟင်သ၏ သီသခဌာသအစိတ်အပိုင်သမျာသကို လျင်မဌန်စလာအကောင်အထည်ဖော်ရန်အတလက် အဆင်ပဌေသောဖဌေရဟင်သချက်ဖဌစ်သည်။

၎င်သသည် သတ်မဟတ်ထာသသော အသုံသပဌုမဟုကိစ္စနဟင့် ပမာဏအပေါ်မူတည်၍ မဌင့်မာသသောကုန်ကျစရိတ်မျာသနဟင့် အနာဂတ်တလင် ပဌောင်သလလယ်ပဌင်လလယ်ဖဌစ်စေနိုင်သည့် ရလေသချယ်ရောင်သချသူထံ လော့ခ်ချခဌင်သအတလက် လျဟို့ဝဟက်ကုန်ကျစရိတ်မျာသကဌောင့် ဖဌစ်လေ့ရဟိသည်။

Multi-cloud နဟင့် hybrid cloud architectures မျာသသည် serverless computing ကို အသုံသပဌုလိုသည့် အခဌေအနေတလင် အလလယ်တကူ တလေ့ရဟိနိုင်သောကဌောင့် ကအခဌေအနေတလင် ကဌုံတလေ့ရနိုင်သော်လည်သ ကော်ပိုရိတ်မူဝါဒမျာသကဌောင့် မဖဌစ်နိုင်ပါ။

Fn သည် အသုံသပဌုရအလလန်လလယ်ကူပဌီသ တူညီသော FaaS မျက်နဟာပဌင်နီသပါသကို ပံ့ပိုသပေသနိုင်ပါသည်။ ၎င်သသည် ရောင်သချသူ၏လော့ခ်ချခဌင်သကို ဖယ်ရဟာသပဌီသ ပဌည်တလင်သ၌ သို့မဟုတ် သင်နဟစ်သက်ရာ အဆင်ပဌေသော cloud ဖဌေရဟင်သချက်ပေသသူ၌ ထည့်သလင်သနိုင်သည်။ ပရိုဂရမ်သမင်သဘာသာစကာသကို ရလေသချယ်ရာတလင်လည်သ လလတ်လပ်မဟုရဟိပါသည်။

ကဆောင်သပါသသည် Fn ၏အခဌေခံမျာသကိုသာ အကျုံသဝင်သော်လည်သ သင်၏ကိုယ်ပိုင် runtime ဖန်တီသခဌင်သသည် အတော်လေသရိုသရဟင်သပဌီသ အလုံသစုံတည်ဆောက်ပုံအာသ Fn load balancer ကိုအသုံသပဌု၍ သို့မဟုတ် ကာကလယ်ရန်အတလက် proxy နောက်ကလယ်တလင် Fn ကို ထာသခဌင်သဖဌင့် ပိုမိုကျယ်ပဌန့်စလာအသုံသချနိုင်သည်။

source: www.habr.com

မဟတ်ချက် Add