In this tutorial, we will learn how to deploy Flask Microservice as a Serverless Function in OpenFaas. In one of my previous tutorials, we have already seen how to create a Flask microservice. We will use that microservice as a reference and deploy it on OpenFaas as a Function.
Serverless is an architectural pattern where the business logic are written as functions that can be executed in a stateless manner. Serverless does not mean executing code without servers. It merely means we don’t have to provision for hardware and infrastructure while writing our code. …
Python is an interpreted, high-level, and general-purpose programming language. It can be used to develop business applications as well as system scripts, has data science related capabilities, desktop GUIs, and also offers many choices for web and internet development.
Flask is a micro web framework written in Python that helps you build web applications easily. It does not require tools or libraries and has no database abstraction layer, form validation, serializers, user management, or built-in internationalization. However, it supports extensions that can add application features as if they were implemented in Flask itself. …
In this tutorial, we will learn how to integrate Spring Data API with Apache Ignite. To learn about Apache Ignite do check What is Apache Ignite? In one of my previous tutorials, we have already seen how to use Spring Cache with Apache Ignite.
Spring Data Framework provides a unified and widely used API that abstract the underlying data storage used by any application. It provides CRUD capabilities to any domain object without the need for any boilerplate code. We can minimize the amount of source code needed to write custom queries. …
In this tutorial, we will learn how to use the Spring WebFlux framework along with Spring Data R2DBC to build, test, and consume a simple reactive REST application.
To begin with, let us understand the following:
We are living in a world of microservices. To build a simple application we use multiple microservices, which interact with each other. We also have to meet expectations such as scalability, resource utilization, latency, and so on. …
In this tutorial, we will learn to build a (Docker) image for our Spring Boot application using Cloud Native Buildpacks. Let us begin by understanding what is Cloud Native Buildpacks.
The Cloud Native Buildpacks project was initiated by Pivotal and Heroku in January 2018 and joined the Cloud Native Sandbox in October 2018.
Buildpacks are the part of the platform that take our application and convert it into something that the platform can actually run. Behind the scenes, a buildpack retrieves dependencies, processes assets, handles caching, and compiles code for whatever language your app is built-in. …
Every now and then, we have all been bogged down by the challenges of dealing with slow services. Reasons such as high load due to multiple users, having a complicated business logic or interaction with a remote database may cause the services to slow down.
Among other performance improvement techniques, caching is one such option by which we can improve the service performance. The Spring Framework provides support for transparently adding caching to an existing Spring application. At its core, the abstraction applies caching to methods, thus reducing the number of executions based on the information available in the cache…
In this tutorial, we will learn how to provide multi-tenancy in a Spring Boot application.
Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant. Tenants may be given the ability to customize some parts of the application, such as the color of the user interface (UI) or business rules, but they cannot customize the application’s code.
There are multiple well-known strategies to implement this architecture, ranging from highly isolated (like single-tenant) to everything shared. We can implement multi-tenancy using any of the following approaches:
Go is an increasingly popular language choice for creating web applications due to the flexibility and performance built into the `net/http` standard library package that comes with the language. The `net/http` package provides many useful and powerful primitives, such as its webserver implementation, request and response types, and methods, uniform resource location router, as well as a clean handler interface and function type declaration.
While the stdlib of Go is capable enough to create a production-ready microservice, a project might require functionality that is not available…
Elasticsearch is an open-source, highly scalable full-text search and analytics engine. It is a distributed NoSQL database and uses documents rather than schema or tables. You can store data in JSON document format and easily store, search, and analyze a large amount of data in real-time. It can be used to search all kinds of documents.
Java REST client is the official client for Elasticsearch. It comes in 2 flavors:
Kubernetes and serverless are two of the hottest buzzwords in the developer communities today. Typically, Kubernetes is used to orchestrate containerized applications, while serverless computing offers a different type of deployment model. When we think of serverless, our first thoughts go to AWS Lambda, Azure Functions, and other cloud-based serverless frameworks. However, the ecosystems surrounding Kubernetes and serverless are increasingly intersecting, due to the release of serverless frameworks called Knative that rely on Kubernetes.
Let’s understand where Knative fits in this ecosystem and what makes it unique.
Tech Enthusiast, Software Engineer