What is FaaS?
Function as a Service (FaaS) is a cloud computing framework that allows developers to rapidly create an application by writing short-lived functions and mapping them to triggers. FaaS can prove to be a saving grace for developers in many ways. For one, it saves a great deal of time for developers from having to build out a overly complex infrastructure for your application. Secondly, it also saves a great deal of money because you only pay for the resources that you actually use, as opposed to paying for idle resources as well.
Fission, Platform9’s Open Source FaaS, works on any Kubernetes cluster and can be deployed anywhere – private cloud, public cloud, and even on your laptop. Fission automates much of the grunt work of configuring and managing Kubernetes, while allowing developers to focus on writing code functions. Highly extensible and customizable, Fission can be used with most popular languages, including NodeJS, Python, C#, PHP and Ruby.
Why Is Serverless So Popular in the Developer Community?
When it comes to managing servers, the serverless movement has been growing steadily within the developer community since Amazon Web Services (AWS) first debuted Lambda in 2014. Serverless solutions simplify scaling, are easier to deploy and reduces server costs. With all of these benefits, it’s no wonder serverless solutions are gaining traction with developers – because it’s always preferable not to have to spend time managing servers at all.
FaaS Use Cases
As FaaS is still new to the development world, there remains some confusion around when to actually use it. Here are three use cases in which you might employ FaaS, e.g. Platform9’s Fission, to save you valuable development time and resources:
- Monitoring Resources with Fission – Fission turns functions into microservices and allows you to monitor resources by writing custom automation for Kubernetes infrastructure. For example, you can write a function to send a Slack notification any time a pod is unhealthy or a new service is created on the cluster.
- Creating APIs with Fission – APIs help companies build mobile and web applications, provide new revenue streams and to scale their business quickly. But there are many challenges facing API developers, including managing infrastructure, security and lack of integration. And, because APIs are often the framework that a lot of web sites and services rely upon, probably the most significant challenge is managing API performance. Fission allows developers to create API backends for web and mobile applications without having to manage a server. The FaaS application itself manages everything from routing to deployment to scaling and availability. All you have to do is write functions and map them to http routes. Then use Kubernetes’ service discovery and networking to interoperate with other services, like Redis, Postgres, Etcd, etc.
Build serverless API backends for web and mobile apps without managing servers
- Using Webhooks with Fission – Webhooks are another popular way to integrate with third party services. Webhooks are automated calls to a server that are triggered when a specific event occurs. Webhooks and APIs differ in how they make requests. APIs place calls for data whether there’s been a data update or not. In contrast, webhooks receive calls through HTTP POSTs only when there is a data update. Webhooks are commonly used to perform smaller requests and tasks and are generally more efficient for both the provider and the consumer. Slack uses webhooks that are triggered by different keywords and even messages. GitHub uses web hooks that are triggered by events and Git repositories. FaaS solutions, like Fission, are a great way to implement webhooks and require far fewer steps than integrating webhooks with Slack or Github. With Fission, you just write the code, map it to the URL, and point the webhook at the URL – it’s that simple.
Fission is a great place to implement webhooks: just write the code, map it to a URL, and point the webhook at that URL.
Fission allows developers to focus on writing code functions, while automating the management and configuration over Kubernetes microservices. It is a enables you to create serverless APIs and webhooks quickly and easily, while Kubernetes offers a platform to scale and deploy your applications cost-effectively.
Get Started with Fission
If you’re interested in learning more about Fission, there are resources available to help you. Check out Fission.io to understand more about what is happening in the Fission community. The Fission project is being incubated at Platform9 with a public code repository on GitHub. If you’re ready to try Kubernetes and Fission in your enterprise, try out the Platform9 sandbox or start a free trial.
VIDEO: Hear Timirah James, Developer Advocate, on “Making the Case for FaaS: Three Use Cases Where Fission Saves Time and Money”