Looks like our cloud team has done this already for the synapse based
gateway. Maybe we could learn some things from them.

Do we want to build a UI experience for this? Like the deployment happens
when you press a button on the UI or is it preferable to build a mode where
you save some stuff somewhere when you press the button and then get a CLI
to do the actual deployment? I'm Asking because of the CI/CD aspects and to
make the runtime somewhat disconnected from the design time.

On Thu, Jul 25, 2019 at 3:35 PM Pubudu Gunatilaka <pubu...@wso2.com> wrote:

> Hi,
>
> We have another option here which is the extended version of option 2.
>
> Option 3:
>
> We are currently developing these custom resources for APIM in Kubernetes.
> So in these, what we expect from an external user is the Swagger
> definition. So with this Swagger definition, we deploy a micorgateway for
> the API. We can use the same approach in here.
>
> We can ask the K8s admin users to deploy our API Manager K8s operator.
> From API Manager, we only need to create relevant custom resources and push
> to the K8s API server. In this way we can reuse the work we have done so
> far with APIM K8s CRDs.
>
> [1] - https://github.com/wso2/k8s-apim-operator
>
> Thank you!
>
>
> On Tue, Jul 23, 2019 at 5:43 PM Sachith Kasthuriarachchi <
> sachit...@wso2.com> wrote:
>
>> Hi all,
>>
>> The private jet mode enables you to deploy APIs in a dedicated Gateway
>> node in Kubernetes. You do this in instances where the API has specialized
>> requirements, such as resource isolation or security isolation. When
>> publishing an API, the publisher can publish the API to a dedicated
>> gateway. Or else, he can combine multiple APIs and deploy those APIs in a
>> dedicated gateway. In this case, WSO2 API Microgateway is used as the
>> gateway. You have the flexibility to run WSO2 API Manager inside the
>> container management system, as well as externally. Two options are
>> available for this implementation.
>>
>> Option 1
>>
>>    - When we create an API in API manager it will create a .balx
>>    - A docker image needs to be created using that .balx and that image
>>    needs to be pushed to the Docker registry.
>>    - There are two methods to implement deployment and service of
>>    Kubernetes(K8s) artifacts
>>       1. Generate the YAML file and deploy it in K8s so that the
>>       customer can customize the configuration.
>>       2. Generate definitions directly and deploy in K8s.
>>
>> In this method, we can implement a button to download the generated
>> .balx in the API. For any API, users are able to download the .balx for his
>> API from the Publisher.
>> [image: Option1.png]
>>
>>
>> *Pros:* .Balx Can be Downloaded Via User Interface
>> *Cons:* Increase the size of the product distribution due to Ballerina
>> dependencies.
>>
>> Option 2
>>
>>    - When we create an API in the API manager we can
>>    - Generate the YAML and deploy it in K8s. Or,
>>       - Generate definitions directly and deploy in K8s. These
>>       definitions include the Swagger as a config map.
>>    - Then we can mount the above config map in Init container so that
>>    the Microgateway toolkit inside that container can generate the .balx file
>>    by running the Microgateway toolkit.
>>    - Finally, the generated .balx can be passed to the Microgateway
>>    runtime.
>>
>> This option is easy to implement but there will be no button in the user
>> interface to download the .balx.
>>
>> [image: Option2.png]
>>
>> *Pros:* Easy to implement and manage
>> *Cons:* Users can not download the .Balx
>>
>> Appreciate your thoughts.
>> --
>> *Sachith Kasthuriarachchi *| Engineering Intern | WSO2 Inc
>> (m) +94 71 694 0826 | (w) www.wso2.com | (e) sachit...@wso2.com
>> <abhis...@wso2.com>
>>
>> <http://goog_1559380502>
>> <http://wso2.com/signature>
>>
>
>
> --
> *Pubudu Gunatilaka* | Associate Technical Lead | WSO2 Inc.
> (m) +94774078049 | (w) +94112145345 | (e) pubu...@wso2.com
> <http://wso2.com/signature>
>
>

-- 
*Nuwan Dias* | Director | WSO2 Inc.
(m) +94 777 775 729 | (e) nuw...@wso2.com
[image: Signature.jpg]
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to