<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Fission Blog on Fission</title><link>https://fission.io/blog/</link><description>Recent content in Fission Blog on Fission</description><generator>Hugo</generator><language>en</language><atom:link href="https://fission.io/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Running GPU based Functions on Fission</title><link>https://fission.io/blog/running-gpu-based-functions-on-fission/</link><pubDate>Thu, 26 Sep 2024 00:00:34 +0530</pubDate><guid>https://fission.io/blog/running-gpu-based-functions-on-fission/</guid><description>&lt;p&gt;With new advancements in AI, more people want to use GPU-based functions in serverless environments. Fission is a serverless framework that you can easily deploy on your Kubernetes clusters.&lt;/p&gt;
&lt;p&gt;Fission helps users run their models for different tasks, such as image processing, video processing, and natural language processing.
Sometimes, you need special accelerators like GPUs to run these functions effectively.
In this guide, we will show you how to set up a GPU-enabled Fission environment and use it to run your GPU-based functions.&lt;/p&gt;</description></item><item><title>Building a Serverless URL Shortener with MongoDB Atlas and Fission</title><link>https://fission.io/blog/building-a-serverless-url-shortener-with-mongodb-atlas-and-fission/</link><pubDate>Mon, 20 Feb 2023 09:30:34 +0530</pubDate><guid>https://fission.io/blog/building-a-serverless-url-shortener-with-mongodb-atlas-and-fission/</guid><description>&lt;p&gt;A few weeks ago, I delivered a talk on &lt;a href="https://www.mongodb.com/community/forums/t/hyderabad-mug-demystifying-serverless-mern-stack/209473"&gt;Demystifying Serverless at the MongDB meetup&lt;/a&gt; here in Hyderabad.
As part of the talk, I also showed a hands-on demo of using Fission with MongoDB Atlas.
In this blog post, I&amp;rsquo;ll talk about building a serverless URL shortener using MongoDB Atlas and Fission serverless framework.&lt;/p&gt;
&lt;h2 id="url-shortener-with-mongodb-atlas-and-fission"&gt;URL Shortener with MongoDB Atlas and Fission&lt;/h2&gt;
&lt;p&gt;We will create a URL Shortener application using Fission functions.
It will have two functions, one for the frontend and the other for the backend to shorten the URL &amp;amp; communicate with MongoDB Atlas.&lt;/p&gt;</description></item><item><title>Fission Function Orchestration with Argo Workflows</title><link>https://fission.io/blog/fission-function-orchestration-with-argo-workflows/</link><pubDate>Thu, 22 Sep 2022 12:22:07 +0530</pubDate><guid>https://fission.io/blog/fission-function-orchestration-with-argo-workflows/</guid><description>&lt;p&gt;Fission Functions allow user to perform one logical task. To group multiple task together such as one function is dependent on other we can use Argo Workflows.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://argoproj.github.io/workflows"&gt;Argo Workflows&lt;/a&gt; is an open source container-native workflow engine with a feature to create DAGs i.e. running task sequentially, in parallel and with dependencies. We will try to develop a simple Insurance Eligibility program which will take different input and calculate insurance installment on basis of the inputs.&lt;/p&gt;</description></item><item><title>Virus scan MinIO buckets using ClamAV, Fission and Kafka</title><link>https://fission.io/blog/virus-scan-minio-buckets-using-clamav-fission-and-kafka/</link><pubDate>Mon, 01 Aug 2022 09:30:34 +0530</pubDate><guid>https://fission.io/blog/virus-scan-minio-buckets-using-clamav-fission-and-kafka/</guid><description>&lt;p&gt;All organizations want to protect their systems and have a good strategy in order to stay away from malware or other potential threats.
Before introducing files and binaries into your system organization is very important to scan them and respond immediately based on a predefined strategy.&lt;/p&gt;
&lt;h2 id="about-fission"&gt;About Fission&lt;/h2&gt;
&lt;p&gt;Fission is an &lt;strong&gt;open-source&lt;/strong&gt; and &lt;strong&gt;Kubernetes-native serverless framework&lt;/strong&gt; that lets developers to run code functions easily.
Kubernetes has powerful orchestration capabilities to manage and schedule containers while Fission takes advantage of them, being flexible.
In other words, Fission can focus on developing the function-as-a-service (FaaS) features.&lt;/p&gt;</description></item><item><title>New Features in Fission: Health Check, Authentication &amp; Much More</title><link>https://fission.io/blog/new-features-in-fission-health-check-authentication-much-more/</link><pubDate>Tue, 24 May 2022 01:05:00 -0700</pubDate><guid>https://fission.io/blog/new-features-in-fission-health-check-authentication-much-more/</guid><description>&lt;p&gt;The best part of being an open source project is that there so many opportunities to improve.
People from all over the world come together and contribute to make a project better.
And we’re thankful to our amazing community that has helped us make Fission better over time.
We are happy to announce a &lt;strong&gt;new version of Fission - v1.16.0&lt;/strong&gt; that brings exciting new features, bug fixes and enhancements.&lt;/p&gt;
&lt;p&gt;In this blog post, I’ll throw light on these features and how you can use them.&lt;/p&gt;</description></item><item><title>Autoscaling Serverless Functions with Custom Metrics</title><link>https://fission.io/blog/autoscaling-serverless-functions-with-custom-metrics/</link><pubDate>Wed, 11 May 2022 14:43:46 +0530</pubDate><guid>https://fission.io/blog/autoscaling-serverless-functions-with-custom-metrics/</guid><description>&lt;p&gt;Autoscaling is one of the key features of Kubernetes because of its capability to scale up or down according to the load.
This is pretty useful as optimizes cost with minimum human intervention.
Autoscaling adjusts your applications and resources based on the rise and fall in the demand.&lt;/p&gt;
&lt;p&gt;In the earlier versions of Fission, new deploy functions depended only on &lt;code&gt;targetCPU&lt;/code&gt; metric for scaling.
But what if you want the functions to scale based on some third party software&amp;rsquo;s metrics?&lt;/p&gt;</description></item><item><title>Fission Serverless Function + Zapier Webhook - Automate your workflows</title><link>https://fission.io/blog/fission-serverless-function--zapier-webhook-automate-your-workflows/</link><pubDate>Thu, 14 Apr 2022 11:35:34 +0530</pubDate><guid>https://fission.io/blog/fission-serverless-function--zapier-webhook-automate-your-workflows/</guid><description>&lt;p&gt;There hasn’t been a greater need for automation than what it is today.
Things around us are moving fast and everyone wants things done faster. Getting that agility manually is tough and hence individuals and teams globally look for ways to automate workflows.&lt;/p&gt;
&lt;p&gt;In this post, I’m going to show you how you can &lt;strong&gt;automate your workflows using Fission serverless functions and Zapier Webhooks&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="what-is-zapier"&gt;What is Zapier?&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://zapier.com"&gt;&lt;strong&gt;Zapier&lt;/strong&gt;&lt;/a&gt; is one of the world’s most widely used tools to automate workflows.
It allows you to integrate various apps that you use and integrate them along with actions to complete a flow.&lt;/p&gt;</description></item><item><title>Developing a Serverless Twitter Bot on Fission</title><link>https://fission.io/blog/developing-a-serverless-twitter-bot-on-fission/</link><pubDate>Fri, 01 Apr 2022 11:30:34 +0530</pubDate><guid>https://fission.io/blog/developing-a-serverless-twitter-bot-on-fission/</guid><description>&lt;p&gt;Social Media can be extremely overwhelming whilst being useful. Twitter of all is one of the most hyperactive social media platforms. If you are an enterprise, most likely you’ll have tons of tweets and DMs to reply to. While there are off the shelf tools available to help you do that, there’s always some missing functionality.&lt;/p&gt;
&lt;p&gt;So why not develop a solution on your own? In today’ post I’ll show you how to develop a serverless Twitter Bot running on Fission. The simple application will show you how to use Twitter API and deploy the bot as a serverless function in Fission on your Kubernetes cluster.&lt;/p&gt;</description></item><item><title>4 Reasons to Choose Fission Kubernetes Serverless Framework</title><link>https://fission.io/blog/4-reasons-to-choose-fission-kubernetes-serverless-framework/</link><pubDate>Wed, 23 Mar 2022 08:30:34 +0530</pubDate><guid>https://fission.io/blog/4-reasons-to-choose-fission-kubernetes-serverless-framework/</guid><description>&lt;p&gt;The Serverless paradigm is empowering developers to focus only on building the application and not worry about anything else.
Kubernetes has become an industry standard for hosting cloud native or container based microservice applications.
It works seamlessly across public/private clouds and provides a common platform without any vendor lock-in.
Hence, it makes naturally a good choice to build serverless frameworks on top of Kubernetes.&lt;/p&gt;
&lt;p&gt;There are a handful of Kubernetes serverless frameworks out there and Fission is one of the popular ones.&lt;/p&gt;</description></item><item><title>Demystifying Fission - HTTP Requests in Fission</title><link>https://fission.io/blog/demystifying-fission-http-requests-in-fission/</link><pubDate>Thu, 17 Mar 2022 09:30:34 +0530</pubDate><guid>https://fission.io/blog/demystifying-fission-http-requests-in-fission/</guid><description>&lt;p&gt;The first ever message that was sent from one computer to another was &amp;ldquo;lo&amp;rdquo; on the ARPRANET in 1969.
That one message was a stepping stone to the modern day emails, instant messages and the Internet.
In today&amp;rsquo;s blog post in our Demystifying Fission series, we are going to talk about how Fission handles HTTP requests and routes them to functions.&lt;/p&gt;
&lt;p&gt;But before we dive into it, let us do some revision, shall we?&lt;/p&gt;</description></item><item><title>Guestbook Application With Fission and CockroachDB</title><link>https://fission.io/blog/guestbook-application-with-fission-and-cockroachdb/</link><pubDate>Tue, 08 Mar 2022 09:30:34 +0530</pubDate><guid>https://fission.io/blog/guestbook-application-with-fission-and-cockroachdb/</guid><description>&lt;p&gt;Fission provides you with a serverless framework that you can deploy on your Kubernetes clusters.
There are various use cases where you can use Fission, and today we&amp;rsquo;ll show you how to develop a guestbook application with Fission in Go using CockroachDB as a database.&lt;/p&gt;
&lt;h2 id="serverless-guestbook-application"&gt;Serverless Guestbook Application&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://fission.io/images/how-to-develop-a-serverless-application-with-fission/guestbook-diagram.svg" alt="router maps req to fn"&gt;&lt;/p&gt;
&lt;p&gt;The guestbook is composed with four REST APIs and each API consist of a function and an HTTP trigger.&lt;br&gt;
This application allows a user to create, edit and delete a message.
You can submit a message, retrieve a list of messages, delete a message all by means of REST APIs.
You can clone &lt;a href="https://github.com/fission/fission-restapi-sample"&gt;Fission REST API Repo&lt;/a&gt; and follow the guide to install/try guestbook sample.&lt;/p&gt;</description></item><item><title>8 Must Know Terms For A Serverless Developer</title><link>https://fission.io/blog/8-must-know-terms-for-a-serverless-developer/</link><pubDate>Thu, 03 Mar 2022 15:30:34 +0530</pubDate><guid>https://fission.io/blog/8-must-know-terms-for-a-serverless-developer/</guid><description>&lt;p&gt;I’ve been a mobile developer for most of my professional career.
The transition from Java to Android wasn’t a big deal.
However, most of the mobile apps today have shifted their backend to serverless.
This makes mobile apps more light-weight and improves their maintainability.&lt;/p&gt;
&lt;p&gt;As I set out to build and learn more about serverless applications, I&amp;rsquo;d like to share my learnings with you.
This post lists &lt;strong&gt;8 terms you must know as a serverless developer&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Demystifying Fission - New Deploy</title><link>https://fission.io/blog/demystifying-fission-new-deploy/</link><pubDate>Thu, 10 Feb 2022 11:30:34 +0530</pubDate><guid>https://fission.io/blog/demystifying-fission-new-deploy/</guid><description>&lt;p&gt;Times change and technologies evolve.
The serverless architecture has been around for quite some time now as an option to deploy applications to the cloud.
Most of the mainstream cloud providers launched their Function as a Service offerings about a decade ago.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fun Fact: Did you know that Amazon’s Alexa Skills are entirely running on AWS Lambda functions? All of &lt;a href="https://developer.amazon.com/en-US/docs/alexa/ask-overviews/what-is-the-alexa-skills-kit.html"&gt;Alexa’s skills are hosted on Lambda functions&lt;/a&gt; which are perfect for the use case.&lt;/em&gt;
They need functions to load quickly and don’t need to store any state.&lt;/p&gt;</description></item><item><title>Single or Monolith Serverless Functions - What should you choose?</title><link>https://fission.io/blog/single-or-monolith-serverless-functions-what-should-you-choose/</link><pubDate>Wed, 09 Feb 2022 11:30:34 +0530</pubDate><guid>https://fission.io/blog/single-or-monolith-serverless-functions-what-should-you-choose/</guid><description>&lt;p&gt;The term Software Engineering first appeared in the 1960s and today we have close to 27 million software developers across the globe.
With our lives surrounded by apps, the need for quality software is growing.
Afterall, better the code, better the app. Microservices and serverless are helping make applications more scalable and faster along with making their deployments easier.&lt;/p&gt;
&lt;p&gt;However, there’s one question that most developers have today is whether to use single or monolith serverless functions in their applications.
In this post, I will try to help answer that.&lt;/p&gt;</description></item><item><title>Demystifying Fission - Pool Manager</title><link>https://fission.io/blog/demystifying-fission-pool-manager/</link><pubDate>Mon, 07 Feb 2022 11:30:34 +0530</pubDate><guid>https://fission.io/blog/demystifying-fission-pool-manager/</guid><description>&lt;p&gt;As the demand for faster shipping increased, the software development process and tools were also streamlined.
With CI/CD developers don’t really have to worry about integrating, building and deploying their code.
With serverless they don’t need to worry about the environment and infrastructure at all.
&lt;strong&gt;Serverless is the present and the future of the software development process.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="function-as-a-service"&gt;Function as a Service&lt;/h2&gt;
&lt;p&gt;Serverless today isn’t a buzzword anymore, it’s fairly mainstream to say. From spinning up VMs in the cloud to storing data and executing functions, serverless is a sea today.
&lt;strong&gt;Function as a Service (FaaS)&lt;/strong&gt; is one of the key components of the serverless world that is helping developers focus only on their code.
All the cloud service providers have the FaaS offering with different names and similar features.&lt;/p&gt;</description></item><item><title>Observability with OpenTelemetry &amp; Datadog in Fission</title><link>https://fission.io/blog/observability-with-opentelemetry-datadog-in-fission/</link><pubDate>Mon, 17 Jan 2022 06:30:34 +0530</pubDate><guid>https://fission.io/blog/observability-with-opentelemetry-datadog-in-fission/</guid><description>&lt;p&gt;Software development isn’t just about writing a piece of code and running it.
There are a lot of other processes around it that ensure that your code is going to work as expected in the real world.
Amongst all such practices, &lt;strong&gt;Observability&lt;/strong&gt; is going to be our point of discussion today.&lt;/p&gt;
&lt;p&gt;Observability is all about gaining greater control and visibility over your application.
It actually tells you what is really happening in your application.
With most of the applications today adopting a microservices-oriented architecture, the applications have become complex with a lot of moving parts.
And hence observability is a key to build a robust and reliable system.
&lt;strong&gt;Logs&lt;/strong&gt;, &lt;strong&gt;Metrics&lt;/strong&gt; and &lt;strong&gt;Trace&lt;/strong&gt; are the &lt;strong&gt;3 pillars of observability&lt;/strong&gt;. While logs and metrics are very helpful, trace allows you to traverse the entire journey of a request.&lt;/p&gt;</description></item><item><title>How to use PostgreSQL database with Fission functions</title><link>https://fission.io/blog/how-to-use-postgresql-database-with-fission-functions/</link><pubDate>Wed, 05 Jan 2022 11:30:34 +0530</pubDate><guid>https://fission.io/blog/how-to-use-postgresql-database-with-fission-functions/</guid><description>&lt;figure class="card rounded p-2 td-post-card mb-4 mt-4" style="max-width: 1010px"&gt;
&lt;img class="card-img-top" src="https://fission.io/blog/how-to-use-postgresql-database-with-fission-functions/postgresql-with-fission-functions_hu_82681522d912992a.png" width="1000" height="583"&gt;
&lt;figcaption class="card-body px-0 pt-2 pb-0"&gt;
&lt;p class="card-text"&gt;


