<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: nimbella</title>
    <description>The latest articles on DEV Community by nimbella (@nimbella).</description>
    <link>https://dev.to/nimbella</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F338416%2F02cde546-1c98-423d-89f5-8613efac3e69.png</url>
      <title>DEV Community: nimbella</title>
      <link>https://dev.to/nimbella</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nimbella"/>
    <language>en</language>
    <item>
      <title>No infrastructure, just code. Learn the simplicity of serverless
</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Thu, 26 Aug 2021 06:00:52 +0000</pubDate>
      <link>https://dev.to/nimbella/no-infrastructure-just-code-learn-the-simplicity-of-serverless-26ea</link>
      <guid>https://dev.to/nimbella/no-infrastructure-just-code-learn-the-simplicity-of-serverless-26ea</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;em&gt;[guide on how to build and deploy an app using Nimbella Serverless platform]&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Nimbella platform unifies the programming experience for the cloud with a serverless foundation. In this way, developers can deliver a complete and integrated solution that is enterprise-ready and multi-cloud ready. Nimbella is designed from the ground up to address the needs of event-based applications, long-running applications, stateful workloads, and more complex use cases including artificial intelligence and machine learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is serverless?
&lt;/h2&gt;

&lt;p&gt;Serverless is a cloud-native development model that allows developers to build and run applications without having to manage cloud infrastructure like servers.&lt;/p&gt;

&lt;p&gt;There are still servers in serverless, but they are abstracted away from app development. A cloud provider handles the routine work of provisioning, maintaining, and scaling the server infrastructure. Developers can simply package their code in containers for deployment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DhfNpNFg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1zum9ys5nzdwpl90s58.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DhfNpNFg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1zum9ys5nzdwpl90s58.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once deployed, serverless apps respond to demand and automatically scale up and down as needed. Serverless offerings from public cloud providers are usually metered on-demand through an event-driven execution model. As a result, when a serverless function is sitting idle, it doesn’t cost anything.&lt;/p&gt;

&lt;p&gt;Nimbella is a serverless cloud that helps developers and organizations adopt a cloud strategy focused on rapidly delivering business value in a changing cloud landscape. Nimbella is backed by proven enterprise-grade open source software and offers organizations the peace of mind of being able to run across multiple clouds, including private infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N6levV-k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ivh5148ptr2qlo83ecx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N6levV-k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ivh5148ptr2qlo83ecx.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To complete this tutorial, you will need a Nimbella account. If you don’t have an existing account, visit the &lt;a href="https://nimbella.com/signup"&gt;Nimbella Signup page&lt;/a&gt; and create an account for free.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps to build and deploy an app using Nimbella Serverless platform
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Downloading the Nimbella CLI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Let us install the Nimbella CLI by following the instructions provided in the &lt;a href="https://docs.nimbella.com/install"&gt;nimbella documentation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;To verify whether the nimbella CLI is installed or not, let's open a command prompt (or Terminal), and enter the following:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3aT4WkBz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/18sswmetpinnrqbaqb3j.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 2: Connecting Nimbella CLI to your account
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Once the CLI is installed we need to link it to our Nimbella account for that reason we can use &lt;a href="https://docs.nimbella.com/nim-cmds/auth"&gt;auth&lt;/a&gt; command in the nimbella CLI.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kBcJzVqJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hbcsi6auze27kwlsd84d.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Some of the features provided by auth command are listed below details
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VSRY8VID--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ar6pmy7ugd0nsaj8bsmp.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Now to connect the CLI to our Nimbella account we will be running the following command in the terminal.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yFEed1dO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/310suvs1rkjhkr27qedm.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;The above command will open our default browser for authentication once that is done our account will be connected.
### Step 3: Creating our project&lt;/li&gt;
&lt;li&gt;To create a project we will use the &lt;a href="https://docs.nimbella.com/projects#about-projects"&gt;project&lt;/a&gt; command with the following syntax:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6QC5cXWi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4goyevo5babtsj22683l.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Nimbella supports different &lt;a href="https://docs.nimbella.com/runtime#supported-languages"&gt;languages&lt;/a&gt;, So we can choose anyone from the below list:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UhXwwX0_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4q261tcoi8j7nddr4tr.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Create a project folder with the name &lt;strong&gt;my-first-project&lt;/strong&gt; and language as javascript by running the below command in the terminal.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pn--R4j7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ffjjxrmwt271sbmqj25.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;As we can see our project has a fixed directory structure, which determines how projects are deployed. The below diagram summarizes the directory structure of an individual project with no project configuration.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sFZpwnPe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yjjhcgw5rsjb03bpbfm0.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;The hello.js is a file pre-filled with hello function (action) written in JavaScript which we will deploy in the next step.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 4: Deploying our project
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rrIHzLJz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7f9zgie1dcwlonvx2xz9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rrIHzLJz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7f9zgie1dcwlonvx2xz9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;As we can see, our project is deployed on the nimbella serverless cloud. We can retrieve the URL for any particular web action by using the action get command, as in the following example, which returns the URL for the hello action created before.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rrIHzLJz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7f9zgie1dcwlonvx2xz9.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Now if we navigate to the above URL in our web browser, we can see the following webpage:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_aPwEiLg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mf4vhf4sz18g7x8c4xe7.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;We can also use the project deploy command with a list of projects in a single invocation to deploy them all at once (e.g., nim project deploy example1 example2 … ).&lt;/li&gt;
&lt;li&gt;All the actions we have deployed will be stored in our Nimbella Account, we can retrieve that list by using the action list command:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6Ynpe2Ap--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fg8ci386dpz50cayzoin.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Whenever we deploy a project or invoke an action, a unique activation id will be generated which will be linked to that action.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We can use the activation list command to list the data of all activations which also include Status, Activation ID, Duration of the activations.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wPoRz0lx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a7k7mkp0jpr73fe6u2n6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wPoRz0lx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a7k7mkp0jpr73fe6u2n6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Datetime Status Kind Version Activation ID Start Wait Init Duration Entity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Activation ID in the above output will help us in retrieving the result, logs, and data of any particular action we deployed, to do that we can use the following commands:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4j1uLQuI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cqovgt0s03bta9mn1meu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4j1uLQuI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cqovgt0s03bta9mn1meu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 5: Creating an action
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Instead of creating a project we can also simply create an &lt;a href="https://docs.nimbella.com/deployer-specification#actions"&gt;action&lt;/a&gt; and deploy it. This action can be directly invoked, updated, and deleted using the Nimbella CLI.&lt;/li&gt;
&lt;li&gt;Let's create an action by following the below steps:&lt;/li&gt;
&lt;li&gt;Copy the code following into a file and save it as hello_stranger.js
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wfx_1XTQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9hfozz4s3fwqw9psminx.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Now to deploy this action onto our account type the following command in your terminal:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--az5mm588--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ekgcm7r6sw78uck6zy9t.png" alt="Alt Text"&gt;
Using the above command the action will be deployed privately, to deploy it in public use the "--web=true" flag along with the command
We have successfully deployed our action using the nimbella CLI.&lt;/li&gt;
&lt;li&gt;Let's modify our hello_stranger function with the below code to take place as an input parameter:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F9ZZpR_r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f86zf1ix77k5923ksp6z.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Now to update the code on nimbella we will use the following "update" command:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L4Tk4_YP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/alp1s69qw43xq4gtkb20.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;To fetch the output of the hello_stranger action, Let's use the invoke-command.
We can also provide the input parameters to the action using the "-p" flag as shown in the following example:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8eFVfbvY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eurpb0tvkz836e9gdjyj.png" alt="Alt Text"&gt;
Not only that we can also delete, get data of action using &lt;strong&gt;delete&lt;/strong&gt; and &lt;strong&gt;get&lt;/strong&gt; commands.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 6: Project watch
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Nimbella also supports incremental deployment of our project, which means whenever we modify and code or file in our project the watch feature will automatically deploy our modified project to the cloud platform&lt;/li&gt;
&lt;li&gt;Let start the watch feature on our project by using the below steps:&lt;/li&gt;
&lt;li&gt;Enter the following command in your terminal.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F1V6AVUN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/699zuf15bn2cye4rh8e3.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;Let's try to do some small modifications to our code and check the output
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ba4-BMI3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xxrzg4ich5i9vs2g9dsy.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;As we can see, only the files which we modified are getting deployed instead of the whole project.&lt;/li&gt;
&lt;li&gt;This feature will be a lot helpful for developers who constantly need to update and deploy their code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Congratulations! We successfully built and deployed serverless functions, projects that can be invoked from the browser or microservices – all just by using CLI.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.redhat.com/en/topics/cloud-native-apps/what-is-serverless"&gt;https://www.redhat.com/en/topics/cloud-native-apps/what-is-serverless&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; G. Sai Dheeraj&lt;br&gt;
Dheeraj is currently pursuing his Bachelor of Technology in Computer Science and is a bug bounty hunter. He is working on becoming a cybersecurity expert and spends most of his time reading articles about security and improving his skills in pentesting. In his free time, you will find him testing his skills through competitive programming and writing tech articles.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="https://nimbella.com/blog/no-infrastructure-just-code-learn-the-simplicity-of-serverless"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/blog"&gt;Nimbella&lt;/a&gt;. Keep an eye out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for the latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>cloudnative</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Migrate from Containers to Nimbella Serverless Architecture</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Fri, 30 Jul 2021 11:37:21 +0000</pubDate>
      <link>https://dev.to/nimbella/how-to-migrate-from-containers-to-nimbella-serverless-architecture-3b9o</link>
      <guid>https://dev.to/nimbella/how-to-migrate-from-containers-to-nimbella-serverless-architecture-3b9o</guid>
      <description>&lt;p&gt;Serverless and containers are different cloud application development approaches that can enable faster and more reliable deployment of web applications.&lt;/p&gt;

&lt;p&gt;In this article, we shall learn about container deployment, serverless deployment, and the steps &amp;amp; benefits of migrating containers to the Nimbella serverless platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Prerequisites:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Knowledge of HTML, CSS &amp;amp; JavaScript&lt;/li&gt;
&lt;li&gt;Basic Knowledge of Serverless architecture&lt;/li&gt;
&lt;li&gt;Node &amp;amp; Docker installed on the local development machine&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What are containers?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. Thus, containers make sure that software runs correctly when it is moved from one computing environment to another. The image below depicts how apps get deployed in a containerized environment. &lt;a href="https://docs.docker.com/get-started/overview/"&gt;Docker Container Documentation&lt;/a&gt; explains it in detail.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NPMvpDjS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovrnl69harz0ze4jvimd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NPMvpDjS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovrnl69harz0ze4jvimd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;What is serverless?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Serverless_computing"&gt;Serverless computing&lt;/a&gt; is a cloud computing execution model in which the cloud provider runs the server, and dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--73AyiVn1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pvuwqj3gnikqzrx55dpv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--73AyiVn1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pvuwqj3gnikqzrx55dpv.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Why containers and serverless are related but different?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The below image illustrates how serverless and containers are related but different.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ly8fV0sd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zwupy9trb03r5w678x8n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ly8fV0sd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zwupy9trb03r5w678x8n.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;When is serverless better than containers?&lt;/strong&gt;
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Serverless offers the following over containers and is well suited in such cases.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Fast-growing apps requiring quick deployments and changes&lt;/li&gt;
&lt;li&gt;Serverless is a pay-per-request model and can be inherited when traffic is unpredictable, results in cost-effectiveness&lt;/li&gt;
&lt;li&gt;There’s no worry about scalability since a serverless provider manages it&lt;/li&gt;
&lt;li&gt;Deployment simplicity is what makes Serverless incredible. There’s no administration of infrastructure needed&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;When containers are better than serverless?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Serverless has restrictions in terms of memory and size. Hence containers are preferred for long-running processes. Serverless provides a decreased start-up time and latency when compared to containers.&lt;/p&gt;

&lt;p&gt;Let’s learn container deployment and then the steps to deploy the same app on Nimbella serverless platform by deploying a developer portfolio website on both with the below steps.&lt;/p&gt;

&lt;p&gt;The below diagram depicts the architecture of our portfolio app.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w0I1Y5-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g566brlc5wz9wimwwjo1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w0I1Y5-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g566brlc5wz9wimwwjo1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 1: Creating a simple App (Developer Portfolio site with React.js &amp;amp; Node.js)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub Source:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/boltathi24/Dockerized_Developer_Portfolio_React_Node/"&gt;https://github.com/boltathi24/Dockerized_Developer_Portfolio_React_Node/&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
Please consider that we are going to create a developer portfolio website using &lt;strong&gt;React.js&lt;/strong&gt; as front-end, &lt;strong&gt;Node.js&lt;/strong&gt; as the back-end, and &lt;strong&gt;MongoDB&lt;/strong&gt; as Data Storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React.js as Front-End:&lt;/strong&gt;&lt;br&gt;
Let's create our react app to bring the below to fruition.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A clean UI to depict the skills and uniqueness of a Developer.&lt;/li&gt;
&lt;li&gt;A contact me form to collect visitor queries.
We can create React boilerplate code by running below in the terminal.
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-react-app {appName}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Once created, let’s modify and design our front-end in the usual React.js way using React Components as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--T1Tg55EF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxkfini6wgy2tt37xcv0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--T1Tg55EF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxkfini6wgy2tt37xcv0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--l-u_7IWc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z3ufbowg5ik6x82rir19.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l-u_7IWc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z3ufbowg5ik6x82rir19.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Let us create an API that stores the queries from visitors using Node.js as below.&lt;br&gt;
&lt;strong&gt;Node.js Back-end:&lt;/strong&gt;&lt;br&gt;
Please consider that we are going to store the queries into a &lt;a href="https://www.mongodb.com/free-cloud-database"&gt;free cloud MongoDB instance&lt;/a&gt;.&lt;br&gt;
Let’s initiate the project by running the below command in the terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm init -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We need to install express (for creating server-side web applications), mongoose (to interact with MongoDB) by running the below command in the terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install express mongoose
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's code the logic to store the queries into DB as below.&lt;br&gt;
&lt;a href="https://gist.github.com/boltathi24/0c750f8e382051e6dcec184ea930e92b"&gt;https://gist.github.com/boltathi24/0c750f8e382051e6dcec184ea930e92b&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 2: Running the app in Docker Container
&lt;/h3&gt;

&lt;p&gt;We can run our app on docker with the below steps.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Dockerfile (contains command line to assemble an image)
&lt;strong&gt;Dockerfile for Express API:&lt;/strong&gt;
&lt;a href="https://gist.github.com/boltathi24/f0e30e2bbe54fdf632444408e7c2fb96"&gt;https://gist.github.com/boltathi24/f0e30e2bbe54fdf632444408e7c2fb96&lt;/a&gt;
&lt;strong&gt;Dockerfile for React App:&lt;/strong&gt;
&lt;a href="https://gist.github.com/boltathi24/54baf4ab6d338869176bddc2007b5a35"&gt;https://gist.github.com/boltathi24/54baf4ab6d338869176bddc2007b5a35&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Define services in a docker-compose.yml file (include above docker file inside this yml configuration)
&lt;strong&gt;docker-compose.yml for Express API&lt;/strong&gt;:
&lt;a href="https://gist.github.com/boltathi24/130aa62c27e70f795ed0f7ab2fe44678"&gt;https://gist.github.com/boltathi24/130aa62c27e70f795ed0f7ab2fe44678&lt;/a&gt;
&lt;strong&gt;docker-compose.yml for React App:&lt;/strong&gt;
&lt;a href="https://gist.github.com/boltathi24/378412fd1a8ce9a40702295fd9a1df0f"&gt;https://gist.github.com/boltathi24/378412fd1a8ce9a40702295fd9a1df0f&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Build and run your app with the Docker Compose tool
We can run our React &amp;amp; Express App in a container by running the below command from the respective docker-compose.yml file directory.
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker-compose up -d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;We can see our react app live on the port specified in Dockerfile.&lt;br&gt;
We can ensure the same by running the below docker command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JuK5mS6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wk9rkrca7jdxym8hfz2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JuK5mS6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wk9rkrca7jdxym8hfz2g.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, We have created the developer portfolio app and deployed it inside a container. Let's learn how we can do the same with Nimbella Serverless.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Running App on Serverless:&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Creating a new account on Nimbella
&lt;/h3&gt;

