Image for post
Image for post

Moving on from legacy monolithic coding patterns to a distributed micro-service design approach can get tricky. You can’t possibly account for all complications that might happen, but arming yourself with basic knowledge can significantly help your serverless journey. Let’s explore certain prime areas of focus when moving to serverless.

Function Design:

Breaking down a giant application into individual functions that perform only one specific task is the mantra for serverless design, but determining which service deserves its independent function is key.

Points to consider when designing functions:

1. Understand your function’s use with reference to the end user’s interaction. Does it perform a singular, efficient task that serves its role in the overall scheme? …


Image for post
Image for post

Load testing is an important part when you are designing any type of application, whether it is traditional EC2 based, container-based, or a complete serverless application.

Why is Load Testing important?

Load testing will help us to find the following:

  • How fast is the system?
  • How much load can the system handle?
  • Under what conditions will the system fail?
  • Determine our application’s capabilities by measuring its response time, throughput, CPU utilization, latency, etc. during average and heavy user load. This will eventually help in determining the infrastructure needs as the system scales upward.
  • It gives us an opportunity to find strange behavior or surprises when we subject an application to an insane amount of load (stress testing). Strange behaviors include request timeouts, IO Exceptions, memory leaks, or any security issues. …


This article will explain how to host Angular/React/Vue frontend application on S3 with CI/CD pipeline that is configured using Serverless framework and CloudFormation. Full source code is provided on the GitHub.

Image for post
Image for post

How to host a static WebSite on S3?

In order to serve a static web site, we need a web server. AWS provides many different options to run a server but since we are Serverless Gurus, we are going to focus only on the serverless options available. S3 is an object storage service, which among other options, allows us to enable web site hosting on the bucket. …


Image for post
Image for post
Photo by Emmanuel Mbala on Unsplash

A majority of companies I have worked with have never run into AWS service limits for Step Functions. However, when a Fortune 1000 company came to Serverless Guru asking us to build a product that would be used for millions of customer transactions per day, I ran the numbers to see what the service limits were like in September 2020 since AWS sometimes improves limits.

AWS Service Limits, officially known as service quotas as of June 2019, can throttle a component of your app. So planning ahead and then monitoring your usage against those limits with a solution like the Limit Monitor and the Service Quotas dashboard in the AWS console is so critical for reliability, that it’s the first question on reliability in the AWS Well-Architected Tool. …


Image for post
Image for post

SWIM.AI provides next-generation enterprises and developers software solutions for edge and streaming data. This is a unique product for edge/streaming data — software, which is lightweight, able to run anywhere — at the edge or in the cloud — enabling local data collection, reduction, analytics and delivers both data and insights to the cloud.

In this article, we will learn how to set up a simple SWIM server and client and how to connect them.

Requirements

  • Java 1.8 or higher
  • Gradle
  • Nodejs

The Application

In this session, we will be setting up a very simple application with SWIM which will show real-time tweets from a specific hashtag. …


Image for post
Image for post
Logo: Begin

This is Part Two of our 2 part series on using Begin.

Part One: Introduction to Begin: Create, build, & deploy applications at scale

Begin is a platform that will speed up your development of serverless cloud applications. With serverless technology, you don’t have to worry about server maintenance or running into scalability issues. From start to finish, Begin provides you with all the required tools and takes away the hassle of deployment and infrastructure management so that the prime focus is on making the product. …


Image for post
Image for post

Part Two: Less management, more serverless development with Begin functions

Developing applications with Node.js is great. However, the modern world requires building applications for hyper scalability if a business is to be sustainable. Getting an idea or a concept to market as quickly as possible can define the profitable future of an organization. It’s this process that Begin addresses and optimizes for with their platform.

Begin was created on the foundation of providing developers the ability to create, build, and deploy cloud applications at scale in the shortest time possible. Along with super fast CI/CD (continuous integration/continuous deployment) functionality, all applications deployed via Begin are powered by AWS, taking advantage of Lambdas and integrated CDNs to ensure the software you build is scalable and fast. With serverless technology coming into play, you only pay for what you use without having to worry about maintenance, which in the case of traditional servers. …


Image for post
Image for post

This is continuing from Part One of getting set up using Pulumi.

Software testing is generally meant to verify if one’s system is working as intended without any gaps or errors.

When it comes to the deployment of cloud infrastructure, there are quite a number of things that can go wrong. For instance, provisioning resources that handle sensitive data without specific access restrictions, or creating a resource with the intention of performing one task but not having it quite work as intended.

Thankfully, it is possible to perform tests in such situations with Pulumi.

Pulumi is an Infrastructure as Code (IaC) tool that leverages general-purpose programming languages for provisioning cloud resources with multi-cloud support. Owing to its conducive implementation, integrating with other infrastructure or configuration management tools is a simple task. …


Image for post
Image for post

Automating repetitive tasks is a basic cornerstone for maximizing efficiency and operational excellence at the industrial level. Coding your cloud infrastructure streamlines the development process, and also makes iterative development for your applications easier to manage. There are a number of sophisticated tools at your disposal as far as Infrastructure as Code (IaC) is concerned. Each of those tools has its own rules (mostly a Domain Specific Language — DSL) and concepts of implementation, so before you can become efficient, you need to spend some time understanding how they work to begin the implementation process.

Pulumi is a platform for creating, deploying, and managing cloud infrastructure along with offering multi-cloud support like most other IaC tools. The distinction between Pulumi and other tools is that with Pulumi you can program the infrastructure in the language you’re familiar with. This means you can start coding your cloud deployments without spending any time on learning a new language. …


Image for post
Image for post

Lumigo is a platform that primarily focuses on debugging distributed serverless applications on the AWS cloud. Services like X-ray from AWS do a pretty good job at tracing requests with your application but the support for event driven systems isn’t quite there yet. X-ray also falls short in terms of piecing up fragments of certain chained transactions inside serverless architectures because that requires you to navigate between Cloudwatch and X-ray to understand individual events.

Distributed applications are inherently complex, and because of that complexity, they have multiple points of failure. By tracing each and every request with respect to your functions, Lumigo aims to alleviate the process of finding faults and figuring out fixes when breakdowns occur in your serverless architecture. In addition to analyzing code issues and performance hiccups, Lumigo’s insights will allow you to plan the operational limits for your functions based on your usage, providing you a foundation to optimize costs. …

About

Serverless Guru

We can help you migrate to serverless, build serverless applications, and train your team on serverless best practices. https://www.serverlessguru.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store