Method and apparatus for providing cloud-based API service
A method for providing a cloud-based application programming interface (API) service is provided. The method may include issuing an authentication key corresponding to an application for some of a plurality of API services, performing authentication for a first user using the issued authentication key in response to a call for a first API service by the first user, and executing the first API service based on a result of the authentication.
1 . A method for providing a cloud-based application programming interface (API) service, the method comprising:
issuing an authentication key corresponding to an application for some of a plurality of API services;
performing authentication for a first user using the issued authentication key in response to a call for a first API service by the first user; and
executing the first API service based on a result of the authentication,
wherein the issuing, performing, and executing are performed within an integrated control plane of a cloud service provider, and
wherein the plurality of API services are artificial intelligence (AI)-based data analysis services executed on graphics processing unit (GPU)-based worker nodes managed by an API service module of the integrated control plane.
2 . The method of claim 1 , wherein the executing of the first API service includes:
acquiring analysis target data from a linked storage; and
generating an analysis result for the analysis target data by executing the first API service.
3 . The method of claim 1 , wherein the plurality of API services include an artificial intelligence (AI)-based character recognition service, an AI-based text analysis service, and an AI-based image analysis service.
4 . The method of claim 1 , wherein the executing of the first API service includes:
checking a permission of the first user for the first API service; and
executing the first API service only when the first user has the permission.
5 . The method of claim 1 , wherein the executing of the first API service includes:
generating a job for the first API service and inserting the job into a queue;
fetching the job from the queue and verifying validity of the job; and
processing the job when the job is valid.
6 . The method of claim 5 , wherein the validity of the job is verified based on at least one of an extension name of the analysis target data file and a capacity of the analysis target data file.
7 . The method of claim 1 , wherein the first API service is an asynchronous type API service, and
the executing of the first API service includes:
generating a job for the first API service and processing the generated job; and
providing an ID of the job to the first user before processing the job.
8 . The method of claim 7 , wherein the generating of the job for the first API service and the processing of the generated job includes:
generating a job for the first API service and inserting the job into a queue;
fetching the job from the queue and verifying validity of the job; and
processing the job when the job is valid.
9 . The method of claim 8 , wherein the processing of the job when the job is valid includes:
separating the job into a plurality of tasks based on preset conditions;
verifying validity of a first task, which is one of the plurality of tasks;
processing the first task when the first task is valid; and
repeating the verifying of the validity of the first task and the processing of the first task until all of the plurality of tasks are processed.
10 . The method of claim 9 , wherein the validity of the first task is verified based on at least one of an extension name of an analysis target data file of the first task and a capacity of the analysis target data file of the first task.
11 . The method of claim 10 , further comprising uploading a processing result of the job to a storage according to an option preset by the first user.
12 . The method of claim 10 , further comprising providing information about a status of the job to the first user in response to a status inquiry request of the job by the first user,
wherein the status inquiry request of the job includes information about an ID of the job.
13 . The method of claim 1 , wherein the integrated control plane comprises a console module, an API service connection module, and the API service module.
14 . The method of claim 1 , wherein the API service module includes an API manager configured to route a task associated with the first API service to one of the GPU-based worker nodes based on a type of the first API service.
15 . A system for providing a cloud-based application programming interface (API) service, the system comprising:
a processor; and
a memory configured to store instructions, the instructions cause the processor, when executed by the processor, to perform operations of:
issuing an authentication key corresponding to an application for some of a plurality of API services;
performing authentication for a first user using the issued authentication key in response to a call for a first API service by the first user; and
executing the first API service based on a result of the authentication,
wherein the operations are performed within an integrated control plane of a cloud service provider, and
wherein the plurality of API services are artificial intelligence (AI)-based data analysis services executed on graphics processing unit (GPU)-based worker nodes managed by an API service module of the integrated control plane.
16 . The system of claim 15 , wherein the executing of the first API service includes:
acquiring analysis target data from a linked storage; and
generating an analysis result for the analysis target data by executing the first API service.
17 . The system of claim 15 , wherein the first API service is an asynchronous type API service, and
the executing of the first API service includes:
generating a job for the first API service and processing the generated job; and
providing an ID of the job to the first user before processing the job.
18 . The system of claim 17 , wherein the generating of the job for the first API service and the processing of the generated job includes:
generating a job for the first API service and inserting the job into a queue;
fetching the job from the queue and verifying validity of the job; and
processing the job when the job is valid.
19 . The system of claim 18 , wherein the processing of the job when the job is valid includes:
separating the job into a plurality of tasks based on preset conditions;
verifying validity of a first task, which is one of the plurality of tasks;
processing the first task when the first task is valid; and
repeating the verifying of the validity of the first task and the processing of the first task until all of the plurality of tasks are processed.
20 . The system of claim 19 , wherein the validity of the first task is verified based on at least one of an extension name of an analysis target data file of the first task and a capacity of the analysis target data file of the first task.