Getting Started With Serverless Application Architecture

The serverless model can free technical teams from the more monotonous development work, allowing them to focus on innovation. And using a serverless database to build cloud-native apps amplifies such benefits due to its ability to scale without being hindered by fragmented data across independently deployed services.

This Refcard dives straight into building a serverless Java web application. You'll find a list of tools needed to follow the tutorial as well as comprehensive step-by-step instructions, code snippets, and a companion repository for the sample serverless application.

5 Common Step Functions Issues

Step Functions, the serverless finite state machine service from AWS. With DynamoDB, Lambda, and API Gateway, it forms the core of serverless AWS services. If you have tasks with multiple steps and you want to ensure they will get executed in the proper order, Step Functions is your service of choice.

It offers direct integrations with many AWS services, so you don’t need to use Lambda Functions as glue. This can improve the performance of your state machine and lower its costs.

Fast Spring Boot AWS Lambdas with GraalVM

In my previous blog post, I documented how to take a Java Spring Boot application and convert it into a serverless function, which can be run in AWS Lambda. 

Anyone who's done this before knows that cold starts are a big downside - Java and Spring Boot are not known for their speedy startup times, and a typical full fat Spring Boot-converted lambda can take anything from 10 to 90 seconds depending on how much memory and CPU you allocate it. This may force you to over-provision them to compensate for the cold starts, but that's a pretty expensive sledgehammer. There is always provisioned concurrency, but that doesn't work out much cheaper either (and negates the responsive scalability of lambda as you have to anticipate how many you'll need in advance).

Azure Function – An Introduction

Today, in this article we will discuss basic concepts of Azure Function. An Azure Function is a perfect example of Serverless architecture or computes service. Using Azure Function, we can run the event-based code without managing any infrastructure. Since the Azure function is a trigger-based service, so it always executes a script of a block of code in response to a variety of events. 

An Azure Function can also be used to achieve the decoupling, high throughput or response, reusability of code, etc. So, we will discuss the Azure Functions in all aspects in four parts. Today, in the first part of this article series, we will discuss the below topics:

Building Our E-Commerce Platform With Serverless FaaS

With so many 'something-as-a-service' options at our disposal for infrastructure, in 2017 we opted for function-as-a-service (FaaS) to build our platform of e-commerce services. Our mission was, and remains, to build for e-commerce services what AWS built for web services, or what we call the commerce fabric of the internet.

Building with FaaS and only paying for function execution time rather than constantly running servers (i.e. serverless) allowed us to serve customers early on without incurring high infrastructure costs. These customers were large, household names and referrals from our founding team who had transformed digital at Staples. Part of this transformation involved moving from the monolithic e-commerce platform IBM Websphere to a service-oriented architecture with open-source and custom-built software.

Serverless Architecture with AWS Cloud Development Kit (CDK)

The IT world revolves around servers – we set up, manage, and scale them, we communicate with them, deploy software onto them, and restrict access to them. In the end, it is difficult to imagine our lives without them. However, in this “serverfull” world, an idea of serverless architecture arose. A relatively new approach to building applications without direct access to the servers required to run them. Does it mean that the servers are obsolete, and that we no longer should use them? In this article, we will explore what it means to build a serverless application, how it compares to the well-known microservice design, what the pros and cons are of this new method, and how to use the AWS Cloud Development Kit framework to achieve that.

Background

There was a time when the world was inhabited by creatures known as “monolith applications”. Those beings were enormous, tightly coupled, difficult to manage, and highly resource-consuming, which made the life of tech people a nightmare.

Examining Serverless Security Strategies, Tools, and (Current) Best Practices

Developers and DevOps teams considering the efficiency, scalability, and cost benefits that serverless functions have to offer shouldn’t be daunted by the challenge of securing serverless applications throughout development and into production. They should take it very seriously. In this article, I will cover how to begin developing serverless functions using AWS Lambda and the best development tools to use, as well as the most effective serverless security strategies and best practices. 

To begin, approaches to serverless security fall into two categories: runtime security, and static security.

Serverless Eventing Architecture

Event-Driven Architecture (EDA) is a way of designing applications and services to respond to real-time information based on the sending and receiving of information about individual events. Serverless is all about providing service on a provision as-used basis. Combining both you get the best of both worlds. 

  • Loose coupling of services - For better fault tolerance, and can add/remove functionality on the go without affecting others. 

