TrustRadius: an HG Insights company

IBM Cloud Functions

Score8 out of 10

57 Reviews and Ratings

What is IBM Cloud Functions?

IBM Cloud Functions is a PaaS platform based on Apache OpenWhisk. With it, developers write code (“actions”) that respond to external events. Actions are hosted, executed, and scaled on demand based on the number of events coming in. No servers or infrastructure to provision and manage.

Serverless computing is future and IBM Cloud Functions is here

Pros

  • ICF is a cost-effective solution when it comes to a cloud-based solution. We used Spring Boot Micro-services previously but it was costly because the application is continuously running and hence incurs operating costs even if the services are not used by the application.
  • It scales very well and without too many manual interventions from the developers or support team. This is very useful when we have applications catering to large user bases like a chatbot or payment wallet.
  • The ICF also works well in high demand data processing based on events (i.e. in a virtual agent platform) Whenever we receive a new chat request, the ICF can trigger sentiment analysis to analyze the chats.

Cons

  • Need more out of the box support and integration to receive events from services like MongoDB and NoSQL databases.

Return on Investment

  • Definitely has positive impact due to the pay only when used feature
  • Lightweight cloud services help with scaling without high investment in infrastructure

Alternatives Considered

IBM Cloud Foundry

Other Software Used

IBM Watson Analytics, Watson Studio (formerly IBM Data Science Experience), IBM Cloud Foundry

Serverless computing

Pros

  • Scalable
  • Easily triggered when needed.
  • Log auditing is easy with all the filtering.
  • Saves on the hassle of maintaining apps.

Cons

  • Needs to be consistent, had issues for a few days when it didn't work as expected.

Return on Investment

  • Saved on the hassle of maintaining an app
  • Failed on a few occasions, had to look for alternatives, could have avoided the downtime

Other Software Used

IBM Cloud Auto Scaling

Not the worse IBM product

Pros

  • Relatively updated in terms of node versions supported

Cons

  • A trigger just stopped working for no reason at all. The IBM support team classified the issue as "Network connection dropped", we had huge costs associated with the outage.
  • There is no CI/CD setup through the dashboard, Toolchain doesn't work with functions, so we had to implement a manual solution.
  • The function code execution time is too slow - we tested the execution time of a function and a code running in a Cloud Foundry app and came up with 600ms for the function and 300ms for the CF app.
  • Documentation in terms of CI/CD is also a little bit hard to get, not enough examples of manifest files that include triggers, functions, and API endpoints.

Return on Investment

  • Positive - reduced maintenance costs in some areas
  • Negative - setup costs as engineers take time to setup them

Other Software Used

IBM Cloud Foundry, IBM Cloud Object Storage, PostgreSQL

Cloud functions work OK if you don't use them too often

Pros

  • Great substitute for a simple API calls to run non-complicated code.
  • Easy way to run Python/Java/Javascript to get something done.
  • File validation.

Cons

  • They are not good if you are doing repetitive calls multiple times a minute.
  • They are not good for long processes.
  • They are not 100% reliable yet, they have been release for GA, but they don't standup to being beat up.

Return on Investment

  • Implemented for a use-case that the documentation claimed it could support (100 calls a minute) and it failed. Couldn't handle more than 20-40.
  • Worked well for validating data, reduced API calls we needed to make and maintain significantly.
  • Good for cloud like cron jobs for sanity checks and smoke tests.

Alternatives Considered

AWS Lambda

Other Software Used

AWS Cloud9, Amazon SageMaker, BigTable

IBM Cloud Functions user

Pros

  • Quick setup
  • Able to handle multiple languages
  • Easy to scale

Cons

  • Limit on the max number of concurrent calls
  • Instability of the platform
  • Limit on the total size of the deployment

Return on Investment

  • It directly affected our expenses since we do not need to deploy and maintain a set of separate applications.
  • It allowed us to pay for only the amount of time cloud functions run.
  • It saved on maintenance and monitoring of the applications it replaced.

Alternatives Considered

AWS Lambda

Other Software Used

IBM Cloud Foundry, IBM Cloud Kubernetes Service, MongoDB