&lt;p&gt;Let’s do the below steps to get started with the &lt;a href="https://nimbella.com/blog/how-to-set-up-your-serverless-environment-and-get-started-in-less-than-2-minutes"&gt;Nimbella platform for deployment in 2 mins&lt;/a&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an &lt;a href="https://nimbella.com/signup"&gt;account in Nimbella&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.nimbella.com/install/"&gt;Install nim CLI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Login to nim CLI with the below command
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Rr5V4e-V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vtvgovc7dbwf01q4f6w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rr5V4e-V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vtvgovc7dbwf01q4f6w.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
We are a step away from deploying our app in Nimbella. We need to modify the directory structure.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 4: Updating the app for Nimbella
&lt;/h3&gt;

&lt;p&gt;As per &lt;a href="https://nimbella.com/resources/platform/getting-started"&gt;Nimbella’s Deployment Standard&lt;/a&gt;, the back-end/actions code for API has to be placed under a directory named “&lt;strong&gt;packages&lt;/strong&gt;” and front-end/static code into a directory named "&lt;strong&gt;web&lt;/strong&gt;".&lt;/p&gt;

&lt;p&gt;Please follow the below steps to migrate our *&lt;em&gt;React App to Nimbella *&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Wrap the React/front-end code inside the directory named web&lt;/li&gt;
&lt;li&gt;Create &lt;strong&gt;build.sh&lt;/strong&gt; and specify below commands inside to build the React App
&lt;a href="https://gist.github.com/boltathi24/023ccfe738961411e7740fc47d3e7c3d"&gt;https://gist.github.com/boltathi24/023ccfe738961411e7740fc47d3e7c3d&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create &lt;strong&gt;.include&lt;/strong&gt; file and specify “build” inside as the Build directory of our React App is identified with this file
&lt;a href="https://gist.github.com/boltathi24/a0c35ee33f6f83d6a17335a8efcee6bf"&gt;https://gist.github.com/boltathi24/a0c35ee33f6f83d6a17335a8efcee6bf&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Please follow the below steps to Migrate our &lt;strong&gt;Node.js based App to Nimbella&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In brief, we would have coded our business logic inside the routes specified in Express.&lt;/p&gt;

&lt;p&gt;To migrate to Nimbella, we just need to wrap the same business logic inside the main function as below.&lt;br&gt;
&lt;a href="https://gist.github.com/boltathi24/9ced4d6bd82b4498dbfa4ac89ad50029"&gt;https://gist.github.com/boltathi24/9ced4d6bd82b4498dbfa4ac89ad50029&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please note that in express, we have specified the desired URL path inside the Routes But in Nimbella, the directory name represents endpoints, once deployed. Hence the directory name needs to be created with the name of the endpoints we would like to have in our API.&lt;/p&gt;

&lt;p&gt;To migrate the express app to Nimbella, create a directory named packages.&lt;/p&gt;

&lt;p&gt;Inside packages, create a directory that represents the app name as “form”.&lt;/p&gt;

&lt;p&gt;Inside the app directory, create another directory as “insert” that represents serverless action. Now copy the serverless function which we have written inside the serverless action directory.&lt;/p&gt;

&lt;p&gt;The below diagram depicts the directory structure on the Nimbella platform.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9reHgkkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l83eersq99pprjvggdgy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9reHgkkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l83eersq99pprjvggdgy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Our app’s final directory after modifying the directory as specified looks as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---p3bYO0u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j10v3dpztd4qzlmlwnmg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---p3bYO0u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j10v3dpztd4qzlmlwnmg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 5: Running/Testing the app
&lt;/h3&gt;

&lt;p&gt;Create a project.yml file and configure it for deployment as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CM4ewDQB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/898c0jdxxhb1j2khnuo5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CM4ewDQB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/898c0jdxxhb1j2khnuo5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Let’s make our app live by running the below command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim project deploy {application’s directory} --env={path of environment file}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our App and API are deployed successfully into the Nimbella Serverless Platform as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f1hJR3za--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bh6jaova4sqtmzuc79fm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f1hJR3za--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bh6jaova4sqtmzuc79fm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
​​&lt;br&gt;
As per the above execution log, we can access our app with the below URL→ &lt;a href="https://dlrowtlo-jyam4452nxf-apigcp.nimbella.io/"&gt;https://dlrowtlo-jyam4452nxf-apigcp.Nimbella.io/&lt;/a&gt;&lt;br&gt;
You can get your serverless URL of Serverless action/API by running the below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim action get {actionName} --url
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wUejkfjR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kju5ro6oefctkhncwqu9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wUejkfjR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kju5ro6oefctkhncwqu9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have successfully migrated a developer portfolio app from containers to Nimbella Serverless Platform and the app can be accessed at the link below.&lt;br&gt;
&lt;a href="https://dlrowtlo-jyam4452nxf-apigcp.nimbella.io/"&gt;https://dlrowtlo-jyam4452nxf-apigcp.Nimbella.io/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ejx_nsc2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7mcrw8pm5p0tmfq5zaru.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ejx_nsc2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7mcrw8pm5p0tmfq5zaru.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Github Source:&lt;/strong&gt; &lt;a href="https://github.com/boltathi24/Nimbella_Developer_Portfolio_React_Node"&gt;https://github.com/boltathi24/Nimbella_Developer_Portfolio_React_Node&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;
Serverless and containers came into existence as an evolution towards maximizing utilization of computational power. We can migrate from containers to serverless with the below steps.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://nimbella.com/blog/how-to-set-up-your-serverless-environment-and-get-started-in-less-than-2-minutes"&gt;SignUp/Login to Nimbella&lt;/a&gt; account by installing nim CLI.&lt;/li&gt;
&lt;li&gt;Wrap the business logic used inside existing API methods as functions.&lt;/li&gt;
&lt;li&gt;Modify the directory of existing code as per serverless standards.&lt;/li&gt;
&lt;li&gt;Configure a &lt;a href="https://gist.github.com/boltathi24/0d78462d22dc44cecf14ed883b2cbbf3"&gt;project.yml&lt;/a&gt; file for serverless deployment.&lt;/li&gt;
&lt;li&gt;Deploy into Nimbella using deploy command.
## &lt;strong&gt;Benefits for Migrating Containers to Nimbella Serverless&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Zero administration yet provides high security to date.&lt;/li&gt;
&lt;li&gt;The aforementioned scalability problem of containers is avoided.&lt;/li&gt;
&lt;li&gt;By reducing the overhead complexity of infra, developers can focus more on business logic resulting in faster time to market with reliability.&lt;/li&gt;
&lt;li&gt;Delivering code changes more frequently and reliably using &lt;a href="https://nimbella.com/blog/ci/cd-pipeline-with-github-actions"&gt;CI/CD Pipeline&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;No need to worry about scalability during unpredicted traffic.&lt;/li&gt;
&lt;li&gt;Developers do not need to worry about purchasing, provisioning, and managing backend servers.&lt;/li&gt;
&lt;li&gt;Pay per request model facilitates cost-effectiveness since you pay only when service is consumed by the user.&lt;/li&gt;
&lt;li&gt;Dedicated secure domain.&lt;/li&gt;
&lt;li&gt;Integrated key-value store.&lt;/li&gt;
&lt;li&gt;Integrated object-store.&lt;/li&gt;
&lt;li&gt;Integrated logging &amp;amp; monitoring.&lt;/li&gt;
&lt;li&gt;Global CDN.&lt;/li&gt;
&lt;li&gt;MultiCloud deployment and much more.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nimbella is named a strong performer in the serverless world by &lt;a href="https://nimbella.com/forrester-report"&gt;Forrestor&lt;/a&gt;. Please feel free to check out how Nimbella spreads the power of serverless on &lt;a href="https://www.crn.com/slide-shows/cloud/the-20-coolest-cloud-infrastructure-companies-of-the-2021-cloud-100/14"&gt;CRN&lt;/a&gt; &amp;amp; &lt;a href="https://nimbella.com/whitepaper"&gt;Rishdot Research&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Author details: Athithan Raj P&lt;/strong&gt;&lt;br&gt;
Athithan started his career with Cognizant and experienced himself in the testing field primarily. Later he started getting involved in different fields like Development, Security, Content writing, etc. He now works with a reputed organization as a Software Development Engineer in Test where he is responsible for the product quality through Automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Follow him on Twitter:&lt;/strong&gt; &lt;a href="https://twitter.com/raj_athithan"&gt;@raj_athithan&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://nimbella.com/blog/how-to-migrate-from-containers-to-nimbella-serverless-architecture"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/blog"&gt;Nimbella&lt;/a&gt;. Keep an eye out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for the latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>nimbella</category>
      <category>cloud</category>
      <category>docker</category>
    </item>
    <item>
      <title>Kubernetes in simple words: explained by Eric Swildens</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Mon, 12 Jul 2021 06:14:00 +0000</pubDate>
      <link>https://dev.to/nimbella/kubernetes-in-simple-words-explained-by-eric-swildens-52j</link>
      <guid>https://dev.to/nimbella/kubernetes-in-simple-words-explained-by-eric-swildens-52j</guid>
      <description>&lt;h2&gt;
  
  
  Find the answers to the most commonly asked questions related to Kubernetes (k8s) explained simply.
&lt;/h2&gt;

&lt;p&gt;In this blog post, Eric Swildens, Co-founder and Chief Architect at Nimbella, will explain Kubernetes and answer the most commonly asked questions in simple words that can be easily understood by junior developers, DevOps specialists, and even non-tech professionals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions that have been answered in this blog post
&lt;/h2&gt;

&lt;p&gt;If you want to know what is Kubernetes and why is it so trendy, check out the next most common FAQ’s we have answered here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes in simple words, using real-life examples.&lt;/li&gt;
&lt;li&gt;How is Kubernetes different from Docker?&lt;/li&gt;
&lt;li&gt;What are Kubernetes clusters?&lt;/li&gt;
&lt;li&gt;What are some benefits of using Kubernetes?&lt;/li&gt;
&lt;li&gt;What are some products built on top of Kubernetes?&lt;/li&gt;
&lt;li&gt;What are some good ways of learning Kubernetes?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  First and most important: what is Kubernetes?
&lt;/h3&gt;

&lt;p&gt;Let us explain it in very simple words:&lt;/p&gt;

&lt;p&gt;Kubernetes is a system that manages containers (containerized applications) where a container could be explained as a lightweight virtual machine. To build an application you need to build a bunch of containers and then use Kubernetes to manage those containers. This sounds like something very difficult and time-consuming, but the advantage is that &lt;strong&gt;Kubernetes can create and scale containers automatically and manage storage among all the containers.&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx7vkq2g6hhsu1hfpwln.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx7vkq2g6hhsu1hfpwln.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Source &lt;a href="https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/" rel="noopener noreferrer"&gt;Kubernetes.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Suppose you are trying to build a company. You need multiple departments to run the company: CFO, call center, engineering team, marketing, sales, etc. Think of them as different kinds of containers. So Kubernetes has a file which has the description of all the containers and how they work together: sales work with marketing and marketing work with engineering and this is how everybody talks to each other. Then you tell Kubernetes to execute it, hire all “containers” and if one of them fails it will restart it and redo it.&lt;br&gt;
That's a simple explanation of what Kubernetes is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To get a broader picture about Kubernetes and get more information we suggest some resources to read and watch:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latest Cloud Native Foundation surveys &lt;a href="https://github.com/cncf/surveys" rel="noopener noreferrer"&gt;https://github.com/cncf/surveys&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Google Cloud Tech Video: &lt;a href="https://youtu.be/cC46cg5FFAM" rel="noopener noreferrer"&gt;https://youtu.be/cC46cg5FFAM&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Kubernetes and Docker: how do they work together
&lt;/h3&gt;

&lt;h4&gt;
  
  
  What is Docker?
&lt;/h4&gt;

&lt;p&gt;Docker is a container engine that is used to create containers. Let’s make it even more simple: &lt;em&gt;Docker is a type of container and Kubernetes manages (deploys) Docker Containers or other types of containers.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For example, you built a web search application and you have a container that contains a web server. When visitors connect to your website, they connect to the web server in the container to get content. Let’s say a lot of visitors start connecting to your web server.&lt;/p&gt;

&lt;p&gt;Kubernetes can identify the increased traffic and &lt;strong&gt;&lt;em&gt;create another container containing another web server&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Kubernetes can restart a container as it fails, kills a container if it doesn't work, can do rollouts, put more containers and manage the &lt;a href="https://www.aquasec.com/cloud-native-academy/kubernetes-101/kubernetes-networking/" rel="noopener noreferrer"&gt;networking for containers&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a Kubernetes cluster?
&lt;/h3&gt;

&lt;p&gt;A Kubernetes system with a full set of Kubernetes components is called a &lt;strong&gt;cluster&lt;/strong&gt;. The cluster can run on actual physical machines (such as PCs or laptops) or as virtual machines. If you just have one machine and it’s running a full Kubernetes system then that is your Kubernetes cluster, and if you have two machines that are running the Kubernetes, those two machines host your Kubernetes cluster. The cluster can run on any combination of virtual and physical machines.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the benefits of using Kubernetes?
&lt;/h3&gt;

&lt;p&gt;If you need just one container for your application there is no benefit of using Kubernetes. For example, if you have one employee in a company, there is no reason to have a company. You can just have that one employee work on his own and that's exactly similar to Kubernetes. So if you are a company and you have sales, engineering, and all the other departments, then you need to hire people and you also need &lt;strong&gt;&lt;em&gt;to manage&lt;/em&gt;&lt;/strong&gt; them.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Kubernetes allows you to manage multiple containers, scale up, scale down and restart them.&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Here are some of the benefits that Kubernetes offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes does load balancing when there is too much traffic.&lt;/li&gt;
&lt;li&gt;Kubernetes helps you do some storage stuff with a disc.&lt;/li&gt;
&lt;li&gt;Kubernetes eliminates many of the manual processes involved in deploying and scaling containerized applications and standardizes them.&lt;/li&gt;
&lt;li&gt;Kubernetes orchestration allows you to build application services that span multiple containers, schedule containers across a cluster, scale those containers, and manage their health over time.&lt;/li&gt;
&lt;li&gt;Kubernetes &lt;a href="https://medium.com/velotio-perspectives/demystifying-high-availability-in-kubernetes-using-kubeadm-3d83ed8c458b" rel="noopener noreferrer"&gt;High-Availability&lt;/a&gt; is another benefit because if something fails, it will replace it and restart over.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Real-life examples of Kubernetes in more detail
&lt;/h3&gt;

&lt;p&gt;When you are developing an application, you need&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a database&lt;/li&gt;
&lt;li&gt;a specialized server that you develop&lt;/li&gt;
&lt;li&gt;a web server to look at the webpage.&lt;/li&gt;
&lt;li&gt;a machine to run everything.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The first problem&lt;/strong&gt; arrives when your traffic starts drastically growing. If it runs on a physical machine then the solution would be &lt;strong&gt;to get another machine&lt;/strong&gt;, install the operating system on it and put all the stuff on it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The second problem&lt;/strong&gt; that you possibly need to solve - &lt;strong&gt;load balancing&lt;/strong&gt;. The solution would be to get a load balancer.&lt;br&gt;
Imagine that now we are getting more traffic so &lt;strong&gt;we fire up four more machines&lt;/strong&gt;. If you manage that manually &lt;strong&gt;then you have to do a lot of work&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So this is where Kubernetes comes in:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You install Kubernetes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You describe processes and applications and:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;if you have four machines it uses all four machines.&lt;/li&gt;
&lt;li&gt;If you have 16 machines, it uses all 16 machines.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need another Kubernetes cluster, you shall have a description of how to deploy on Kubernetes and it would deploy it on the other cluster.&lt;/p&gt;