Untangling SAP for Serverless Deployment

There are few technology trends that are a better fit for the current moment than serverless computing – particularly with its benefits of greater scalability, faster development, more efficient deployment, and lower cost. 

But it can be difficult to harness the power of serverless when critical data and workflows are housed in the powerful, widely used enterprise resource planning (ERP) system SAP. Organizations typically rely on SAP to centralize data management and optimize critical business functions like accounting, financials, human capital management, enterprise performance management, etc.

Going Serverless With Oracle Stored Procedures

Serverless computing promises greater scalability, faster development, more efficient deployment, and lower cost.

But the benefits of going serverless can feel out of reach for companies that rely heavily on Oracle stored procedures: named PL/SQL blocks which perform specific tasks and are commonly used for building complex enterprise applications on top of relational databases.

Overcoming Common Serverless Challenges with Mainframe CICS Programs

By this point most enterprises, including those running on legacy infrastructures, are familiar with the benefits of serverless computing:

  • Greater scalability
  • Faster development
  • More efficient deployment
  • Lower cost

The benefits of agility and cost reduction are especially relevant in the current macroeconomic environment when customer behavior is changing, end-user needs are difficult to predict, and development teams are under pressure to do more with less. 

Cutting Step-Functions Costs on Enterprise-Scale Workflows

AWS Step Functions is a great service for orchestrating multi-step workflows with complex logic. It’s fast to implement, relatively easy to use and just works. The problem is its price.

For relatively low-scale projects, it’s a feasible solution. But for large-scale, enterprise-grade orchestration with hundreds of millions of processes, each with dozens of steps, it can be cost-prohibitive.

Breaking Down Serverless Anti-Patterns

Serverless adoption rates have been climbing ever since the technology was brought into the spotlight with the release of AWS Lambda in 2014. That is because serverless makes an offer that cloud developers simply can not resist, providing the following benefits:

  • Server management is abstracted to vendor
  • Pay-as-you-go model where you only pay for what you use
  • Automatically scalable and highly available

These benefits are achieved by the characteristics that define the technology. Serverless applications are stateless distributed systems that scale to the needs of the system, providing event-based and async models of development. This has worked in favor of the technology, resulting in a desirable solution for the cloud.

Serverless CI/CD on the AWS Cloud

CI/CD pipelines have long played a major role in speeding up the development and deployment of cloud-native apps. Cloud services like AWS lend themselves to more agile deployment through the services they offer as well as approaches such as Infrastructure as Code. There is no shortage of tools to help you manage your CI/CD pipeline as well.

While the majority of development teams have streamlined their pipelines to take full advantage of cloud-native features, there is still so much that can be done to refine CI/CD even further. The entire pipeline can now be built as code and managed either via Git as a single source of truth or by using visual tools to help guide the process.

How a URL Shortening Application Works

Introduction

Typically, a long URL is a system-generated URL, usually containing multiple query parameters that may be encrypted/encoded to mask those parameters. The need for shortened URLs arises when long URLs have to be shared for various purposes, like sharing links via SMSs, Emails, media types, like Twitter or WhatsApp, etc.

A URL shortening service might sound like a simple service at first, but it poses a very interesting and challenging engineering problem. Please pause here and think about how you could design a system to generate an infinite number of short URLs for possibly all long URLs in the world. The interesting part of the problem is generating unique, random identifiers for these long URLs. The identifiers should be short enough to fit in the URL with an acceptable character set.

AWS Lambda With MySQL (RDS) and API Gateway

AWS and application architecture

I have been working on Lambda for some projects, and recently, I had to design and write an FAS service using Lambda functions and read/write data into RDS (MySQL). I'm sharing what I've learned here.

Serverless Is Great; Serverless Sucks – Making Sense of the Serverless Landscape

Everyone has heard the famous line, “It was the best of times, it was the worst of times.” This famous quote feels like it could perfectly describe the current state of serverless technologies and the way developers are currently building applications for those platforms.

On one hand, serverless is a boon to any company (or developer) building web applications. The idea that one can simply hand off the demands of managing infrastructure to someone else is an alluring prospect for CTOs, managers, or developers building independent projects.