How to use PostgreSQL database with Fission functions

&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;In today&amp;rsquo;s blog post we will see how we can use Fission functions to connect to a PostgreSQL database and perform basic operations on it.
By the end of this blog post, you would have learnt how to use PostgreSQL database with Fission functions.&lt;/p&gt;
&lt;h2 id="voting-app-using-fission-functions-with-postgresql-database"&gt;Voting App using Fission functions with PostgreSQL Database&lt;/h2&gt;
&lt;p&gt;We will create a basic voting application that allows users to vote for an option and view the results.
This application is written in &lt;strong&gt;Python&lt;/strong&gt; and uses &lt;strong&gt;PostgreSQL&lt;/strong&gt; database to store the results.&lt;/p&gt;</description></item><item><title>Serverless Next.js Example Blog with Fission</title><link>https://fission.io/blog/serverless-next.js-example-blog-with-fission/</link><pubDate>Wed, 17 Nov 2021 13:29:16 +0530</pubDate><guid>https://fission.io/blog/serverless-next.js-example-blog-with-fission/</guid><description>&lt;h2 id="what-is-nextjs"&gt;What is Next.js?&lt;/h2&gt;
&lt;p&gt;Next.js is a framework for building fast, modern websites using React.
Next.js provides a couple of features for building static and server-side rendered websites.
With &lt;a href="https://nextjs.org/examples"&gt;Next.js examples&lt;/a&gt; and &lt;a href="https://nextjs.org/showcase"&gt;showcase&lt;/a&gt;, you can get a taste of Next.js.
You can refer to the &lt;a href="https://nextjs.org/docs"&gt;Next.js documentation&lt;/a&gt; for more details.&lt;/p&gt;
&lt;h2 id="nextjs-example-blog-with-fission"&gt;Next.js Example Blog with Fission&lt;/h2&gt;
&lt;p&gt;Next.js is gaining a lot of popularity in serverless world.
Fission can be used to host a low traffic frontend website, with minimal cost and reduced maintenance.
Fission can host your existing Next.js application with few modifications.&lt;/p&gt;</description></item><item><title>Serverless Kafka Consumer for Confluent Cloud</title><link>https://fission.io/blog/serverless-kafka-consumer-for-confluent-cloud/</link><pubDate>Wed, 10 Nov 2021 11:21:01 +0530</pubDate><guid>https://fission.io/blog/serverless-kafka-consumer-for-confluent-cloud/</guid><description>&lt;p&gt;Confluent Cloud is a fully managed, cloud-native service for Apache Kafka.
Managed Kafka offering helps you focus on connecting and processing data, anywhere you need it.
You avoid hassle of infrastructure management.&lt;/p&gt;
&lt;p&gt;In this blog post, we will connect with Kafka cluster hosted in &lt;a href="https://www.confluent.io/"&gt;Confluent Cloud&lt;/a&gt; using Fission Keda Kafka Connector with SASL SSL.
Using Kafka Connector, we receive the latest messages on our desired Kafka topics and process them with Fission functions.&lt;/p&gt;</description></item><item><title>Kubernetes Response Engine: Falcosidekick + Fission</title><link>https://fission.io/blog/falcosidekick-response-engine-fission/</link><pubDate>Wed, 01 Sep 2021 00:00:00 +0000</pubDate><guid>https://fission.io/blog/falcosidekick-response-engine-fission/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This blog was originally published on &lt;a href="https://falco.org/blog/falcosidekick-response-engine-part-9-fission/"&gt;Falco website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This blog post is part of a series of articles about how to create a &lt;code&gt;Kubernetes&lt;/code&gt; response engine with &lt;code&gt;Falco&lt;/code&gt;, &lt;code&gt;Falcosidekick&lt;/code&gt; and a &lt;code&gt;FaaS&lt;/code&gt;.&lt;/em&gt;
The earlier posts in this series, show how to use Kubeless, Argo, Knative, and others to trigger a resource after getting input from Falcosidekick.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;Recently, Falcosidekick received a new output type support for &lt;a href="https://github.com/falcosecurity/falcosidekick/pull/255"&gt;Fission&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this blog post, we will cover using &lt;code&gt;Falcosidekick&lt;/code&gt; and &lt;code&gt;Fission&lt;/code&gt; to detect and delete a compromised pod in a Kubernetes cluster.
We will briefly talk about Fission in this blog, however, you can check the complete documentation &lt;a href="https://fission.io/docs/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Fission WebSocket Sample</title><link>https://fission.io/blog/fission-websocket-sample/</link><pubDate>Fri, 11 Jun 2021 10:50:51 +0530</pubDate><guid>https://fission.io/blog/fission-websocket-sample/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In this post we will look into how we can develop a simple a web socket based chat application using Fission functions.
Fission&amp;rsquo;s &lt;a href="https://github.com/fission/environments/tree/master/nodejs"&gt;NodeJS environment&lt;/a&gt; now has built in support for &lt;a href="https://datatracker.ietf.org/doc/html/rfc6455"&gt;WebSocket&lt;/a&gt;.
So, we are going to use this environment to power our simple web based chat application.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s first understand how this is going to work.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://fission.io/images/fission-websocket-sample.png" alt="architecture"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We start by creating a NodeJS environment using the &lt;a href="https://github.com/fission/environments/pkgs/container/node-env"&gt;fission/nodejs-env&lt;/a&gt; Docker image.&lt;/li&gt;
&lt;li&gt;Then we create a fission function for with &lt;a href="https://github.com/fission/examples/blob/main/miscellaneous/websocket/broadcast.js"&gt;broadcast.js&lt;/a&gt;.
It is this piece of code that will broadcast a message to all connected clients.&lt;/li&gt;
&lt;li&gt;Next, we will create an &lt;a href="https://fission.io/docs/usage/triggers/http-trigger/"&gt;HTTP trigger&lt;/a&gt; for the above created function.&lt;/li&gt;
&lt;li&gt;We then update our chat application to connect over the route, we just created.&lt;/li&gt;
&lt;li&gt;We will also create a function to host the this chat application.&lt;/li&gt;
&lt;li&gt;As you send a message from one chat window, the function will be triggered and the message will be broadcasted to all connected clients.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We will cover two approaches using which you can test this setup.&lt;/p&gt;</description></item><item><title>Headless Chrome with Puppeteer in a function</title><link>https://fission.io/blog/headless-chrome-with-puppeteer-in-a-function/</link><pubDate>Sun, 09 May 2021 23:50:51 +0530</pubDate><guid>https://fission.io/blog/headless-chrome-with-puppeteer-in-a-function/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Running chrome headless is useful for various test automation tasks but running a headless Chrome in Docker can be tricky (&lt;a href="https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-puppeteer-in-docker"&gt;More details here&lt;/a&gt;). Also the &lt;a href="https://github.com/puppeteer/puppeteer/issues/3994#issuecomment-524396092"&gt;this Github issue&lt;/a&gt; has some good insights on the issues you might face. This blog shows running headless chrome in a fission function. You can find the working example with code etc. in &lt;a href="https://github.com/fission/examples/tree/main/miscellaneous/nodejs-chrome-headless"&gt;examples repo here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Typical use cases for which Puppeteer is used are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generating screenshots of specific web pages&lt;/li&gt;
&lt;li&gt;Automating form submission at scale or doing any testing of web pages&lt;/li&gt;
&lt;li&gt;Testing of chrome extensions&lt;/li&gt;
&lt;li&gt;Crawl web pages to gather information from them.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="demo"&gt;Demo&lt;/h1&gt;
&lt;p&gt;If you simply want to get a sense of running function run, assuming you have Fission installed, you can run &lt;code&gt;fission spec apply&lt;/code&gt; and then then test the function&lt;/p&gt;</description></item><item><title>Penetration testing with Gobuster &amp; Fission</title><link>https://fission.io/blog/penetration-testing-with-gobuster-fission/</link><pubDate>Thu, 15 Apr 2021 15:57:51 +0530</pubDate><guid>https://fission.io/blog/penetration-testing-with-gobuster-fission/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://github.com/OJ/gobuster"&gt;Gobuster&lt;/a&gt; is a tool for bruteforcing websites Directory/File, DNS and VHost written in Go. It enables penetration testing and and brute forcing for hackers and testers. In this tutorial we will use Gobuster with Fission&amp;rsquo;s binary environment to run it for specific sites and for specific patterns listed in a text file. Fission allows the teams doing penetration testing to focus on code and execution rather than understanding all things around infrastructure.&lt;/p&gt;</description></item><item><title>Using gVisor with Fission</title><link>https://fission.io/blog/using-gvisor-with-fission/</link><pubDate>Wed, 10 Feb 2021 18:09:02 +0530</pubDate><guid>https://fission.io/blog/using-gvisor-with-fission/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Have you ever run into a scenario where you had to run untrusted code? Containers are great from a performance perspective but they have a considerable access to the kernel which can be exploited. In order to have the security of VMs and speed of containers, projects like &lt;a href="https://github.com/google/gvisor"&gt;gVisor&lt;/a&gt; and &lt;a href="https://github.com/kata-containers/kata-containers"&gt;kata containers&lt;/a&gt; have risen. In this post, we&amp;rsquo;ll take a look at gVisor provides an application kernel for containers. It provides a runtime which can be used by Kubernetes. To understand more about how gVisor provides security, please go through &lt;a href="https://gvisor.dev/docs/architecture_guide/security/"&gt;this&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Monitoring Fission logs with Grafana Loki</title><link>https://fission.io/blog/monitoring-fission-logs-with-grafana-loki/</link><pubDate>Mon, 14 Sep 2020 16:19:12 +0530</pubDate><guid>https://fission.io/blog/monitoring-fission-logs-with-grafana-loki/</guid><description>&lt;h1 id="importance-of-logs"&gt;Importance of Logs&lt;/h1&gt;
&lt;p&gt;Proper logging in a software is a quick and systematic way to inform the state of the software. Although the definition of &amp;rsquo;logs&amp;rsquo; remains the same along years in software engineering, the scope of what logs are used is has always been increasing. Apart from helping developers and operators, logs can be used by complimenting software for security, metrics, triggers, cost estimation and other different operations.&lt;/p&gt;
&lt;h1 id="logs-in-fission"&gt;Logs in Fission&lt;/h1&gt;
&lt;p&gt;Fission works in a systematic way where there are different services (containers) providing functionalities for running applications (Functions) in a serverless way. Logs in Fission thus comprise of log statements from these services as well as from the applications.&lt;/p&gt;</description></item><item><title>Event Driven Scaling Fission Function Using KEDA</title><link>https://fission.io/blog/event-driven-scaling-fission-function-using-keda/</link><pubDate>Tue, 14 Jul 2020 18:09:02 +0530</pubDate><guid>https://fission.io/blog/event-driven-scaling-fission-function-using-keda/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Events and integrations with event sources such as message queues are an important part of running functions. Fission had the MQ integration for invoking functions and this integration was available for Kafka, NATS, and Azure Queue Storage. This integration had a few limitations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For every new integration you want to enable - there was one pod running for enabling the integration&lt;/li&gt;
&lt;li&gt;Autoscaling of the trigger handler was not available.&lt;/li&gt;
&lt;li&gt;Lastly - one Fission installation could connect to and handle only one instance of a MQ. So for example you could only connect to one Kafka instance in a given Fission installation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When we decided to build out these features we came across &lt;a href="https://keda.sh"&gt;KEDA project&lt;/a&gt; and it solved most of the limitations which Fission had in the event integration area. Let’s dive into how it works!&lt;/p&gt;</description></item><item><title>Function builders also support PodSpec now</title><link>https://fission.io/blog/function-builders-also-support-podspec-now/</link><pubDate>Fri, 01 Nov 2019 12:39:32 +0530</pubDate><guid>https://fission.io/blog/function-builders-also-support-podspec-now/</guid><description>&lt;p&gt;In a previous &lt;a href="https://fission.io/blog/functions-on-steroids-with-podspec/"&gt;post&lt;/a&gt; we discussed about how we can leverage &lt;code&gt;PodSpec&lt;/code&gt; in the environment pods to enable the functionalities like tolerations, nodeSelectors, volumes, security and a lot others. That functionality was only supported in the environment pods, but now we can provide the &lt;code&gt;podspec&lt;/code&gt; in the builder pods as well. The details about what &lt;code&gt;PodSpec&lt;/code&gt; is and the functionalities that it enables are described in the mentioned post.&lt;/p&gt;
&lt;p&gt;In this post we will be looking into how do we use &lt;code&gt;PodSpec&lt;/code&gt; in builder so that the deployment that will be created for the builder will have &lt;code&gt;podspec&lt;/code&gt; that we mention in the environment for builder. If we take a look at below environment spec
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;apiVersion&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;fission.io/v1&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;kind&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;Environment&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;metadata&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;creationTimestamp&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;null&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;name&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;python-env&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;namespace&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;default&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;&lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;spec&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;builder&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;command&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;build&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;image&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;ghcr.io/fission/python-builder&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;keeparchive&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;false&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;poolsize&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;3&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;resources&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;{}&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;runtime&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;image&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#000"&gt;ghcr.io/fission/python-env&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;terminationGracePeriod&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;360&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#204a87;font-weight:bold"&gt;version&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;:&lt;/span&gt;&lt;span style="color:#f8f8f8;text-decoration:underline"&gt; &lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;</description></item><item><title>Setting Ingress for your Functions</title><link>https://fission.io/blog/setting-ingress-for-your-functions/</link><pubDate>Mon, 28 Oct 2019 22:09:38 +0800</pubDate><guid>https://fission.io/blog/setting-ingress-for-your-functions/</guid><description>&lt;p&gt;Some exciting updates to ingress host path, annotations, and TLS support.
In Fission version 1.6.0, which was released on Friday 11 October 2019, new features arrived. This blogpost covers the exciting updates to ingress host path, annotations, and TLS support.&lt;/p&gt;
&lt;p&gt;Fission previously supported ingress. However, it lacked support for TLS, host field, and ingress annotations. Now with version 1.6, all three are supported.&lt;/p&gt;
&lt;p&gt;In this blog post, we will cover all three of the new features. But first, let&amp;rsquo;s talk about ingress some more.&lt;/p&gt;</description></item><item><title>Functions On Steroids With PodSpec</title><link>https://fission.io/blog/functions-on-steroids-with-podspec/</link><pubDate>Mon, 20 May 2019 13:41:33 +0530</pubDate><guid>https://fission.io/blog/functions-on-steroids-with-podspec/</guid><description>&lt;p&gt;There are features which enable a specific new functionality and then there are features which enable a whole new class of functionality in a product. I am excited to share that PodSpec is now available in Fission. Fission functions can be extended to do many things with PodSpec - such as tolerations, volumes, security context, and more.&lt;/p&gt;
&lt;p&gt;Previously, Fission had support for &amp;ldquo;container specs&amp;rdquo; - which allowed you to add environment variables, etc. to functions. With PodSpec - a whole spectrum of new possibilities are now unlocked. While &amp;ldquo;container spec&amp;rdquo; still exists for backward compatibility, we recommend using PodSpec for extending your Fission functions moving forward. In this tutorial we will walk through various use cases and working examples with PodSpec.&lt;/p&gt;</description></item><item><title>New! Fission GitHub Action: Easily Automate Your CI/CD Workflows</title><link>https://fission.io/blog/new-fission-github-action-easily-automate-your-ci/cd-workflows/</link><pubDate>Thu, 25 Apr 2019 18:30:53 +0530</pubDate><guid>https://fission.io/blog/new-fission-github-action-easily-automate-your-ci/cd-workflows/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;GitHub recently launched &lt;a href="https://github.com/features/actions"&gt;GitHub Actions&lt;/a&gt; which enable developers to develop workflows and execute them based on events in code repositories such as a push event or an issue creation.&lt;/p&gt;
&lt;p&gt;There are many Actions available on the &lt;a href="https://github.com/marketplace?type=actions"&gt;Github marketplace&lt;/a&gt; which you can use for automating various tasks and workflows around development and deployment. In this tutorial we will use the recently launched &lt;a href="https://github.com/marketplace/actions/fission"&gt;Fission Action&lt;/a&gt; and build a simple workflow that deploys a Fission function to a Kubernetes cluster.&lt;/p&gt;</description></item><item><title>Monitor Fission serverless functions with OpenTracing</title><link>https://fission.io/blog/monitor-fission-serverless-functions-with-opentracing/</link><pubDate>Fri, 22 Feb 2019 15:42:30 +0530</pubDate><guid>https://fission.io/blog/monitor-fission-serverless-functions-with-opentracing/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;As the number of functions and their usage grows, it is crucial to monitor and manage them effectively. Fission already &lt;a href="https://fission.io/docs/usage/function/functions/"&gt;supports logs on CLI&lt;/a&gt; as well integration with external systems using Fluentd. Fission also has &lt;a href="https://fission.io/blog/using-fissions-prometheus-metrics/"&gt;monitoring enabled using Prometheus&lt;/a&gt; and provides a great way to measure and track your functions automatically.&lt;/p&gt;
&lt;p&gt;Serverless functions can be part of a larger distributed system. For example, in the case of serverless applications that become more complex - spanning multiple functions, or in Microservices where functions are triggered between different services that talk to each other to process a single request or perform a business function.&lt;/p&gt;</description></item><item><title>New in Fission: Live-Reload, Canary Deployments, Prometheus integration</title><link>https://fission.io/blog/new-in-fission-live-reload-canary-deployments-prometheus-integration/</link><pubDate>Tue, 16 Oct 2018 01:05:00 -0700</pubDate><guid>https://fission.io/blog/new-in-fission-live-reload-canary-deployments-prometheus-integration/</guid><description>&lt;p&gt;Today we&amp;rsquo;re really excited to launch a set of new features for
&lt;a href="http://fission.io"&gt;Fission&lt;/a&gt;, our open source Kubernetes-native
serverless framework. These features are all designed to help you
improve the quality and reliability of your serverless applications on
Kubernetes.&lt;/p&gt;
&lt;p&gt;Serverless architectures have obvious productivity advantages. You
can get your apps up and running quickly, reducing the total lead time
to ship your new application. However, to make this &amp;ldquo;production
ready&amp;rdquo;, serverless architecture needs to be not just about moving
fast, but also about moving fast &lt;em&gt;safely&lt;/em&gt;, and at scale. That means
we need features focused on code quality, testing, better deployment
and release practices.&lt;/p&gt;</description></item><item><title>Live-Reload in Fission: Instant feedback on your Serverless Functions</title><link>https://fission.io/blog/live-reload-in-fission-instant-feedback-on-your-serverless-functions/</link><pubDate>Tue, 16 Oct 2018 01:04:00 -0700</pubDate><guid>https://fission.io/blog/live-reload-in-fission-instant-feedback-on-your-serverless-functions/</guid><description>&lt;p&gt;Accelerating feedback loops are an important devops
principle: the sooner you find a bug, the cheaper it is
to fix it.&lt;/p&gt;
&lt;p&gt;While developing your application, you’re typically
going through a cycle: write code, build, deploy into a
test environment, run tests, fix, repeat. The build and
deploy stages of this cycle are idle, unproductive time
where you’re simply waiting. As a project grows, these
stages get slower and slower. Once they’re slow enough,
you end up context switching to another task, while
waiting, and that makes it harder to get back into the
right context and fix any bugs you find in testing.&lt;/p&gt;</description></item><item><title>Using Fission's Prometheus Metrics</title><link>https://fission.io/blog/using-fissions-prometheus-metrics/</link><pubDate>Tue, 16 Oct 2018 01:01:00 -0700</pubDate><guid>https://fission.io/blog/using-fissions-prometheus-metrics/</guid><description>&lt;p&gt;You can’t improve what you can’t measure. Visibility
into metrics is a foundational requirement for much of
software operations.&lt;/p&gt;
&lt;p&gt;Serverless metrics collection can be tricky. For one,
there is no &amp;ldquo;uptime&amp;rdquo; to measure. Secondly, with a
“pull model” like Prometheus, there is no long-lived
service to scrape metrics from. By the time Prometheus
scrapes your function’s running instance, it may
already be terminated, since functions are short-lived.
Though Prometheus has a push gateway, it doesn’t
maintain history, which makes it hard to track metrics
for multiple concurrent function instances.&lt;/p&gt;</description></item><item><title>Automated Canary Deployments in Fission</title><link>https://fission.io/blog/automated-canary-deployments-in-fission/</link><pubDate>Tue, 16 Oct 2018 01:02:00 +0000</pubDate><guid>https://fission.io/blog/automated-canary-deployments-in-fission/</guid><description>&lt;p&gt;Canary Deployments are a time-tested deployment strategy to reduce
risk. The fundamental idea is that deploying software into a
production cluster is different from releasing it to its users. With
canary deployments, you deploy both old and new versions into a
production environment, but send only a small percentage of traffic to
the newer version. That way, if the new version fails, only a few
users are affected rather than the application’s entire user base. If
the newer version works well, the traffic proportion being sent to it
is increased incrementally until the new version has been rolled out
to all live traffic.&lt;/p&gt;</description></item><item><title>Fission Kafka Sample</title><link>https://fission.io/blog/fission-kafka-sample/</link><pubDate>Thu, 30 Aug 2018 22:50:51 +0530</pubDate><guid>https://fission.io/blog/fission-kafka-sample/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;The open-source Apache Kafka is one of the most popular distributed Stream Processing platforms used for building real time streaming data pipelines and applications. To learn more about Kafka visit the &lt;a href="https://kafka.apache.org/intro.html"&gt;Kafka documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Most serverless functions are triggered by an event, and these in turn may trigger consequent events, which could invoke further functions. This makes Kafka - which acts as a event broker - a natural companion to a Functions-as-a-Service (FaaS) platform such as Fission.&lt;/p&gt;</description></item><item><title>Writing Serverless Functions for JVM with Fission.io</title><link>https://fission.io/blog/writing-serverless-functions-for-jvm-with-fission.io/</link><pubDate>Thu, 30 Aug 2018 22:26:41 +0530</pubDate><guid>https://fission.io/blog/writing-serverless-functions-for-jvm-with-fission.io/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;The Java Virtual Machine (JVM) is one of the most popular application frameworks, particularly when it comes to enterprise software development - due to the maturity of JVM, the breadth of integrated developer tools and the vibrant community, and the extension of JVM to additional languages.&lt;/p&gt;
&lt;p&gt;The historic data from &lt;a href="https://www.tiobe.com/tiobe-index/"&gt;TIOBE index&lt;/a&gt; also shows how popular JVM and Java have been through the years. In the last decade or so Scala and data-related technologies have made great progress using JVM as the base framework. Most recently Kotlin has seen great progress and also &lt;a href="https://developer.android.com/kotlin/"&gt;got blessings of Google as an official language for Android development&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Function Composition: What It Means, and Why You Should Care</title><link>https://fission.io/blog/function-composition-what-it-means-and-why-you-should-care/</link><pubDate>Fri, 08 Jun 2018 11:39:15 -0700</pubDate><guid>https://fission.io/blog/function-composition-what-it-means-and-why-you-should-care/</guid><description>&lt;p&gt;FaaS Functions give you the ability to quickly deploy services made of small functionality. But any more complex use case requires multiple functions. What are the different approaches to this? What are the parameters on the basis of which we should compare these approaches?&lt;/p&gt;
&lt;p&gt;In this short blog post, I’ll briefly go over the significance of function composition and why you should care about it.&lt;/p&gt;
&lt;h2 id="first-off-what-is-function-composition"&gt;First off, What is Function Composition&lt;/h2&gt;
&lt;p&gt;Function composition refers to combining single functions to create bigger, more complex functions. I like to think of it as creating “super function combinations” in order to gain more dynamic and effective functionality &amp;ndash; each function being a building block in the orchestration of an application’s data and/or control flow.&lt;/p&gt;</description></item><item><title>Function Composition in a Serverless World [Video]</title><link>https://fission.io/blog/function-composition-in-a-serverless-world-video/</link><pubDate>Mon, 14 May 2018 09:16:30 -0700</pubDate><guid>https://fission.io/blog/function-composition-in-a-serverless-world-video/</guid><description>&lt;p&gt;Earlier this month, Software Engineer Erwin van Eyk and Developer Advocate Timirah James gave an awesome talk on function composition at KubeCon EU in Copenhagen, Denmark. The talk covered 5 serverless function composition styles and the significance of function composition when deploying serverless functions.&lt;/p&gt;
&lt;p&gt;You can view and download the slides &lt;a href="https://schd.ws/hosted_files/kccnceu18/7a/Function%20Composition%20in%20a%20Serverless%20World%20-%20Talk%20copy.pdf"&gt;here&lt;/a&gt;, or you can check out the video below.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/4_Szfs7eBnk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;hr&gt;
&lt;h1 id="whats-faas"&gt;What’s FaaS?&lt;/h1&gt;
&lt;p&gt;FaaS is FaaS of course is functions as a service and FaaS frameworks allow developers to deploy individual parts of an application on an as-needed basis.&lt;/p&gt;</description></item><item><title>Getting Started: Composing Serverless Functions with Fission Workflows (Part 2)</title><link>https://fission.io/blog/getting-started-composing-serverless-functions-with-fission-workflows-part-2/</link><pubDate>Thu, 05 Apr 2018 14:15:37 -0700</pubDate><guid>https://fission.io/blog/getting-started-composing-serverless-functions-with-fission-workflows-part-2/</guid><description>&lt;p&gt;&lt;em&gt;This is the second half of a 2-part introduction to Fission Workflows.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In &lt;strong&gt;&lt;a href="https://fission.io/blog/getting-started-composing-serverless-functions-with-fission-workflows-part-1/"&gt;part One&lt;/a&gt;&lt;/strong&gt; of this series, we talked about the concepts around Fission Workflows, how to create them, as well as a few demos of use cases in which you might use them.&lt;/p&gt;
&lt;p&gt;So we’ve gone over what workflows are, along with when, and how to execute them. In this blog post we’ll dive deeper, breaking down each component that makes up the fabric of workflows, and what make workflows so efficient.&lt;/p&gt;</description></item><item><title>Getting Started: Composing Serverless Functions with Fission Workflows (Part 1)</title><link>https://fission.io/blog/getting-started-composing-serverless-functions-with-fission-workflows-part-1/</link><pubDate>Tue, 27 Mar 2018 04:25:55 -0700</pubDate><guid>https://fission.io/blog/getting-started-composing-serverless-functions-with-fission-workflows-part-1/</guid><description>&lt;p&gt;&lt;em&gt;This is the first of a 2-part introduction to Fission Workflows.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Fission provides fast serverless functions on Kubernetes. While functions are great for specific pieces of business logic, any non-trivial application requires a composition of functions.&lt;/p&gt;
&lt;p&gt;There are many ways to compose functions. You can directly call functions from each other — but there are some disadvantages to this. For one, the structure of the application becomes hard to understand; dependencies are not obvious; essentially, every function becomes an API. Second, there’s no persistent state; if there’s a failure or exception and you want to retry, the whole function must run again.&lt;/p&gt;</description></item><item><title>FaaS Function Composition with Fission Workflows and NATS</title><link>https://fission.io/blog/faas-function-composition-with-fission-workflows-and-nats/</link><pubDate>Thu, 22 Mar 2018 01:46:30 -0700</pubDate><guid>https://fission.io/blog/faas-function-composition-with-fission-workflows-and-nats/</guid><description>&lt;p&gt;&lt;a href="https://nats.io"&gt;NATS&lt;/a&gt; is a lightweight, open source, high-performance, messaging system for cloud native applications, IOT messaging, and microservices architectures. The NATS messaging system implements a scalable &lt;a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern"&gt;publish-subscribe&lt;/a&gt; (or pub/sub) distribution model. There are a number of open source technologies like &lt;a href="https://kafka.apache.org/"&gt;Kafka&lt;/a&gt;, and several cloud technologies such as &lt;a href="https://cloud.google.com/pubsub/docs/"&gt;Google Cloud Pub/Sub&lt;/a&gt; and &lt;a href="https://azure.microsoft.com/en-us/services/service-bus/"&gt;Azure Service Bus&lt;/a&gt; that adopt this model as well.&lt;/p&gt;
&lt;p&gt;In light of NATS recently being &lt;a href="http://www.eweek.com/cloud/nats-messaging-project-joins-cloud-native-computing-foundation"&gt;accepted into The Cloud Native Computing Foundation&lt;/a&gt; last week, we thought it’d be cool to share how Fission functions and workflows utilize this sleek messaging system on top of Kubernetes.&lt;/p&gt;</description></item><item><title>Hello World: Creating Functions using Fission (in Golang)</title><link>https://fission.io/blog/hello-world-creating-functions-using-fission-in-golang/</link><pubDate>Mon, 05 Mar 2018 11:13:45 -0800</pubDate><guid>https://fission.io/blog/hello-world-creating-functions-using-fission-in-golang/</guid><description>&lt;h1 id="first-what-is-serverless"&gt;First, What is Serverless?&lt;/h1&gt;
&lt;p&gt;In the last blog post &lt;a href="https://fission.io/blog/hello-world-creating-functions-using-fission-in-golang/"&gt;Kubernetes for Newbies&lt;/a&gt;, we went over how to get an application up and running on Kubernetes. Though Kubernetes is surely a hot topic in tech, the “serverless” space has become just as (if not even more) trendy. Why is serverless so popular in the dev community?&lt;/p&gt;
&lt;p&gt;Turns out, serverless is a developer’s saving grace when it comes to managing servers. Instead of managing a bunch of servers, Serverless solutions allow developers to … well … not manage servers at all! Serverless completely takes away the burden of managing servers. One could say that Serverless separates the “ops” from devs. Functions as a Service (FaaS) enable developers to deploy parts of an application on an &amp;ldquo;as needed&amp;rdquo; basis using short-lived functions in just about any programming language.&lt;/p&gt;</description></item><item><title>Hello World in Go for Kubernetes Newbies</title><link>https://fission.io/blog/hello-world-in-go-for-kubernetes-newbies/</link><pubDate>Tue, 20 Feb 2018 13:52:34 -0800</pubDate><guid>https://fission.io/blog/hello-world-in-go-for-kubernetes-newbies/</guid><description>&lt;p&gt;Over the past 3 or so years, it seems the term “containerization” and the name “Kubernetes” have been amplified throughout the tech community non-stop. Even with that being so, as a developer, it can be easy to shy away from Kubernetes as its learning curve is notorious for being a steep one. But everyone’s gotta start somewhere, right? This tutorial will give you a basic overview of some of main features of Kubernetes, while walking you through the process of running a simple HelloWorld Golang application locally on your machine to running it on Kubernetes.&lt;/p&gt;</description></item></channel></rss>