&lt;p&gt;So Kubernetes allows you to create &lt;strong&gt;&lt;em&gt;scalable&lt;/em&gt;&lt;/strong&gt; web applications and use all sorts of different resources that are composed of different components.&lt;/p&gt;

&lt;p&gt;So as a business case, you want to standardize how your application is deployed and developed and this is the way of describing all the services and processes that you need. Then you use a scalable system called - Kubernetes.&lt;/p&gt;

&lt;p&gt;To give you an idea of how big these things can get and answer the next question:&lt;/p&gt;

&lt;h3&gt;
  
  
  What are some worldwide famous products built on top of Kubernetes?
&lt;/h3&gt;

&lt;p&gt;Some well-known applications that are currently using Kubernetes are the following.&lt;/p&gt;

&lt;h4&gt;
  
  
  Netflix
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Let’s take the example of Netflix.&lt;/strong&gt; Netflix &lt;a href="https://netflixtechblog.com/titus-the-netflix-container-management-platform-is-now-open-source-f868c9fb5436" rel="noopener noreferrer"&gt;launches half a million containers and 200k clusters per day&lt;/a&gt;. It has grown from thousands of containers launched per week to three million launched per week. It hosts thousands of applications globally over these machines and they are deployed on virtual machines. Imagine having to manage all this manually 🤒🤒🤒. So such a size of workload is usually managed on Kubernetes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Spotify
&lt;/h4&gt;

&lt;p&gt;The next example is Spotify, a well-known audio streaming and media services provider with over 200 million users worldwide. The biggest service currently running on Kubernetes takes about 10 million requests per second as an aggregate service and benefits greatly from autoscaling, &lt;a href="https://kubernetes.io/case-studies/spotify/" rel="noopener noreferrer"&gt;says Site Reliability Engineer James Wen.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Plus, he adds, "Before, teams would have to wait for an hour to create a new service and get an operational host to run it in production, but with Kubernetes, they can do that on the order of seconds and minutes." In addition, with Kubernetes's bin-packing and multi-tenancy capabilities, CPU utilization has improved on average two- to threefold.&lt;/p&gt;

&lt;h4&gt;
  
  
  Adidas
&lt;/h4&gt;

&lt;p&gt;Another example is Adidas. Currently, &lt;a href="https://kubernetes.io/case-studies/adidas/" rel="noopener noreferrer"&gt;100% of the Adidas e-commerce sites&lt;/a&gt; are running on Kubernetes. With 4,000 pods, 200 nodes, and 80,000 builds per month, Adidas is now running 40% of its most critical, impactful systems on its cloud-native platform.&lt;/p&gt;

&lt;p&gt;They drastically speed up the load time and releases went from every 4-6 weeks to 3-4 times a day. With Kubernetes, they solved the problem of getting quick access to all developer tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes made easy has a name: Nimbella
&lt;/h2&gt;

&lt;p&gt;However, Kubernetes is a bit complex: &lt;strong&gt;if you are a developer and you want to run some code in Kubernetes, you have to figure out the&lt;/strong&gt; &lt;strong&gt;&lt;a href="https://kubernetes.io/" rel="noopener noreferrer"&gt;orchestration&lt;/a&gt;&lt;/strong&gt; &lt;strong&gt;and learn more.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In such a case Nimbella could offer &lt;a href="https://nimbella.com/blog/simplifying-kubernetes-for-developers" rel="noopener noreferrer"&gt;ease of development&lt;/a&gt;, so that means you get the benefits of Kubernetes without the hassle of having to go in-depth into it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxgc3inqlii8mbm5ssmm0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxgc3inqlii8mbm5ssmm0.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's the way Nimbella works and what &lt;a href="https://nimbella.com/blog/what-is-nimbella-and-what-does-it-offer" rel="noopener noreferrer"&gt;Nimbella offers&lt;/a&gt;. That's called scale to zero. In Kubernetes, that's not true. You have all these containers and even if nothing is going early-stage on, containers are still taking up resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nimbella Serverless Platform offers: Here's the code, use our&lt;/strong&gt; &lt;strong&gt;&lt;a href="https://docs.nimbella.com/install/" rel="noopener noreferrer"&gt;CLI&lt;/a&gt;&lt;/strong&gt; &lt;strong&gt;and run it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If ten people have to run it, then make a bunch of containers so &lt;em&gt;there is enough to run them all&lt;/em&gt;. And once they are done, &lt;em&gt;get rid of the containers&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;And the last question for this blog:&lt;/p&gt;

&lt;h3&gt;
  
  
  What are some good ways of learning Kubernetes?
&lt;/h3&gt;

&lt;p&gt;YouTube videos are one of the best ways. There are many tutorials and videos available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We recommend some channels and specific videos:&lt;/strong&gt;&lt;br&gt;
Google Cloud Tech Youtube channel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/cC46cg5FFAM" rel="noopener noreferrer"&gt;What is Kubernetes?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/_2fiMli8p3E" rel="noopener noreferrer"&gt;How to run containers on Kubernetes&lt;/a&gt;
TechWorld with Nana Youtube channel:&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/X48VuDVv0do" rel="noopener noreferrer"&gt;Kubernetes tutorial for beginners (4 hours crash course)&lt;/a&gt;
IBM Cloud Youtube channel:&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/aSrqRSk43lY" rel="noopener noreferrer"&gt;Kubernetes Explained&lt;/a&gt;
Then you can use Kubernetes on Google and Amazon. They all have Kubernetes clusters. Use those clusters and get started instead of deploying your own Kubernetes cluster, which can be a lot of work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Over to you: Kubernetes is hard - but worth the pain
&lt;/h2&gt;

&lt;p&gt;In conclusion, we would like to share some highlights from the &lt;a href="https://www.cncf.io/wp-content/uploads/2020/11/CNCF_Survey_Report_2020.pdf" rel="noopener noreferrer"&gt;CNFC 2020 Survey&lt;/a&gt; and the perspective of Kubernetes to grow.&lt;/p&gt;

&lt;p&gt;The survey cities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The use of containers in production has increased to 92%, up from 84% last year, and up 300% from our first survey in 2016.&lt;/li&gt;
&lt;li&gt;Kubernetes use in production has increased to 83%, up from 78% last year.&lt;/li&gt;
&lt;li&gt;There has been a 50% increase in the use of all CNCF projects since last year’s survey.&lt;/li&gt;
&lt;li&gt;Usage of cloud-native tools:&lt;/li&gt;
&lt;li&gt;82% of respondents use CI/CD pipelines in production.&lt;/li&gt;
&lt;li&gt;30% of respondents use serverless technologies in production.&lt;/li&gt;
&lt;li&gt;27% of respondents use a service mesh in production, a 50% increase over last year.&lt;/li&gt;
&lt;li&gt;55% of respondents use stateful applications in containers in production.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The trend and quick adoption of Kubernetes by enterprises is growing yearly and widely adopted by DevOps engineers, cloud architects, backend developers, DevOps management, full-stack developers, and other tech specialists.&lt;/p&gt;

&lt;p&gt;If you’re looking for a scalable cloud solution then you should surely consider Kubernetes.&lt;/p&gt;

&lt;p&gt;To ease the development of Kubernetes we offer &lt;a href="https://nimbella.com/platform" rel="noopener noreferrer"&gt;Nimbella serverless platform&lt;/a&gt; that is available on prem, private, hybrid, and public cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;This interview has been taken by Yulia Aslamova.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Head of Marketing and User Acquisition at Nimbella&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://nimbella.com/blog/kubernetes-in-simple-words-explained-by-eric-swildens" rel="noopener noreferrer"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/blog" rel="noopener noreferrer"&gt;Nimbella&lt;/a&gt;. Keep an eye out for this space and follow us on &lt;a href="https://twitter.com/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; for the latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>serverless</category>
      <category>docker</category>
      <category>nimbella</category>
    </item>
    <item>
      <title>How to optimize Kubernetes costs with Nimbella
</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Fri, 18 Jun 2021 03:18:47 +0000</pubDate>
      <link>https://dev.to/nimbella/how-to-optimize-kubernetes-costs-with-nimbella-3146</link>
      <guid>https://dev.to/nimbella/how-to-optimize-kubernetes-costs-with-nimbella-3146</guid>
      <description>&lt;p&gt;Talking about costs is always a difficult topic because it is easy to focus on one aspect and neglect the others, and thus give a presentation that is not entirely in line with reality.&lt;/p&gt;

&lt;p&gt;Here, I am presenting a realistic cost model applied in a cloud-native project and I will demonstrate how Nimbella works on Kubernetes and allows significant cost-saving compared to a "pure" development on Kubernetes.&lt;/p&gt;

&lt;p&gt;Let's first clarify exactly what we mean by a "Cloud-Native" project.&lt;/p&gt;

&lt;p&gt;Let's start by underlining that a "lift-and-shift" project that merely runs on Kubernetes, an application as a Virtual Machine without horizontal scalability properties, can’t be considered Cloud-Native.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Cloud-Native?
&lt;/h2&gt;

&lt;p&gt;A cloud-native project has the following properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It scales horizontally by adding computing resources, the system adapts and uses the new resources&lt;/li&gt;
&lt;li&gt;It distributes the load equally over the whole system and not just on a single component&lt;/li&gt;
&lt;li&gt;It manages the "back-pressure". This means that it can manage situations in which requests increase faster than the system in its current state can handle.&lt;/li&gt;
&lt;li&gt;It is structured in microservices, and can therefore be updated gradually in a granular and incremental way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Essentially, it is necessary to create an architecture similar to the one that Nimbella provides, ready to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--13qsO_NZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zhv5fzb10b8ukrvcoowl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--13qsO_NZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zhv5fzb10b8ukrvcoowl.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Workload of a typical cloud-native project with Kubernetes
&lt;/h3&gt;

&lt;p&gt;Such a project has a complex architecture, that includes message queue management, data handling with NoSQL database, cache, and cloud storage, and it cannot be improvised. A &lt;strong&gt;Cloud Architect&lt;/strong&gt; is therefore needed for its implementation.&lt;/p&gt;

&lt;p&gt;If the project is a micro-services project, a &lt;strong&gt;pipeline&lt;/strong&gt; must be created to build them continuously. Typically, for this purpose, it’s necessary to use Jenkins. Note that these pipelines need to be continuously updated and maintained. You, therefore, need a &lt;strong&gt;DevOps Engineer&lt;/strong&gt; to handle this role.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f3m1gTrJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/edcch3c9gxg1gthndsvp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f3m1gTrJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/edcch3c9gxg1gthndsvp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Microservice Application Development requires Kubernetes and Cloud expertise. Therefore, at least two &lt;strong&gt;Senior Developers&lt;/strong&gt; are needed for development and two more &lt;strong&gt;Junior Developers&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Nimbella reduces workloads
&lt;/h3&gt;

&lt;p&gt;Let us now examine how much the same project developed with Nimbella would cost.&lt;/p&gt;

&lt;p&gt;Nimbella offers a ready-to-use architecture for Native Cloud Development. It is a well-known architecture that applies best practices and patterns and is similar to those adopted by platforms like Facebook, Linkedin or Twitter. The architecture is proven, in production use and continuously updated by Nimbella. It, therefore, does not require a cloud architect to implement the platform.&lt;/p&gt;

&lt;p&gt;Maintenance is greatly reduced as it is highly automated. A &lt;strong&gt;DevOps Engineer, part-time&lt;/strong&gt;, is enough to maintain it.&lt;/p&gt;

&lt;p&gt;No cloud skills are needed for application development, and there is no need to write Cloud Code but, instead, simply write Application Code only. One &lt;strong&gt;Senior Developer&lt;/strong&gt; supported by two &lt;strong&gt;Junior Developers&lt;/strong&gt; for development is therefore quite sufficient.&lt;/p&gt;

&lt;p&gt;Finally, as Nimbella eliminates the DevOps pipeline, significantly reducing the amount of code to be written and streamlining deployment procedures, the development time is consequently reduced by at least 50%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Everything is condensed into a spreadsheet here.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uiTIdyeA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5wyuhtt492bv9bx9j78a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uiTIdyeA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5wyuhtt492bv9bx9j78a.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; Daniele Giuseppe di Pisa&lt;/p&gt;

&lt;p&gt;Daniele began his career at the Technical Institute for Accounting in Milan after which he worked for 15 years in Italy for a Software House and Distributor of German BIM/CAD. This is where he learned to code. He moved on to working for WETO in Germany and then moved to China. Daniele now works with Nimbella in Sales. &lt;/p&gt;

&lt;p&gt;Find him on &lt;a href="https://www.linkedin.com/in/daniele-giuseppe-di-pisa-52627882/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;br&gt;
&lt;em&gt;&lt;a href="https://nimbella.com/blog/how-to-optimize-kubernetes-costs-with-nimbella"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/"&gt;Nimbella&lt;/a&gt;. Keep an eye out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for the latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>kubernetes</category>
      <category>cloudnative</category>
      <category>cloudskills</category>
    </item>
    <item>
      <title>Step by step guide on how to port from AWS to Nimbella
</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Thu, 17 Jun 2021 08:29:19 +0000</pubDate>
      <link>https://dev.to/nimbella/a-2abk</link>
      <guid>https://dev.to/nimbella/a-2abk</guid>
      <description>&lt;p&gt;AWS is the largest public cloud provider - but that doesn't make it easy to use!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It can be challenging to work with because:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS is confusing for developers without deep experience in low-level cloud technologies.&lt;/li&gt;
&lt;li&gt;Businesses have to pay a hefty amount to get technical support from AWS.&lt;/li&gt;
&lt;li&gt;AWS Pricing is fiendishly complex and difficult to predict. Also, it doesn't allow you to set a hard spending limit.
4.Need a credit card to sign-up.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Giuseppe Miragliotta, Backend Software Engineer at Xtream&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AWS Lambda’s pay-per-use pricing model is ideal for sporadic usages because you’re never paying for over-provisioned infrastructure. On the other end, costs can sum up rapidly on highly intensive workloads since these kinds of resources are expensive. Nimbella can help you save costs by using LaaS or CaaS services that are cheaper than FaaS, providing a proven and actively maintained architecture.&lt;/p&gt;

&lt;p&gt;Backed by &lt;a href="https://openwhisk.apache.org/"&gt;Apache OpenWhisk&lt;/a&gt;, an open-source serverless solution, Nimbella comes with a high degree of portability. This means that the cost of moving to another cloud provider is greatly reduced and a multi-cloud strategy is also feasible, letting you choose the best products that suit your needs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All these urge many users to look for the best AWS alternative which eventually gets &lt;strong&gt;them away from AWS Cloud lock-in&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this article, we shall walk you through how Nimbella can fill up the space of AWS Lambda as an alternative and how you can port your functions to Nimbella.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pros of Nimbella over AWS
&lt;/h3&gt;

&lt;p&gt;The developers using the Nimbella platform only have to code the logic and Nimbella handles the rest including storage management, capacity provisioning, auto-scaling, monitoring, and logging.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yxCt_Z4l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvhgiqi4p7kvpoqu3unx.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yxCt_Z4l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvhgiqi4p7kvpoqu3unx.JPG" alt="Nimbella app logic"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Try Nimbella's platform with a real example
&lt;/h4&gt;

&lt;p&gt;Let's create a new App and deploy it on Nimbella to get ourselves familiar with porting the functions from AWS-Lambda to Nimbella.&lt;/p&gt;

&lt;p&gt;Please consider that we are going to create an invoice processing App with the below features&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Approve/Reject invoices&lt;/li&gt;
&lt;li&gt;Adding new invoices&lt;/li&gt;
&lt;li&gt;Exporting invoices&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It will use React.js for the front-end and Node.js for the Back-end. For data storage, we can use Amazon's dynamo DB in AWS-lambda and Nimbella's Redis in Nimbella Platform.&lt;/p&gt;

