Is application/service running in cost effective way: public cloud?

Is application/service running in cost effective way: public cloud?

Fig 1 : source system and cloud boundary

Context: virtualization and use of cloud adaptation is increasing day-by-day but it also comes with overlapping service that public cloud offers — it becomes difficult for user/organization to choose right platform in a cost-effective way.

What space: Use of SaaS, FaaS and container as a service in a data driven view

How Space: System to decide which platform to use, introduction of abstraction layer which can be used as a decision support system and manage to decide the right platform to use and switch platform based on the following point or each use case(s)

1. Processing Time predictability

2. Data Volume predictability

3. Data source(s) and nature of data and number of times it requires to process in a day/week/month

4. System performance and cost of system running in public cloud

Example:

Use case specific abstraction layer:

Let’s assume source system is generating data in multiple times in a fixed interval or deployed system process data in fixed interval/particular time in a day and data volume is not fixed

AS IS Implementation

· Microservice/service-based model deployed in a cloud environment and process data based on source system requirement but source system data volume is not predictable, so it has deployed as a container/computation platform

· Either container/computation platform running all the time to process data as soon as data received or function-based system to up the container once data received to object storage

Cost point of view: Execution time cost

· Platform specific running cost to be estimated and also required devops to create container specific artifacts or computation platform specific deployment but might not be justified cost-effectiveness considering given time if data volume is low based on object storage data volume computation, function as a service itself takes decision whether to process data by own or forward it to container/computation specific platform to process.

· Adding the above intelligence reduce execution time and DevOps artifact for specific service.

AS IS architecture: current implementation view


 

Fig 1 : source system and cloud boundary

TO BE Architecture: strategic view


 

Fig 1 : source system and cloud boundary

DSL component:

· function and execution specific platform devops

· Function to decide if it can execute the processing or handover the process to container specific platform /computation platform

· Create execution specific devops artifacts, security and role

Conclusion:

· The blog provides high level view of cost-effective way to use public cloud service

· It is use case specific and might not be fit for all the use case(s)

· The aim of the document is to provide more time to invest to solve business problem rather choosing service and cost effectiveness of overlap/different services having same goal service(s) available by the cloud provider.

· Organization can adopt the said building block to implement cost effective platform solution.

· Cloud provider has a big role to play here — as the abstraction layer not only simplify the devops and cloud specific skill required for organization also time to market is very less with limited cloud specific skill set for any organization.

Reference:

https://medium.com/the-tech-inducers/event-based-runtime-infrastructure-as-a-service-on-public-cloud-d9dfa26a0099

https://aws.amazon.com/blogs/compute/better-together-amazon-ecs-and-aws-lambda/

https://aws.amazon.com/blogs/opensource/deploying-lambda-compatible-functions-eks-triggermesh-klr/

https://cloud.google.com/functions/docs/writing

https://cloud.google.com/functions/docs/concepts/exec

https://cloud.google.com/functions/docs/calling/pubsub

https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-storage-blob-triggered-function

https://medium.com/google-cloud/calling-an-internal-gke-service-from-cloud-functions-2958f9218355

Authors

,