&lt;h5&gt;
  
  
  Basic architecture on Nimbella
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y-GWwZkR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hbjdtf0568lt2omv379w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y-GWwZkR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hbjdtf0568lt2omv379w.png" alt="Basic architecture on Nimbella"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Directory Structure on Nimbella:
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GH37aB5P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn5rknusm2g5k7eu00ql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GH37aB5P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn5rknusm2g5k7eu00ql.png" alt="Directory structure on Nimbella"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Port your AWS Lambda functions to Nimbella
&lt;/h4&gt;

&lt;p&gt;The following step-by-step guide will easily allow you to move your Lambda Functions to Nimbella.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Accounts creation and configuration&lt;/strong&gt;
&lt;strong&gt;Nimbella:&lt;/strong&gt; &lt;a href="https://nimbella.com/signup"&gt;Create a new Nimbella Account&lt;/a&gt; and it gets activated without providing any card details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Install &amp;amp; Set-up CLI&lt;/strong&gt;
Let's install CLI to deploy and interact with the cloud platform through the terminal.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nimbella's CLI can be installed by referring to &lt;a href="https://nimbella.com/blog/how-to-set-up-your-serverless-environment-and-get-started-in-less-than-2-minutes"&gt;this link&lt;/a&gt; for the respective Operating System.&lt;/p&gt;

&lt;p&gt;To set up the CLI for Deployment and other activities we just need to log in to the CLI using the below command&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim auth login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Set-up Data Storage&lt;/strong&gt;&lt;br&gt;
Please consider that we are going to store our invoices as documents in the data storage.&lt;/p&gt;

&lt;p&gt;Nimbella provides dedicated pre-integrated Redis key-value storage. We can directly use it as data storage without any configuration. We can do CRUD operation with our DB via CLI using the traditional Redis command as below.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim kv set &amp;lt;keyName&amp;gt; &amp;lt;keyvalue&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M7bT4AR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/11eco9r0vg8f0646a1ml.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M7bT4AR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/11eco9r0vg8f0646a1ml.png" alt="Set-up Data Storage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create Your API for Invoice Processor&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a directory named "packages" which wraps the back-end code.&lt;/li&gt;
&lt;li&gt;Create a new directory that represents the app name inside packages.&lt;/li&gt;
&lt;li&gt;Create a new directory name that represents the API endpoint. Please note that in Nimbella each directory name represents API endpoints. Hence, create the directory how you want to name the API endpoints.&lt;/li&gt;
&lt;li&gt;Initiate a node js project with nim init -y&lt;/li&gt;
&lt;li&gt;Install nim-sdk package to access Nimbella's Redis.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once done, we can read our invoice data from Nimbella's Redis with the below code.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VoxuCegZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ul6nxs8cbzm15w313pgs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VoxuCegZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ul6nxs8cbzm15w313pgs.png" alt="Create Your API for Invoice Processor 1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a project.yml file and specify our directory structure (http end-points) of our function as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MJYsc-f0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d0kdjdiok5si248ztjn2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MJYsc-f0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d0kdjdiok5si248ztjn2.png" alt="Create Your API for Invoice Processor 2&amp;lt;br&amp;gt;
"&gt;&lt;/a&gt;&lt;br&gt;
Our Serverless function can be deployed by running the below-given command in Nim-CLI.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pV9Wr6l8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q8dv2k7v3c9g9sm6z6xi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pV9Wr6l8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q8dv2k7v3c9g9sm6z6xi.png" alt="Create Your API for Invoice Processor 3&amp;lt;br&amp;gt;
"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim project deploy &amp;lt;directory containing our proj&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Once deployed, we can get the API URL for the deployed function using the below command.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim action get action &amp;lt;functionName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now, our API is ready to serve the requests seamlessly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployed API URL (Nimbella):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://boltnew2-doofwstmxcq-apigcp.nimbella.io/api/invoice/getdata"&gt;https://boltnew2-doofwstmxcq-apigcp.nimbella.io/api/invoice/getdata&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Front-End&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's create a React App by running the below command.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-react-app &amp;lt;appName&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Once React App is created, we can implement the below features in the UI for the Invoice Processor in the usual React way as below.&lt;/p&gt;

&lt;p&gt;Consume the API created in the previous step to render the invoices&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Approve/Reject Invoices&lt;/li&gt;
&lt;li&gt;Export Approved/Rejected/Pending invoices (using jsPdf)&lt;/li&gt;
&lt;li&gt;Add new invoices.&lt;/li&gt;
&lt;li&gt;Invoice Processor
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SfNiX9p1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5t8oqg9tkv5si4jjc7op.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Our React App can be hosted on Nimbella by following simple steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create a build.sh file and specify the commands to create a build from React Ap&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WY3jnohc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdnuhj7dtlor2205samb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WY3jnohc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdnuhj7dtlor2205samb.png" alt="React App hosts on Nimbella 1"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a .include file and specify the file to be included for deployment&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DrDMkNmC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34z286s2g3hlrevlyswi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DrDMkNmC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34z286s2g3hlrevlyswi.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure project.yml for hosting our front-end as below.&lt;br&gt;
React App hosts on Nimbella 3-1&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZR8NSUAJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aruv7qnlwp2qi3hc4s5x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZR8NSUAJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aruv7qnlwp2qi3hc4s5x.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Directory of our Invoice Processor having the React App (front-end) &amp;amp; Serverless function (Back-end) looks as below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dWH6Eo1M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sj4blhjltvab58z6fmrz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dWH6Eo1M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sj4blhjltvab58z6fmrz.png" alt="React App hosts on Nimbella 3-2&amp;lt;br&amp;gt;
"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can deploy our Invoice Processor App by running the below command.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nim project deploy &amp;lt;projectDirectory&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Once completed the host URL of Invoice Processor can be found in CLI as below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8DiE5etl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ymvgzscpyz3iyjh7oc4r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8DiE5etl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ymvgzscpyz3iyjh7oc4r.png" alt="React App hosts on Nimbella 3-3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://boltnew2-doofwstmxcq-apigcp.nimbella.io/"&gt;https://boltnew2-doofwstmxcq-apigcp.nimbella.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Source:&lt;/strong&gt; &lt;a href="https://github.com/boltathi24/nimbella_redis_react_invoice_processor"&gt;https://github.com/boltathi24/nimbella_redis_react_invoice_processor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In Brief: Porting Aws-lambda to Nimbella:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Wrap the AWS-Lambda's functions inside the directory named "packages".&lt;/li&gt;
&lt;li&gt;Wrap the front-end code inside the directory named "web".&lt;/li&gt;
&lt;li&gt;Create a project.yml file and specify the configuration of the serverless function.&lt;/li&gt;
&lt;li&gt;Deploy it to Nimbella using Nimbella's deploy command.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Benefits of Nimbella over AWS-lambda limitations
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Nimbella provides a better developer experience by letting developers focus and invest time on App logic by removing architectural complexity.&lt;/li&gt;
&lt;li&gt;Nimbella supports multi-cloud deployment. Serverless Apps built on Nimbella can be deployed into your choice of cloud provider at any time.&lt;/li&gt;
&lt;li&gt;Nimbella provides integrated monitoring and logging to conveniently access logs and statistics from the terminal. Logging is more centralized and the output of the function won't be feeling disjointed anymore since Logging can be accessed with Nimbella's CLI instead of heading to CloudWatch in AWS.&lt;/li&gt;
&lt;li&gt;Our smart CLI builds the artifacts to be deployed dynamically from the project's configuration file, unlike AWS Lambda where we zip the dependencies for deployment.&lt;/li&gt;
&lt;li&gt;Vendor lock-in is avoided with our multi-cloud deployment feature.&lt;/li&gt;
&lt;li&gt;Most of the popular programming languages are supported by the Nimbella Cloud (e.g., JavaScript, TypeScript, PHP, Python, Java, Go, or Swift, etc.)&lt;/li&gt;
&lt;li&gt;Nimbella lets developers feel themselves developing the end-to-end application by providing a way to deploy front-end (UI) and back-end (API) as a single deployment.&lt;/li&gt;
&lt;li&gt;Nimbella cloud platform is built on an open-source, Apache OpenWhisk. Hence it provides more data security and access control.&lt;/li&gt;
&lt;li&gt;No card details are required. Start with a generous free tier and grow with us.&lt;/li&gt;
&lt;li&gt;Nimbella offers dedicated secure domain, certificate management, CDN, and much more with ease.&lt;/li&gt;
&lt;li&gt;There is no development effort when you switch between cloud providers.&lt;/li&gt;
&lt;li&gt;The learning curve with Nimbella is very simple. You won't be amused with the 'n' number of services like AWS.&lt;/li&gt;
&lt;li&gt;Native support for state with in-memory high-performance data storage(Redis).&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Conclusions
&lt;/h4&gt;

&lt;p&gt;Nimbella is a modern developer-friendly Serverless platform that empowers you to build and run serverless applications in the simplest way. When you look out for alternatives to AWS Lambda, Nimbella suits perfectly and you can port your functions to Nimbella without much effort.&lt;/p&gt;

&lt;p&gt;Please feel free to check out the latest &lt;a href="https://nimbella.com/forrester-report"&gt;Forrester Report&lt;/a&gt; on why Nimbella has been named as a Strong Performer among multiple players in the serverless space. Nimbella is a rising new generation serverless platform that could be considered as a great alternative to AWS and other cloud providers.&lt;/p&gt;

&lt;p&gt;Author details: Athithan Raj P&lt;/p&gt;

&lt;p&gt;Follow him on Twitter: &lt;a href="https://twitter.com/raj_athithan"&gt;@raj_athithan&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;br&gt;
&lt;em&gt;&lt;a href="https://nimbella.com/blog/step-by-step-guide-on-how-to-port-from-aws-to-nimbella"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/"&gt;Nimbella&lt;/a&gt;. Keep an eye out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for the latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>aws</category>
      <category>cloud</category>
    </item>
    <item>
      <title>How to build and improve your serverless APIs</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Thu, 17 Jun 2021 08:26:24 +0000</pubDate>
      <link>https://dev.to/nimbella/how-to-build-and-improve-your-serverless-apis-1im8</link>
      <guid>https://dev.to/nimbella/how-to-build-and-improve-your-serverless-apis-1im8</guid>
      <description>&lt;h2&gt;
  
  
  Current state of the serverless market
&lt;/h2&gt;

&lt;p&gt;Modern software revolves around APIs, making it fundamental for developers to have high-quality and robust tools to create meaningful APIs. Serverless computing provides the speed, reliability, control, and development flexibility they need to rapidly scale up their software application - making it an indispensable tool when building complex workflows and stateful APIs.&lt;/p&gt;

&lt;p&gt;In fact, the demand for serverless computing is so high that the market is estimated to surpass 21 billion worldwide by 2025. Enterprises leveraging serverless platforms, such as Nimbella, will reap the financial and operational benefits as it promises to reduce operational overhead and costs to manage the infrastructure, quicker deployment to market, and an increase in developer productivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our latest conference about serverless
&lt;/h2&gt;

&lt;p&gt;In our last conference we wanted to provide an outlet that will help developers in the space learn more about this emerging technology and how they can leverage it on their own. As such, we hosted a conference called “&lt;a href="https://nimbella.com/webinars/serverless-apis-conference"&gt;Serverless &amp;amp; APIs&lt;/a&gt;,” where we gathered industry experts in the space to educate and discuss with developers how to build and improve serverless APIs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DeXBmEyc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fgzj6la8njq5y4q0qcqv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DeXBmEyc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fgzj6la8njq5y4q0qcqv.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The speakers
&lt;/h3&gt;

&lt;p&gt;The speakers invited included some real experts in the serverless industry like:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Rodric Rabbah&lt;/strong&gt;, Nimbella's very own CTO and co-founder
&lt;/h4&gt;

&lt;p&gt;Rodric talked about “Unleashing the Potential of Stateful Serverless Computing”. Rodric was a Principal Researcher and the technical lead for serverless computing at IBM. He is the creator and the lead contributor to Apache OpenWhisk, an advanced and production-ready serverless computing platform. He was awarded an IBM Outstanding Innovation Award and an IBM Outstanding Accomplishment Award for his leadership and impact on IBM Cloud Functions.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Allen Helton&lt;/strong&gt;, Tyler Technologies' Software Engineering Manager
&lt;/h4&gt;

&lt;p&gt;Who went over “Power Tuning Your Serverless API For Happy Customers”. Allen demonstrated a history of working in the computer software industry. Skilled in Javascript, NoSQL, RESTful API services, and AWS cloud development. Strong engineering professional with a Bachelor of Science (B.S.) focused in Software Engineering from The University of Texas at Dallas.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Keith Casey&lt;/strong&gt;, Okta's API Problem Solver
&lt;/h4&gt;

&lt;p&gt;Keith covered “API Security: When Failure Looks Like Success”. Keith currently serves on the Product Team at Okta working on Identity and Authentication APIs. Pro great things. In his spare time, he helps build and support the Austin tech community, and blogs at CaseySoftware.com. He is also a co-author of “A Practical Approach to API Design” from Leanpub.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;William Lyon&lt;/strong&gt;, Developer Relations Engineer at Neo4j
&lt;/h4&gt;

&lt;p&gt;who discussed “Low Code Serverless GraphQL APIs in A Cloud First World”. William is a software engineer at Neo4j, the open-source graph database, working on database integrations and extensions as part of the Neo4j Labs team. He is also the author of the Manning book "Fullstack GraphQL".&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is serverless the future of developing?
&lt;/h2&gt;

&lt;p&gt;Here are a few key takeaways from the event on unleashing the potential of stateful serverless computing, and how to align and fine tune APIs with serverless technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It's a great way to build software because you don't have to worry about servers, networking, or load balancing.&lt;/strong&gt; The beauty of a serverless API is how many options you have as destinations. Simple API transforms can go straight to the database without executing a serverless function. They scale vertically automatically based on traffic and can handle bursts without issue if your site gets hit with a bunch of traffic at one time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can identify issues and what needs power tuning with out-of-the-box analytics about individual endpoints that come from cloud providers.&lt;/strong&gt; Analytics that tell you which endpoints get hit most often, which ones are slow, and which ones fail more often than others. Businesses can take these metrics and use them to identify problem areas in their application. If an endpoint is hit 60% more than all the others but runs about 30% slower, that's a prime example of an area that needs developer attention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can make significant performance improvements to your serverless APIs in seconds.&lt;/strong&gt; You can allocate more memory and processing power by simply changing a number or moving a slider. You can remove unnecessary serverless functions by going straight to the database. There are a lot of easy tricks you can do that make powerful optimizations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can build highly scalable applications instantly.&lt;/strong&gt; A primary obstacle holding enterprises back is that while many cloud-native serverless platforms are built only for stateless apps, enterprises use a combination of different applications using features like object and file storage, data tools, and more that, without unsustainable DevOps overhead, restrict the potential of any serverless posture. With stateful serverless support, these applications work seamlessly inside the serverless environment, unleashing the full potential of serverless development to deploy across the full network using the full range of business applications an organization needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It frees developers from the burden of infrastructure maintenance so they can focus on coding application logic.&lt;/strong&gt; When developers have to duplicate their efforts two and three times to deploy the same application to separate public clouds, it's a waste of time. By freeing them from this enforced redundancy, they will be able to deliver greater efficiency while working in a manner that's more conducive to creative iteration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With all of the benefits serverless computing offers it's no surprise that the market is expected to grow rapidly; and with the Nimbella Postman Plugin, you can take your APIs into a serverless world seamlessly. The plug-in allows developers to extend the functionality of Postman by adding commands to support an API-first development strategy. This approach allows for rapid prototyping, supports a services ecosystem, and enables automated deployment, testing, and continuous delivery pipelines that are extremely important for modern applications. For Installation and User Guide &lt;a href="https://github.com/nimbella/nimbella-cli-plugins/blob/dev/postman/README.md"&gt;click here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;br&gt;
&lt;em&gt;&lt;a href="https://nimbella.com/blog/how-to-build-and-improve-your-serverless-apis"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/"&gt;Nimbella&lt;/a&gt;. Keep an eye out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for the latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>api</category>
    </item>
    <item>
      <title>How to build and improve your serverless APIs</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Thu, 17 Jun 2021 08:20:18 +0000</pubDate>
      <link>https://dev.to/nimbella/how-to-build-and-improve-your-serverless-apis-50fa</link>
      <guid>https://dev.to/nimbella/how-to-build-and-improve-your-serverless-apis-50fa</guid>
      <description>&lt;h2&gt;
  
  
  Current state of the serverless market
&lt;/h2&gt;

&lt;p&gt;Modern software revolves around APIs, making it fundamental for developers to have high-quality and robust tools to create meaningful APIs. Serverless computing provides the speed, reliability, control, and development flexibility they need to rapidly scale up their software application - making it an indispensable tool when building complex workflows and stateful APIs.&lt;/p&gt;

&lt;p&gt;In fact, the demand for serverless computing is so high that the market is estimated to surpass &lt;a href="https://www.marketsandmarkets.com/Market-Reports/serverless-architecture-market-64917099.html"&gt;21 billion worldwide by 2025&lt;/a&gt;. Enterprises leveraging serverless platforms, such as Nimbella, will reap the financial and operational benefits as it promises to reduce operational overhead and costs to manage the infrastructure, quicker deployment to market, and an increase in developer productivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our latest conference about serverless
&lt;/h2&gt;

&lt;p&gt;In our last conference we wanted to provide an outlet that will help developers in the space learn more about this emerging technology and how they can leverage it on their own. As such, we hosted a conference called “&lt;a href="https://nimbella.com/webinars/serverless-apis-conference"&gt;Serverless &amp;amp; APIs&lt;/a&gt;,” where we gathered industry experts in the space to educate and discuss with developers how to build and improve serverless APIs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4FExz4gQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rb86s67eiiud81eciru.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4FExz4gQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rb86s67eiiud81eciru.jpg" alt="Nimbella Serverless &amp;amp; APIs Conference"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The speakers
&lt;/h3&gt;

&lt;p&gt;The speakers invited included some real experts in the serverless industry like:&lt;/p&gt;

&lt;h4&gt;
  
  
  Rodric Rabbah, Nimbella's very own CTO and co-founder
&lt;/h4&gt;

&lt;p&gt;Rodric talked about “Unleashing the Potential of Stateful Serverless Computing”. Rodric was a Principal Researcher and the technical lead for serverless computing at IBM. He is the creator and the lead contributor to Apache OpenWhisk, an advanced and production-ready serverless computing platform. He was awarded an IBM Outstanding Innovation Award and an IBM Outstanding Accomplishment Award for his leadership and impact on IBM Cloud Functions.&lt;/p&gt;

&lt;h4&gt;
  
  
  Allen Helton, Tyler Technologies' Software Engineering Manager
&lt;/h4&gt;

&lt;p&gt;Who went over “Power Tuning Your Serverless API For Happy Customers”. Allen demonstrated a history of working in the computer software industry. Skilled in Javascript, NoSQL, RESTful API services, and AWS cloud development. Strong engineering professional with a Bachelor of Science (B.S.) focused in Software Engineering from The University of Texas at Dallas.&lt;/p&gt;

&lt;h4&gt;
  
  
  Keith Casey, Okta's API Problem Solver
&lt;/h4&gt;

&lt;p&gt;Keith covered “API Security: When Failure Looks Like Success”. Keith currently serves on the Product Team at Okta working on Identity and Authentication APIs. Pro great things. In his spare time, he helps build and support the Austin tech community, and blogs at CaseySoftware.com. He is also a co-author of “A Practical Approach to API Design” from Leanpub.&lt;/p&gt;

&lt;h4&gt;
  
  
  William Lyon, Developer Relations Engineer at Neo4j
&lt;/h4&gt;

&lt;p&gt;who discussed “Low Code Serverless GraphQL APIs in A Cloud First World”. William is a software engineer at Neo4j, the open-source graph database, working on database integrations and extensions as part of the Neo4j Labs team. He is also the author of the Manning book "Fullstack GraphQL".&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is serverless the future of developing?
&lt;/h2&gt;

&lt;p&gt;Here are a few key takeaways from the event on unleashing the potential of stateful serverless computing, and how to align and fine tune APIs with serverless technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It's a great way to build software because you don't have to worry about servers, networking, or load balancing.&lt;/strong&gt; The beauty of a serverless API is how many options you have as destinations. Simple API transforms can go straight to the database without executing a serverless function. They scale vertically automatically based on traffic and can handle bursts without issue if your site gets hit with a bunch of traffic at one time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can identify issues and what needs power tuning with out-of-the-box analytics about individual endpoints that come from cloud providers.&lt;/strong&gt; Analytics that tell you which endpoints get hit most often, which ones are slow, and which ones fail more often than others. Businesses can take these metrics and use them to identify problem areas in their application. If an endpoint is hit 60% more than all the others but runs about 30% slower, that's a prime example of an area that needs developer attention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can make significant performance improvements to your serverless APIs in seconds.&lt;/strong&gt; You can allocate more memory and processing power by simply changing a number or moving a slider. You can remove unnecessary serverless functions by going straight to the database. There are a lot of easy tricks you can do that make powerful optimizations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can build highly scalable applications instantly.&lt;/strong&gt; A primary obstacle holding enterprises back is that while many cloud-native serverless platforms are built only for stateless apps, enterprises use a combination of different applications using features like object and file storage, data tools, and more that, without unsustainable DevOps overhead, restrict the potential of any serverless posture. With stateful serverless support, these applications work seamlessly inside the serverless environment, unleashing the full potential of serverless development to deploy across the full network using the full range of business applications an organization needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It frees developers from the burden of infrastructure maintenance so they can focus on coding application logic.&lt;/strong&gt; When developers have to duplicate their efforts two and three times to deploy the same application to separate public clouds, it's a waste of time. By freeing them from this enforced redundancy, they will be able to deliver greater efficiency while working in a manner that's more conducive to creative iteration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With all of the benefits serverless computing offers it's no surprise that the market is expected to grow rapidly; and with the Nimbella Postman Plugin, you can take your APIs into a serverless world seamlessly. The plug-in allows developers to extend the functionality of Postman by adding commands to support an API-first development strategy. This approach allows for rapid prototyping, supports a services ecosystem, and enables automated deployment, testing, and continuous delivery pipelines that are extremely important for modern applications. For Installation and User Guide &lt;a href="https://github.com/nimbella/nimbella-cli-plugins/blob/dev/postman/README.md"&gt;click here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nimbella.com/blog/how-to-build-and-improve-your-serverless-apis"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/"&gt;Nimbella&lt;/a&gt;. Keep an eye out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for the latest updates.&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>api</category>
    </item>
    <item>
      <title>Simplifying Kubernetes For Developers</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Wed, 19 May 2021 12:11:34 +0000</pubDate>
      <link>https://dev.to/nimbella/simplifying-kubernetes-for-developers-4iom</link>
      <guid>https://dev.to/nimbella/simplifying-kubernetes-for-developers-4iom</guid>
      <description>&lt;h2&gt;
  
  
  Introduction to Kubernetes Architecture
&lt;/h2&gt;

&lt;p&gt;For the past several years, Kubernetes has been gaining traction among the developers including enterprise developers. Gartner predicts that Container Management will grow to $944 Million by 2024 and Kubernetes is expected to drive the growth. Forrester points out a vibrant &lt;a href="https://www.gartner.com/en/documents/3985796/forecast-analysis-container-management-software-and-serv"&gt;Kubernetes landscape&lt;/a&gt; driven by large-scale adoption of Kubernetes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Kubernetes: solid growth for the coming years
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://www.google.com/url?q=https://www.cncf.io/wp-content/uploads/2020/12/CNCF_Survey_Report_2020.pdf&amp;amp;sa=D&amp;amp;source=editors&amp;amp;ust=1620072217237000&amp;amp;usg=AOvVaw1HHLF_QwRvLCSC1oWb579e"&gt;Cloud Native Survey 2020&lt;/a&gt;  put out by Cloud Native Compute Foundation points out to 300% increase in container adoption since 2016 and an 83% increase of Kubernetes adoption in production. The success of Kubernetes was driven by the developer adoption of container technologies and an operational need for standardization. While Kubernetes offers many benefits, it also offers many challenges which organizations have to overcome to realize optimal ROI.&lt;/p&gt;

&lt;p&gt;In this blog post, we will talk about how the Nimbella platform helps organizations overcome some of the challenges and help improve developer agility, leading to much better ROI for organizations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ukAs1RlF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuk2zuhuqfjfqiximkdv.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ukAs1RlF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tuk2zuhuqfjfqiximkdv.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits &amp;amp; Shortcomings of Kubernetes
&lt;/h2&gt;

&lt;p&gt;Even though container adoption was kickstarted by the developer community, Kubernetes gained more traction among the IT operations and DevOps, mainly driven by the declarative approach to Operations and standardization. Today Kubernetes is used by developers, DevOps, SRE, and IT Operations teams in many large organizations.&lt;/p&gt;

&lt;h3&gt;
  
  
  The strengths of Kubernetes
&lt;/h3&gt;

&lt;p&gt;Some of the benefits of using Kubernetes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Increased agility&lt;/strong&gt; for developers as they can easily package their code and dependencies into containers and push it across the DevOps pipeline&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ability to run both legacy applications&lt;/strong&gt; (through lift and shift) and modern applications under similar environments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standardization of Operations&lt;/strong&gt;, simplifying the cost of IT operations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better resource usage&lt;/strong&gt; as more applications can be packed into the compute units by using containers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  YAML Complexity impacts Developer Productivity
&lt;/h3&gt;

&lt;p&gt;While Kubernetes provides these advantages to both developers and IT operations, it adds significant challenge for developers due to what is known as YAML complexity. As we have pointed out earlier, Kubernetes uses a declarative approach to orchestrating and managing the containers. In order to do it successfully, Kubernetes requires a configuration file in the YAML format.&lt;/p&gt;

&lt;p&gt;A developer wanting to push their application to a Kubernetes cluster will have to define everything about their application, deployment, services, the definition of how states are handled, network, security bindings, etc. using multiple YAML files (as shown in the image below).&lt;/p&gt;

&lt;h4&gt;
  
  
  Kubernetes and complex applications: a difficult relationship
&lt;/h4&gt;

&lt;p&gt;While it may not be complex for simple applications, the YAML configuration files become very complex for complex applications and most enterprise applications. In fact, the Cloud Native Survey 2020 by CNCF points out complexity as the major challenge faced by the users of Kubernetes. This YAML complexity dramatically impacts developer productivity and agility, leading to suboptimal benefits that defeat the very use of Kubernetes by modern enterprises.&lt;/p&gt;

&lt;h4&gt;
  
  
  Lack of Programming Model
&lt;/h4&gt;

&lt;p&gt;Another big challenge with Kubernetes is the lack of an inbuilt programming model that will make it easy for developers to deploy their applications. While Kubernetes operators do a good job in providing a resource model to manage the underlying clusters and some application dependencies, it doesn’t provide developers to easily handle the application dependencies from the programming language of their choice. They will need to rely on third-party libraries to handle these needs, impacting developer productivity and adding unnecessary DevOps overhead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Abstracting Away YAML Complexity from Kubernetes With Nimbella
&lt;/h2&gt;

&lt;p&gt;However, there’s a way of taking advantage of the strengths of Kubernetes without the hassle of the YAML and other limitations. This is called Nimbella.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nimbella helps Developers focus on business logic
&lt;/h3&gt;

&lt;p&gt;If Cloud Computing is about abstracting the infrastructure complexities and making it easy for users, then adding operational overhead for developers and adding friction makes little sense. It is important to provide an abstraction that gives a simple interface for developers so that they focus on the business logic rather than the configuration files needed to deploy applications in a containerized environment.&lt;/p&gt;

&lt;p&gt;Nimbella, a Serverless platform built on top of Kubernetes, tries to solve this challenge and make it frictionless for developers to deploy their applications in a Kubernetes environment. With the Nimbella platform, developers need not worry about the DevOps overhead and focus on innovating at the speed of business. Nimbella provides the developer abstraction that allows developers to easily deploy serverless API by focusing on the code than the operational elements of the underlying container infrastructure or YAML complexity.&lt;/p&gt;

&lt;p&gt;With this abstraction, developer productivity is significantly enhanced and allows them to deploy their applications friction-free, at the speed of business.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nimbella makes cloud-native development seamless
&lt;/h3&gt;

&lt;p&gt;Nimbella also tackles the lack of programming language support from Kubernetes by providing necessary integrations that allow developers to focus on the application code and not worry about managing the application dependencies, further adding to the YAML complexity.&lt;/p&gt;

&lt;p&gt;Nimbella removes the friction point for developers using Kubernetes by giving a seamless Serverless experience. For example, Nimbella’s Netlify addon provides Jamstack developers an easy serverless experience, removing friction and improving productivity.&lt;/p&gt;

&lt;p&gt;Whether you are deploying modern applications that are stateless or stateful enterprise applications, Nimbella takes the pain out of managing the dependencies and the YAML complexity associated with deploying applications that use these dependencies including the state. Enterprises should remove any friction for their developers including any DevOps overhead like the YAML complexity problem of Kubernetes platforms.&lt;/p&gt;

&lt;p&gt;The blog post is authored by Rishidot Research&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About &lt;a href="https://rishidot.com/"&gt;Rishidot Research&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Rishidot Research is the next-gen research and analysis firm focused on helping modern enterprise decision-makers understand and navigate cloud-native and artificial intelligence landscape.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;br&gt;
&lt;em&gt;&lt;a href="https://nimbella.com/blog/simplifying-kubernetes-for-developers"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="http://nimbella.com/"&gt;Nimbella&lt;/a&gt;. Keep an out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is Nimbella and what does it offer?</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Wed, 05 May 2021 07:52:58 +0000</pubDate>
      <link>https://dev.to/nimbella/what-is-nimbella-and-what-does-it-offer-5922</link>
      <guid>https://dev.to/nimbella/what-is-nimbella-and-what-does-it-offer-5922</guid>
      <description>&lt;h2&gt;
  
  
  What is Nimbella and why it was featured in the Forrester report along with the public cloud providers?
&lt;/h2&gt;

&lt;p&gt;There was Twitter buzz regarding the latest annual Forrester report on the most significant FaaS vendors in 2021 where different cloud influencers were asking - what is Nimbella?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cLvKLkPL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rqbwgfth3ofg1x0767fm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cLvKLkPL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rqbwgfth3ofg1x0767fm.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nimbella.com/forrester-report"&gt;Forrester Wave™: Function-As-A-Service Platforms, Q1 2021 report&lt;/a&gt; covers the nine most significant serverless platform providers. Eight out of the nine are the largest public cloud vendors and there is only one startup that made it into the category of the Strong Performers - Nimbella!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lnFcKC3Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4i18vt5etpu51wb9m0jl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lnFcKC3Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4i18vt5etpu51wb9m0jl.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So let us answer the most intriguing questions -&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is Nimbella?&lt;/li&gt;
&lt;li&gt;Why was Nimbella named the strong performer?&lt;/li&gt;
&lt;li&gt;How to start with Nimbella?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Well, let us share more about what is Nimbella, our vision and key features of the Serverless Platform.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Nimbella?
&lt;/h3&gt;

&lt;p&gt;Nimbella is a silicon valley startup that makes serverless development frictionless and portable. Nimbella’s serverless platform unifies the programming experience and provides the necessary abstractions to enable the developers to code once and run on cloud-of-their-choice. It is available as a hosted service and as a full-stack solution on any public or private Kubernetes environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now let me share some key features of the Nimbella Serverless Platform:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We are the only multi-cloud platform → No Vendor lock-in.&lt;/li&gt;
&lt;li&gt;We are based on open standards - Our co-founder and CTO, Rodric Rabbah was the co-creator of Apache OpenWhisk).&lt;/li&gt;
&lt;li&gt;We simplify the developer experience of developing on Kubernetes infrastructure (public or private)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Find more about the Nimbella Serverless Platform: &lt;a href="https://nimbella.com/make-serverless-frictionless-and-portable-whitepaper"&gt;Download The Technical Whitepaper&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why was Nimbella named the strong performer?
&lt;/h3&gt;

&lt;p&gt;The report provides a 40-criterion evaluation of function-as-a-service (FaaS) platforms and identified the nine most significant ones and scored the vendors’ performance across three categories: current offering, strategy, and market presence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Forrester report cites:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“Nimbella fully embraces hybrid cloud with a FaaS-anywhere approach. Like IBM Cloud Functions, Nimbella is based on the open-source Apache OpenWhisk project. Nimbella adds a simple, fast developer onboarding process to a runtime that developers can use in a pure FaaS model, as an installable function platform on other public clouds, or even on-premises. Nimbella delivers this FaaS-anywhere approach with robust container support, broad support for programming languages, and configurable settings for maximum function duration. The result: a FaaS solution that well suits long-running stateful functions.“&lt;/p&gt;

&lt;p&gt;Nimbella uses a cloud-native software stack that delivers a runtime environment for functions and containerized applications. It is available as a hosted, managed service and as a full-stack solution on any public or private Kubernetes environment to fully support an enterprise's multi-cloud strategy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sfxv1CCu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6huseur0bb030dnbvjxm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sfxv1CCu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6huseur0bb030dnbvjxm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nimbella Serverless Platform includes these components:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer Tools - CLI &amp;amp; browser-based tool&lt;/li&gt;
&lt;li&gt;Serverless Compute - functions and containers engine&lt;/li&gt;
&lt;li&gt;Serverless Storage - integrated key-value store and object store&lt;/li&gt;
&lt;li&gt;System Services - Logging, monitoring, tracing and more&lt;/li&gt;
&lt;li&gt;Management Tools - admin CLI and dashboard to manage underlying infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Find out more about Nimbella, an enterprise-grade Serverless Platform by downloading the whitepaper on “The State of Serverless in the Enterprise” by Rishidot Research - &amp;gt; &lt;a href="https://nimbella.com/whitepaper"&gt;Download The Business Whitepaper&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WI-HIoN7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/duav0b7c76qqsvwteybn.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WI-HIoN7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/duav0b7c76qqsvwteybn.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How to start with Nimbella?
&lt;/h3&gt;

&lt;p&gt;Nimbella is available as Nimbella Enterprise and Nimbella Cloud.&lt;/p&gt;

&lt;p&gt;To sign up for Nimbella Cloud simply use your GitHub login (no credit-card required) &lt;a href="https://nimbella.com/signup"&gt;here&lt;/a&gt;.&lt;br&gt;
Contact Nimbella at &lt;strong&gt;&lt;a href="mailto:sales@nimbella.com"&gt;sales@nimbella.com&lt;/a&gt;&lt;/strong&gt; to use &lt;a href="https://nimbella.com/proof-of-concept"&gt;Nimbella Enterprise&lt;/a&gt; which is installable on the cloud-of-your-choice or your private infrastructure.&lt;br&gt;
There is also a &lt;strong&gt;no sign-in (anonymous) &lt;a href="https://apigcp.nimbella.io/wb/?command=playground"&gt;option&lt;/a&gt;&lt;/strong&gt; where you can create, run and share up to ten serverless functions in multiple languages.&lt;/p&gt;

&lt;p&gt;I hope I have answered most of your questions, if not, feel free directly to reach out to me &lt;a href="mailto:agarwal.anshu@nimbella.com"&gt;agarwal.anshu@nimbella.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;br&gt;
&lt;em&gt;&lt;a href="https://nimbella.com/blog/what-is-nimbella-and-what-does-it-offer#well-let-us-share-more-about-what-is-nimbella-our-vision-and-key-features-of-the-serverless-platform"&gt;This blog&lt;/a&gt; was initially published on &lt;a href="http://nimbella.com/"&gt;Nimbella&lt;/a&gt;. Keep an out for this space and follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; for latest updates.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Results and Feedback of FaaS Wars - May the FaaS Be with You!</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Sat, 10 Apr 2021 06:57:03 +0000</pubDate>
      <link>https://dev.to/nimbella/results-and-feedback-of-faas-wars-may-the-faas-be-with-you-4no0</link>
      <guid>https://dev.to/nimbella/results-and-feedback-of-faas-wars-may-the-faas-be-with-you-4no0</guid>
      <description>&lt;p&gt;After a wildly successful FaaS Wars Season 1 that witnessed some awesome robots and extensive global participation, we could not resist hosting another Season right after. If you missed your chance in the previous competition, buckle up because we have another challenging season lined up ahead. &lt;/p&gt;

&lt;p&gt;Prepare yourself for FaaS Wars 2 right away and participate between April 26 - July 26. This time too, you can expect a lot of cool robots, intense battles, and exciting cash prizes. &lt;/p&gt;

&lt;p&gt;Hint: It’s going to be a team competition this time. Start bringing your army together! &lt;/p&gt;

&lt;p&gt;Now, let’s give you a brief about FaaS Wars Season 1 and how it panned out so you can prepare for Season 2.&lt;/p&gt;

&lt;p&gt;Season 1 of FaaS Wars turned out to be truly global. We had participation from countries across the world where maximum participation came from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;India&lt;/li&gt;
&lt;li&gt;Italy&lt;/li&gt;
&lt;li&gt;Russia&lt;/li&gt;
&lt;li&gt;Poland&lt;/li&gt;
&lt;li&gt;United States of America&lt;/li&gt;
&lt;li&gt;Sri Lanka&lt;/li&gt;
&lt;li&gt;Canada &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The purpose of the competition was to initiate developers to learn Serverless while also having fun. We saw more than 1,800 FaaS Warriors and more than 500 awesome robots fight to win the title of the #ServerlessJedi Episode 1.There were 3 episodes in this season and with each passing season, the battles keep getting more intense. &lt;/p&gt;

&lt;p&gt;Developers actively made use of the tutorial videos, written guides, and blog posts that we shared with them throughout the event to improve their chances of winning and quickly learn more about serverless computing. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hrZ-WVAa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/asa32u8yhu74w4i70d1r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hrZ-WVAa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/asa32u8yhu74w4i70d1r.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By the end of the season, we had 2 winners, one of whom won two episodes. &lt;/p&gt;

&lt;h2&gt;
  
  
  What was FaaSWars?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;For those of you who aren’t familiar with FaaS Wars, let us help you with some information.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FaaS Wars was a three-month global robot coding competition&lt;/strong&gt; organized by Nimbella and members of the Apache OpenWhisk community. It was the first season of this competition and was live from Jan 2021 - March 2021 and had three episodes. &lt;/p&gt;

&lt;p&gt;The prize for the competition was a cash prize of up to $1,400, which was divided between the three stages. The winner of the first episode was awarded $200, the second episode winner won $400 and the winner of the third round received $800 in cash prizes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Partners that helped Nimbella during FaaS Wars
&lt;/h3&gt;

&lt;p&gt;Nimbella partnered with several big names like &lt;a href="https://www.incubateind.com/"&gt;Incubate IND&lt;/a&gt;, &lt;a href="https://www.java-mentor.com/"&gt;Java Mentor&lt;/a&gt;, &lt;a href="https://www.apptimia.com/"&gt;Apptimia&lt;/a&gt;, &lt;a href="https://www.meetup.com/JavaScriptMeetup/"&gt;J/S Bangalore meet up group&lt;/a&gt;, &lt;a href="https://www.thisdot.co/"&gt;This Dot Media&lt;/a&gt;, &lt;a href="https://www.meetup.com/Bangalore-CNCF-Meetup/"&gt;Bangalore CNFC meet up group&lt;/a&gt;, &lt;a href="https://www.girlscript.tech/home"&gt;Girlscript.Tech&lt;/a&gt; and &lt;a href="https://www.antstack.io/"&gt;Anstack.io&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  What was FaaS Wars about?
&lt;/h3&gt;

&lt;p&gt;Participants had to code their robots, use functions to guide them on the battlefield, shoot lasers at opponent robots, and defeat them on the battlefield. &lt;/p&gt;

&lt;p&gt;When a battle was fought, the winner of one round progressed to battle with the winner of another battle and the same continued until the final battle. &lt;/p&gt;

&lt;h3&gt;
  
  
  Who were the winners?
&lt;/h3&gt;

&lt;p&gt;The final battle or the season finale was won by Michele Curci from Italy, who was also the winner of our episode 1. Michele was awarded $800 for the season finale and $200 for his victory in episode 1. The name of the robot that Michele used to fight the battles was Cortex2. Michele even supported other players by writing an elaborate blog on how he coded his robot that helped him win. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zSkmbhco--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ya86o1lqihfz4v1uy4cp.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zSkmbhco--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ya86o1lqihfz4v1uy4cp.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;em&gt;The feedback about Nimbella Serverless Platform by Michele Curci, Big Data Backend Developer Presso Almaviva Digitaltec&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Our second winner for episode 2 was Tyler Zerr from the United States who fought the battles with his robot named TooncesV4. We admire the spirit and enthusiasm with which Tyler participated in the competition.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AQZZ4Bwh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/775nf49zaye2x372esz8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AQZZ4Bwh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/775nf49zaye2x372esz8.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;em&gt;The feedback about Nimbella serverless platform by  Tyler Zerr, Systems Analyst SaskTel&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you missed this season, we ask you not to be disheartened as we will soon be launching FaaS Wars Season 2, which will be more challenging and even more fun.&lt;/p&gt;

&lt;h2&gt;
  
  
  May the FaaS be with you!
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;br&gt;
Mihika Pal is an independent marketer working currently with Nimbella and a content writer. She began her career as a hotelier and then moved onto marketing. She is extremely passionate about writing and likes to work independently with brands on their marketing campaigns. You can find her profile on Upwork as one of the Top rated talents in her field. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://nimbella.com/blog/results-and-feedback-of-faas-wars-may-the-faas-be-with-you"&gt;This article&lt;/a&gt; was initially published on &lt;a href="https://nimbella.com/blog"&gt;Nimbella's blog&lt;/a&gt;. To read more such articles, keep an eye out for this space, follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; and visit our &lt;a href="https://nimbella.com/"&gt;website&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>28 Serverless Gurus and experts One Must Follow in 2021
</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Thu, 01 Apr 2021 13:21:00 +0000</pubDate>
      <link>https://dev.to/nimbella/28-serverless-gurus-and-experts-one-must-follow-in-2021-54jd</link>
      <guid>https://dev.to/nimbella/28-serverless-gurus-and-experts-one-must-follow-in-2021-54jd</guid>
      <description>&lt;p&gt;Serverless is a constantly evolving space with something new being discovered every day. Being a relatively newer field, developers and enterprises are constantly learning how Serverless can be made easy and the adoption of Serverless technology can be made faster. &lt;/p&gt;

&lt;p&gt;For the benefit of such learners, we have put together a list of 30 Serverless Experts that any Serverless enthusiast must look out for in 2021. &lt;/p&gt;

&lt;p&gt;Every expert has been carefully evaluated based on their expertise, their contributions to Serverless, their GitHub stars/karma points on Hacker News and other platforms, and what one can learn from them. &lt;/p&gt;

&lt;p&gt;There is no particular order that we have followed and every person mentioned in the list is equally important and valuable. &lt;/p&gt;

&lt;p&gt;Let’s get started with the list. &lt;/p&gt;

&lt;h2&gt;
  
  
  Yan Cui
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NPSLPgp---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pz2rmlxb933etb5dskhm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NPSLPgp---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pz2rmlxb933etb5dskhm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Yan Cui is one of the leading names in the Serverless space and is currently working as the principal consultant at THEBURNINGMONK, Dev advocate at Lumigo. &lt;/p&gt;

&lt;h3&gt;
  
  
  Yan’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;His focus is to help organizations around the world accelerate product and feature development by adopting Serverless technologies and helping them avoid costly mistakes. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;You can find all of his posts around Serverless on his Medium blog and also on his theburningmonk website. Yan Cui aims at helping people understand and adopt Serverless through his podcasts and also through workshops and masterclasses on his page. &lt;/p&gt;

&lt;p&gt;You can follow him on Twitter and LinkedIn to find a lot of good information about Serverless technology.&lt;br&gt;
&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://theburningmonk.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/theburningmonk-com/all-my-posts-on-serverless-aws-lambda-43c17a147f91"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/theburningmonk"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/theburningmonk/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kelsey Hightower
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kwT946jS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6gchlalxo481k4bw4jk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kwT946jS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6gchlalxo481k4bw4jk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Kelsey Hightower is a Staff Developer Advocate at Google, co-chair of KubeCon, the largest Kubernetes conference, and an avid open-source technologist. &lt;/p&gt;

&lt;h3&gt;
  
  
  Kelsey’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He has assumed several technology roles during his career and is one of the leaders in the Kubernetes space. &lt;/p&gt;

&lt;p&gt;Kelsey extensively talks on topics related to Serverless, Kubernetes, open-source, and others and he aims at building simple tools that make life easier. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;Currently, you will often find him talking about an application that will help people come out of debt using common sense. Kelsey has a very minimalistic approach and maintains that on his Twitter feed as well. &lt;br&gt;
&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://medium.com/@kelseyhightower"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/kelseyhightower"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/kelsey-hightower-1357214/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rodric Rabbah
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--92uSAYQk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mj7sinpmflr0pvh0yrlm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--92uSAYQk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mj7sinpmflr0pvh0yrlm.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Rodric Rabbah is the co-founder and CTO of Nimbella. He is also a creator and a lead technical contributor to Apache OpenWhisk. &lt;/p&gt;

&lt;h3&gt;
  
  
  Rodric’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He was a Principal Researcher at IBM, where he created Apache OpenWhisk.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;Rodric takes the lead in several events on Serverless and extensively writes several articles on Serverless cloud computing, and APIs on his blog. &lt;/p&gt;

&lt;p&gt;His efforts are driven towards helping enterprises and developers move ahead in their journey towards Serverless adoption.&lt;br&gt;
&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://rabbah.io/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@rabbah"&gt;Medium&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/rodric/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/rabbah"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Jeremy Daly
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HisiD7Tv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9maijr5409ft2gjjyvgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HisiD7Tv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9maijr5409ft2gjjyvgb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Jeremy has very recently assumed the position of the GM of Serverless Cloud at Serverless Inc. Jeremy's contribution to Serverless has been massive. &lt;/p&gt;

&lt;h3&gt;
  
  
  Jeremy’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Amongst the many topics that Jeremy is an expert in, Serverless comes at the top of his list.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He has spoken in many conferences, written numerous blogs, created several open-source projects, wrote the newsletter Off-by-none, and even wrote a Serverless musical!&lt;/p&gt;

&lt;p&gt;His focus is on helping others learn and adopt Serverless along with programming and product management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://www.jeremydaly.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@jeremydaly"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/jeremy_daly"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/jeremydaly/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Slobodan Stojanović
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cFZ1b-V6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ew6puaq51nggds8h7atg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cFZ1b-V6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ew6puaq51nggds8h7atg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Slobodan is the CTO of Vacation Tracker and Cloud Horizon, and also the organizer of the JSBelgrade Meetup group. &lt;/p&gt;

&lt;h3&gt;
  
  
  Slobodan’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He is an AWS Serverless Hero, Claudia.js core team member, and co-author of Serverless Applications with Node.js book.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;Slobodan writes many articles on Serverless and Node. You can find most of his articles on his website. &lt;/p&gt;

&lt;p&gt;You can also learn from his several talks that he has delivered on Serverless, Serverless architecture, and others, all of which are present on his personal website. &lt;br&gt;
&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://slobodan.me/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@slobodan"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/slobodan_"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/sstojanovic/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tom McLaughlin
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---qilEWK0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8tx77v5l9exwct9ikrp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---qilEWK0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8tx77v5l9exwct9ikrp3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Tom McLaughlin is the founder of SeverlessOps and a leading Serverless Advocate in the DevOps community. &lt;/p&gt;

&lt;h3&gt;
  
  
  Tom’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;His company is a consulting firm that provides Serverless infrastructure training and advisory services for DevOps transformations. &lt;/p&gt;

&lt;p&gt;It was his curiosity of what would happen if servers were gone that got him digging deeper.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;Tom has authored the book Serverless DevOps and also writes some great articles on his blog, ServerlessOps. He also delivers many talks on Serverless infrastructure.&lt;/p&gt;

&lt;p&gt;He focuses on the operational aspects of Serverless and you can learn the challenges associated with it, and how the responsibilities of Operations Engineers are changing.&lt;br&gt;
&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://medium.com/@tmclaugh"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/tmclaughbos"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/tmclaugh/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sam Kroonenberg
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n08WdIq1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2n5p90bx6en92rhr1z11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n08WdIq1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2n5p90bx6en92rhr1z11.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Sam Kroonenberg and his brother Ryan Kroonenburg, co-founded A Cloud Guru, a startup that has changed the technical training paradigm. &lt;/p&gt;

&lt;h3&gt;
  
  
  Sam’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Their online platform has trained students across the world in AWS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He actively speaks and writes about Serverless, cloud computing. You can find his work, videos, and contributions to the Serverless community on the official ACG blog.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://medium.com/@samkroon"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/samkroon"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/skroonenburg/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ryan Kroonenburg
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L180HMk2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yidzwhzd2zz69lk2ctya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L180HMk2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yidzwhzd2zz69lk2ctya.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Ryan Kroonenburg is the brother of Sam Kroonenburg, who together founded A Cloud Guru, the platform that trains beginners as well as professionals to become experts in the cloud.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ryan’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He knows the world of the cloud inside out and is confident that his courses are like no other. &lt;/p&gt;

&lt;p&gt;ACG has truly shifted the trend in technical training. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;You can find his courses on Udemy. Ryan is also the co-founder of Serverless Conf and is extremely passionate about Serverless.&lt;/p&gt;

&lt;p&gt;You can find his blogs, videos, and talks on Serverless, cloud computing, and AWS across the internet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://medium.com/@RyanKroonenburg"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/kroonenburgryan"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/acloudguru/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Danilo Poccia
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KUIR9KRt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y89s436pcgbwhe75xj3k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KUIR9KRt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y89s436pcgbwhe75xj3k.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Danilo Poccia is the Chief Evangelist (EMEA) at AWSCloud and specializes in Serverless, IoT, AI/ML analytics among others. &lt;/p&gt;

&lt;h3&gt;
  
  
  Danilo’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Danilo works with companies and startups of all sizes, works on Serverless architecture, technical programming, and business innovation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;You can read his book AWS Lambda in Action, a book about event-driven Serverless Applications. He also writes and speaks on Serverless and you can find all his work on his website.&lt;/p&gt;

&lt;p&gt;Danilo helps bring ideas to life and you can learn how to do exactly that using Serverless from him.&lt;br&gt;
&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://www.danilop.net/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@danilop"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/danilop"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/dpoccia"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paul Johnston
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rSZLFT73--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hy7lsdcrlwtj2ljag8ll.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rSZLFT73--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hy7lsdcrlwtj2ljag8ll.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Paul’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Paul Johnston had previously co-founded the ServerlessDays and then moved to providing Interim CTO services, Advisory, Due Diligence, Technology, and Cloud Consulting Services, and cutting edge Cloud and Serverless strategic consulting and development services to companies around the world.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He actively contributes to the Serverless community by publishing some great content on his Medium Blog.&lt;/p&gt;

&lt;p&gt;You can also find many of his talks on YouTube where he extensively talks and educates people about Serverless.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://pauldjohnston.medium.com/"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/PaulDJohnston"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/padajo/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ajay Nair
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pCdeUJZs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zqjuy1g8glfjv2vyp3yk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pCdeUJZs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zqjuy1g8glfjv2vyp3yk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Ajay Nair is the General Manager of the Lamda Experience at AWS. &lt;/p&gt;

&lt;h3&gt;
  
  
  Ajay’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He has delivered several talks on Serverless, Serverless architecture, Serverless considerations amongst others.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He has also co-authored the book Serverless Architectures on AWS and writes extensively on his tweets about Serverless and keeps offering updates and opinions on the same.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://twitter.com/ajaynairthinks"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ajnair/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Marcia Villalba
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O08p89kQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adxsx823wjxbho4qxbs2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O08p89kQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adxsx823wjxbho4qxbs2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Marcia has been in the software industry for over 10 years now and currently works as a full-stack developer at Rovio. &lt;/p&gt;

&lt;h3&gt;
  
  
  Marcia’s expertise and what you can learn from her:
&lt;/h3&gt;

&lt;p&gt;She also owns her consultancy firm Unicorn.codes that help companies migrate to Serverless by educating them or providing hands-on help.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find her work:
&lt;/h3&gt;

&lt;p&gt;Marcia has a YouTube channel by the name FooBar where she focuses on teaching AWS Serverless technologies through fun videos. &lt;/p&gt;

&lt;p&gt;You can also find lots of courses by her on Serverless in English and Spanish. &lt;/p&gt;

&lt;p&gt;Along with the many titles, she has won, she is also a Serverless Champion and a co-organizer of the Finland AWS User Group.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find her here:&lt;/strong&gt; &lt;a href="http://marciavillalba.com/static/"&gt;Website&lt;/a&gt;, &lt;a href="https://www.youtube.com/channel/UCSLIvjWJwLRQze9Pn4cectQ"&gt;YouTube&lt;/a&gt;, &lt;a href="https://medium.com/@marciavillalba"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/mavi888uy"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/marciavillalba/"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Ben Kehoe
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eGqAgffy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5f6ae5bicusislgs0kdw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eGqAgffy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5f6ae5bicusislgs0kdw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Ben Kehoe is a Cloud Robotics Research Scientist at iRobots making Serverless Roombas. &lt;/p&gt;

&lt;h3&gt;
  
  
  Ben’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;While he works on using the internet to enable robots to do better things, he focuses on developing businesses through Serverless applications. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He avidly writes and speaks about Serverless and discusses its applications, the future and the present, and how it could benefit businesses. &lt;/p&gt;

&lt;p&gt;His Twitter feed is also quite interesting with lots of information on Serverless along with his blog on Medium.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://ben11kehoe.medium.com/"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/ben11kehoe"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ben11kehoe/"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Charity Majors
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AGJA19LN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dv91yds8cb8km5amtner.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AGJA19LN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dv91yds8cb8km5amtner.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Charity Majors is currently the CEO and Co-founder of Honeycomb but previously she served as an operations and database engineer for several years. &lt;/p&gt;

&lt;h3&gt;
  
  
  Charity’s expertise and what you can learn from her:
&lt;/h3&gt;

&lt;p&gt;She is enthusiastic about several topics all related to computers and speaks on several topics including Serverless, CloudOps, AWS, debugging databases, and many more.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find her work:
&lt;/h3&gt;

&lt;p&gt;You can find her articles on her blog where she has a separate page where she talks about Serverless and all things related. &lt;/p&gt;

&lt;p&gt;You can also often find interesting pieces written by her about Serverless on her tweets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://charity.wtf/"&gt;Website&lt;/a&gt;, &lt;a href="https://twitter.com/mipsytipsy"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/charity-majors/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Julian Wood
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--24U9loYG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vk6p3703xiw15c5y7rep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--24U9loYG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vk6p3703xiw15c5y7rep.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Julian Wood currently works as the Serverless Developer Advocate and his motto is to make the world fall in love with Serverless. &lt;/p&gt;

&lt;h3&gt;
  
  
  Julian’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;You can find his Twitter feed loaded with tweets and reshares about interesting things about Serverless, AWS Lamda functions, and Cloud.&lt;/p&gt;

&lt;p&gt;Julian also receives a lot of praises for the presentations and talks he delivers and he speaks a lot about Serverless. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;You can find many of his articles on his blog. Julian is also one of the lead contributors on Serverless Land. &lt;/p&gt;

&lt;p&gt;Developers can learn how to transform the way they build their applications using Serverless technologies from him.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="http://www.wooditwork.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://twitter.com/julian_wood"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/julianrwood/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adam Johnson
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I-pcZ8kM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xxvtlih7c8xnpj761hd7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I-pcZ8kM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xxvtlih7c8xnpj761hd7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Adam Johnson is the former co-founder of IOpipe which was acquired by New Relic and specialized in monitoring and observability for AWS Lamba Serverless applications. &lt;/p&gt;

&lt;p&gt;He now is the Principal Product Manager at New Relic Serverless where he is helping developers build modern applications on Serverless. &lt;/p&gt;

&lt;h3&gt;
  
  
  Adam’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Adam and his IOpipe co-founder Erica Windisch are highly experienced in the field of Serverless and they help enterprises gain granular views into their Serverless applications to troubleshoot applications. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;You must look out for Adam's tweets as they are very relevant, informative and some of the best out there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://adamj.eu/projects/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@adam_iopipe"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/adjohn"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/adjohn/"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Erica Windisch
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n2nQ_DVa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52wg3c5ir0yq8u1ne2a9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n2nQ_DVa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52wg3c5ir0yq8u1ne2a9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Erica Windisch and Adam Johnson together formed IOpipe which was then taken over by New Relic during which Erica along with Adam joined the New Relic team and is now the Principal Engineer at New Relic. &lt;/p&gt;

&lt;h3&gt;
  
  
  Erica’s expertise and what you can learn from her:
&lt;/h3&gt;

&lt;p&gt;Erica has been helping organizations maximize the benefits of Serverless applications, speed up debugging processes, and building tools to help companies adopt Serverless. &lt;/p&gt;

&lt;p&gt;Since 2002, Erica has been innovating cloud computing technologies. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find her work:
&lt;/h3&gt;

&lt;p&gt;She actively speaks at Serverless events and also maintains her blog on Medium where she talks about how their technologies could help enterprises as well as developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find her here&lt;/strong&gt;: &lt;a href="https://medium.com/@ewindisch"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/ewindisch"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ewindisch/"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Srushith R
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0q3uEHnt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/009kov60o19sl7f3nvyz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0q3uEHnt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/009kov60o19sl7f3nvyz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Srushith is the Head of Engineering at Konfhub Technologies. &lt;/p&gt;

&lt;h3&gt;
  
  
  Srushith’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He is passionate about building Serverless applications and sharing experiences at various events across the globe and believes that Serverless is the future of software development and the way applications will be built moving forward. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He has started Serverless Saturdays, a monthly webinar focusing on everything Serverless aimed at helping developers kickstart their Serverless journey. &lt;/p&gt;

&lt;p&gt;He has also recently founded the Tirupati AWS User Group and also started the first Serverless-focused meetup group in Bangalore, India. Developers can follow him to get started with their journey towards Serverless.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://medium.com/@srushithr"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/SrushithR"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/srushith/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Allen Helton
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7TGDGzpP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p2c15kwykmyhpy188mei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7TGDGzpP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p2c15kwykmyhpy188mei.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Allen Helton is a Software Engineering Manager at Tyler Technologies with a demonstrated history of working in the computer software industry. &lt;/p&gt;

&lt;h3&gt;
  
  
  Allen’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;His focus lies in proper API development, Serverless technology, cloud development, and AWS.&lt;/p&gt;

&lt;p&gt;He also works closely with the companies Postman and The Open API Initiative. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;You can follow his blog on Medium where he writes extensively about Serverless, Cloud, best practices, and updates. &lt;/p&gt;

&lt;p&gt;Allen also often speaks on Serverless on different platforms and helps the community on platforms like Dev.to by answering queries and loves sharing his knowledge on his blog Ready, Set, Cloud!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://dev.to/allenheltondev"&gt;Dev.to&lt;/a&gt;, &lt;a href="https://allenheltondev.medium.com/"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/allenheltondev"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/allen-helton-85aa9650/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rob Allen
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3Yi1hc3l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/favmf80q7oacjacknglg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3Yi1hc3l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/favmf80q7oacjacknglg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Rob Allen is a software consultant and developer with many years of experience in a variety of interesting languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rob’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He's particularly interested in APIs and the ecosystem around them and contributes to Apache OpenWhisk, rst2pdf &amp;amp; Slim Framework along with other open-source projects. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;Rob is a published author and based in the UK where he runs Nineteen Feet Limited, focussing on API development, training, and consultancy. &lt;/p&gt;

&lt;p&gt;In his spare time, Rob blogs at akrabat.com and can often be seen with a camera in his hand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://akrabat.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@akrabat"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/akrabat"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/akrabat"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pavan Belagatti
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8wA7FSfK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fhxpcnhgohiqjlxxqklc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8wA7FSfK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fhxpcnhgohiqjlxxqklc.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Pavan Belagatti works as the Growth Manager &amp;amp; DevOps Advocate at Shippable and for the DevOps and Community Engagement at JFrog. &lt;/p&gt;

&lt;h3&gt;
  
  
  Pavan’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He is very enthusiastic about DevOps and is also a tech storyteller who writes avidly on his Medium Blog. He is a Google certified digital marketing professional. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He has written over 100 articles on the topic of DevOps alone, also writes about growth hacking for startups, personal branding, and motivation. &lt;/p&gt;

&lt;p&gt;Pavan aims to bridge the gap between marketing and tech. &lt;/p&gt;

&lt;p&gt;He contributes extensively on platforms worldwide, some of them being Linux Foundation, DZone, The Next Web, Influencive, Thrive Global, Tech in Asia, Entrepreneur Magazine, Computer Weekly. All his work on Kubernetes and DevOps on his blog are in the form of very interesting stories.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://medium.com/@pavanbelagatti"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/pavan_belagatti"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/pavan-belagatti-growthmarketer/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keith Casey
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YX1BarWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1ofy3tgd91jjwe2mw07.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YX1BarWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1ofy3tgd91jjwe2mw07.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Keith Casey currently serves on the Product Team at Okta working on Identity and Authentication APIs. &lt;/p&gt;

&lt;h3&gt;
  
  
  Keith’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Previously, he served as an early Developer Evangelist at Twilio and before that worked on the Ultimate Geek Question at the Library of Congress. &lt;/p&gt;

&lt;p&gt;His underlying goal is to get good technology into the hands of good people to do great things. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;In his spare time, he helps build and support the Austin tech community, and blogs at CaseySoftware.com. He is also a co-author of “A Practical Approach to API Design” from Leanpub.&lt;br&gt;
Find me here: &lt;a href="https://twitter.com/CaseySoftware"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/caseysoftware/"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Michele Sciabarra
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iF-o5yRE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z0km9xg59k5builzzpmv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iF-o5yRE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z0km9xg59k5builzzpmv.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Michele is currently the CEO of a consultancy firm focused on Kubernetes and Serverless, sciabarra.com. He is also the Area Manager for Nimbella Europe where he focuses on building the core products. &lt;/p&gt;

&lt;h3&gt;
  
  
  Michele’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Michele has authored the book O'Reilly in which he demonstrates how to build a Serverless application using classical design patterns and the programming language. &lt;/p&gt;

&lt;p&gt;He is one of the most influential and knowledgeable figures in the Serverless space and publishes articles and training guides extensively on several platforms.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;Michele has a huge following on LinkedIn where he shares great insights and updates about Serverless, deep learning, and other technology updates. You can learn everything about Serverless by following his guides, reading his articles, shares and by following his work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://sciabarra.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@msciabarra"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/sciabarracom"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/msciab/"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Benjamin Smith
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XYk0emAi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qs7n6sa3b6h6nq4wt2kc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XYk0emAi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qs7n6sa3b6h6nq4wt2kc.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Ben is also a senior developer advocate for Serverless Applications at Amazon Web Services based in London, UK.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benjamin’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Previously, he has worked extensively in Workflow automation and web development which shows that he is passionate about Serverless, open-source technology, and automation.&lt;/p&gt;

&lt;p&gt;You can learn from him how Serverless technologies can be made more accessible for PHP developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;A lot of Benjamin's tweets on Twitter talk about Serverless, the latest developments, and tips to help the community with Serverless technologies. &lt;/p&gt;

&lt;p&gt;He is also one of the lead contributors on Serverless Land and delivers talks and numerous great articles on Serverless, PHP, and adoption of Serverless technologies. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://twitter.com/benjamin_l_s"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/bensmithportfolio/"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  James Thomas
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OzYB2mK6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y8n71p0036323tgcj9mc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OzYB2mK6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y8n71p0036323tgcj9mc.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
James is currently an independent Software Consultant and has worked with IBM previously for 13 years. He specializes in Cloud Application Development and Serverless. &lt;/p&gt;

&lt;h3&gt;
  
  
  Jame’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;His last role at IBM was that of a Lead Developer Advocate for Serverless at IBM Cloud. James is an open-source committer and PMC member on Apache OpenWhisk.&lt;/p&gt;

&lt;p&gt;He is the co-founder of the Serverless Days London Conference series after which he created the Serverless Days movement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;James widely posts on his blogs on several Serverless topics and also speaks at conferences worldwide. You can find a lot of information on Serverless and the latest developments through the conference videos all on Youtube.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://jamesthom.as/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@jamesthom.as"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/thomasj"&gt;Twitter&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Rowan Udell
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y_z9kuI4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvztd8cnc3utksqiyuzz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y_z9kuI4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvztd8cnc3utksqiyuzz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Rowan Udell is a Cloud Practise Director at Versent and is enthusiastic about Serverless, DevOps, software development, CI/CD, and AWS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rowan’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Rowan also launched a course by the name The Serverless Framework: Build a Chatbot on the A Cloud Guru Platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He has co-authored the book The AWS Administration Cookbook and also spoken on several topics about Serverless. &lt;/p&gt;

&lt;p&gt;You can find all his talks and videos on his blog and also catch his podcast on Cloud and Serverless under podcasts. His articles are some of the best informational ones out there on Serverless.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://blog.rowanudell.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://twitter.com/elrowan"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/rowanu/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Forrest Brazzeal
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hvZ5F_xD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zp13kot0876sx8krpr0z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hvZ5F_xD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zp13kot0876sx8krpr0z.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Forrest Brazzeal is currently a senior manager at A Cloud Guru, he spent years designing applications for the cloud at Infor and Trek10 and led Serverless projects. &lt;/p&gt;

&lt;h3&gt;
  
  
  Forrest’s expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;He hosted the Think FaaS Serverless podcast at Trek10. Forrest is also a cartoonist and has created the comic FaaS and Furious.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;He is also one of the original Amazon Serverless Heroes and currently interviews big names for the Serverless Heroes Series at A Cloud Guru. &lt;/p&gt;

&lt;p&gt;He also speaks and writes extensively on cloud computing and you can find his work on his blog as well as Trek 10 and ACG websites. You can learn a lot from him about FaaS and cloud computing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://forrestbrazeal.com/"&gt;Website&lt;/a&gt;, &lt;a href="https://medium.com/@forrestbrazeal"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/forrestbrazeal"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/forrestbrazeal/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chris Munns
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dFql-Ei0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/los5dhrv9fopyyl98bkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dFql-Ei0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/los5dhrv9fopyyl98bkb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Chris Munns is the Lead Developer Advocate for Serverless Applications at Amazon Web Services.&lt;/p&gt;

&lt;h3&gt;
  
  
  Chris’ expertise and what you can learn from him:
&lt;/h3&gt;

&lt;p&gt;Chris writes some of the best articles on topics related to Serverless. &lt;/p&gt;

&lt;h3&gt;
  
  
  Where you can find his work:
&lt;/h3&gt;

&lt;p&gt;You can also find his articles on the Serverless Land blog where is one of the lead contributors. &lt;/p&gt;

&lt;p&gt;He is known to speak at many conferences and meetups in the Serverless Community in many different communities. He is also interested in and talks about other topics including DevOps and Cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find him here:&lt;/strong&gt; &lt;a href="https://chrismunns.com/"&gt;Website&lt;/a&gt;,&lt;a href="https://medium.com/@chrismunns"&gt;Medium&lt;/a&gt;, &lt;a href="https://twitter.com/chrismunns"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/chrismunns/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That’s about it. Follow these Serverless Experts and grow your understanding of Serverless easily.&lt;/p&gt;

&lt;h3&gt;
  
  
  Author:
&lt;/h3&gt;

&lt;p&gt;Mihika Pal is an independent marketer working currently with Nimbella and a content writer. She began her career as a hotelier and then moved onto marketing. She is extremely passionate about writing and likes to work independently with brands on their marketing campaigns. You can find her profile on Upwork as one of the Top rated talents in her field. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;This blog was initially published on &lt;a href="https://nimbella.com/blog/28-serverless-gurus-and-experts-one-must-follow-in-2021"&gt;Nimbella's blog&lt;/a&gt;. To read more such articles, keep an eye out for this space, follow us on &lt;a href="https://twitter.com/nimbella"&gt;Twitter&lt;/a&gt; and visit our &lt;a href="http://nimbella.com/"&gt;website&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>CI/CD pipeline with GitHub Actions</title>
      <dc:creator>nimbella</dc:creator>
      <pubDate>Thu, 11 Mar 2021 07:00:08 +0000</pubDate>
      <link>https://dev.to/nimbella/ci-cd-pipeline-with-github-actions-26ib</link>
      <guid>https://dev.to/nimbella/ci-cd-pipeline-with-github-actions-26ib</guid>
      <description>&lt;p&gt;In this blog, we are going to learn step-by-step how to set up a Serverless CI/CD pipeline on Nimbella using GitHub Actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is CI/CD?
&lt;/h2&gt;

&lt;p&gt;Continuous Integration refers to the practice of creating a build as a new code. Comment end is committed to running automated tests against that build to verify that everything works correctly.&lt;/p&gt;

&lt;p&gt;Github-ci-cd: &lt;a href="https://docs.github.com/en/actions/guides/about-continuous-integration"&gt;https://docs.github.com/en/actions/guides/about-continuous-integration&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continuous Delivery is the practice of automatically deploying code to production. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iDp-lP1W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c0n5z46kazzxd5g7z4fa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iDp-lP1W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c0n5z46kazzxd5g7z4fa.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;CI/CD Flow&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;CI/CD pipeline is one of the best practices for DevOps teams to implement, for delivering code changes more frequently and reliably.&lt;/p&gt;

&lt;h3&gt;
  
  
  CI/CD with GitHub Actions on Nimbella
&lt;/h3&gt;

&lt;p&gt;GitHub Actions let you build, test, and deploy your code right from GitHub.&lt;/p&gt;

&lt;p&gt;Nimbella is a modern serverless platform in which CI/CD can be implemented with modern CI/CD Pipeline GitHub actions that result in saving developers time and effort. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rSU1kTvl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ypo4z2rf4i7iwfvahk3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rSU1kTvl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ypo4z2rf4i7iwfvahk3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;CI/CD on Nimbella using GitHub Actions&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We can implement CI/CD pipeline on Nimbella using GitHub Actions with the below steps. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build the App.&lt;/li&gt;
&lt;li&gt;Write an Automated Test for the App.&lt;/li&gt;
&lt;li&gt;Set-up CI/CD using GitHub Action.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1. Build the App
&lt;/h4&gt;

&lt;p&gt;Please consider that we are going to build a real-time URL shortener app. We can create our shortener app with Node.js as backend and React.js as frontend which can be deployed into Nimbella Serverless Platform as mentioned in the article below. &lt;br&gt;
How to deploy Node.js functions on Nimbella. &lt;/p&gt;

&lt;p&gt;We may set up a free mongo DB cluster as Database for our app by referring to Get Started with Atlas.&lt;/p&gt;

&lt;p&gt;Please note that to run this application, you'll need to have Git, Node.js, and NPM already installed.&lt;/p&gt;

&lt;p&gt;Let’s clone the code into our local directory using the below command.&lt;/p&gt;

&lt;p&gt;git clone &lt;a href="https://github.com/bolt-hub/github-ci-cd-nimbella-shortener.git"&gt;https://github.com/bolt-hub/github-ci-cd-nimbella-shortener.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The directory having the code for our shortener app looks as below:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DGHW9lEc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pn2xuy006l6aruaj1o5r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DGHW9lEc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pn2xuy006l6aruaj1o5r.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Project Directory of Shortener App&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Write Automated Test for the App
&lt;/h4&gt;

&lt;p&gt;Automated testing enables continuous testing and ensures that bugs get found early and are fixed before the end-users experience any breaks.&lt;br&gt;
Please consider that we are going to write our automated test with the popular Jest Framework. Let’s execute the below commands from the root of the project directory to install npm packages for the Jest framework.&lt;/p&gt;

&lt;p&gt;npm init -y &lt;/p&gt;

&lt;p&gt;npm install --save-dev jest mongoose nanoid dotenv&lt;/p&gt;

&lt;p&gt;Create Jest configuration files i.e, jest.config.js &amp;amp; jest.setup.js, and change the test script defined in package.json to run the Jest binary. Now when we run the test script, this Jest command is going to run.&lt;/p&gt;

&lt;p&gt;After updating the Jest test run command in package.json, it looks as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tE83gDUO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/msa42alh8a57h02t2nwn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tE83gDUO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/msa42alh8a57h02t2nwn.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Package.json after updating test Run command&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Create a test file that validates test cases for the app using Jest Framework as below.&lt;/p&gt;

&lt;p&gt;const { Mongoose } = require("mongoose");&lt;br&gt;
const app = require("./index");&lt;br&gt;
const mongoose = require('mongoose')&lt;br&gt;
describe("Validates Response when URL Shortener is Requested", () =&amp;gt; {&lt;br&gt;
 test("Validates Response URL shortener for Positive flow", async () =&amp;gt; {&lt;br&gt;
   var requestBody = {&lt;br&gt;
     actual_url:&lt;br&gt;
       "&lt;a href="https://nimbella.com/blog/how-to-deploy-node-js-functions-on-nimbella"&gt;https://nimbella.com/blog/how-to-deploy-node-js-functions-on-nimbella&lt;/a&gt;",&lt;br&gt;
   };&lt;br&gt;
   var appResponse = await app.main(requestBody);&lt;/p&gt;

&lt;p&gt;expect(appResponse.body.success).toBe(true);&lt;br&gt;
   expect(appResponse.statusCode).toBe(200);&lt;br&gt;
 });&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;afterAll(async done =&amp;gt; {&lt;br&gt;
 // Closing the DB connection allows Jest to exit successfully.&lt;br&gt;
 mongoose.connection.close();&lt;br&gt;
 done();&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;After writing test validation for our serverless action, the directory will look as below:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KEwwPlZs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h2938cz5o6t4vcjcfkeq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KEwwPlZs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h2938cz5o6t4vcjcfkeq.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Directory Structure after Adding Automated Tests&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Set-up CI/CD using GitHub Action
&lt;/h4&gt;

&lt;p&gt;Create a new Repository in GitHub. Navigate to the Actions tab on this repository and set up a basic workflow.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aAo_KnSy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0hk7ja3p09nc0d54ytuu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aAo_KnSy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0hk7ja3p09nc0d54ytuu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;GitHub Actions Link on Repository&lt;/em&gt;&lt;br&gt;
Let's clone our new repo which has default GitHub actions and move the code for Shortener into this.&lt;/p&gt;

&lt;p&gt;We can get a non-expiring token to deploy our app into Nimbella by running the below command on &lt;a href="https://nimbella.com/blog/how-to-set-up-your-serverless-environment-and-get-started-in-less-than-2-minutes"&gt;nim CLI&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
nim auth export --non-expiring&lt;/p&gt;

&lt;p&gt;Copy the token generated from the above command and add it as a GitHub secret. Also, add the environment variables of serverless action as GitHub secrets as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2h5ryVww--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/180bdu97gejq3frrugcp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2h5ryVww--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/180bdu97gejq3frrugcp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Configuring GitHub Secrets&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The final step of configuring the Specification CI/CD pipeline on Nimbella using GitHub Action is to modify the YAML file under ./GitHub/workflows as per our deployment specifications as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hfc-ycHV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q6jtnt0yhxnmwer1986o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hfc-ycHV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q6jtnt0yhxnmwer1986o.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;GitHub Actions YAML Specification&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Once the above configuration is specified, whenever code changes are pushed to the repository, GitHub Action will trigger the configured CI/CD Pipeline/workflow to achieve CI/CD.&lt;/p&gt;

&lt;p&gt;Let’s test the CI/CD workflow by pushing the code to the repository. After pushing the code changes, if we check-out the “Actions” tab of the repository, it will look as below which indicates that CI/CD workflow has been triggered.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a_vQmLZY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tiyefy1617g0q04zt637.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a_vQmLZY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tiyefy1617g0q04zt637.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;GitHub Actions Triggers Workflow&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AR1KGtPl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5dlfhrzj7kkh1r1ycn0k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AR1KGtPl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5dlfhrzj7kkh1r1ycn0k.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Successful Job Run through GitHub Actions&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  In Brief and to Sum-up:
&lt;/h3&gt;

&lt;p&gt;Build your code as per Nimbella’s serverless framework structure&lt;br&gt;
Create Automated Test to validate serverless action&lt;br&gt;
Create a GitHub Repo and navigate to the Actions tab of the Repo and set up a sample GitHub workflow.&lt;br&gt;
Configure Nimbella’s Auth token &amp;amp; environment variables under GitHub Secrets of the same Repo.&lt;br&gt;
Modify the GitHub action’s YAML file to test deploy the app using nim CLI.&lt;br&gt;
Push/Pull (as mentioned in the YAML file) the code to trigger the workflow.&lt;/p&gt;

&lt;h4&gt;
  
  
  GitHub Source: &lt;a href="https://github.com/bolt-hub/github-ci-cd-nimbella-shortener.git"&gt;https://github.com/bolt-hub/github-ci-cd-nimbella-shortener.git&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Please feel free to experiment with CI/CD workflow on Nimbella using the above example with few steps given below.&lt;br&gt;
1.Create a Nimbella Account and install nim CLI.&lt;br&gt;
2.Create a new Github Repo and configure the environment variables &amp;amp; Nimbella’s Auth token as GitHub secrets on the same Repo.&lt;br&gt;
3.Clone the above code from Git and push it to your newly created Repo. Once the workflow run has been completed, you may check-out your live URL shortener as below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4dyDxxb5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qsycsavviejdlna7lmgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4dyDxxb5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qsycsavviejdlna7lmgu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Deployment Log info&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3k-9QWdD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ahscc60gw02n2pit8b6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3k-9QWdD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ahscc60gw02n2pit8b6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://nimbella.com/blog/ci/cd-pipeline-with-github-actions"&gt;This article&lt;/a&gt; was originally published on &lt;a href="https://nimbella.com/blog"&gt;Nimbella's blog&lt;/a&gt;. If you would like to read more such articles, visit our &lt;a href="https://nimbella.com/"&gt;website&lt;/a&gt; to find the blog.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Also, follow us on Twitter &lt;a href="https://twitter.com/nimbella"&gt;@nimbella&lt;/a&gt; to never miss an update from us again.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
