K8s backup & restore using Velero

Velero is an open-source backup tool to save and restore the Kubernetes cluster state. The K8s cluster state including the mounted data is persisted in an external object store that is used to restore it either in the same cluster if lost/deleted by accident or in a new cluster elsewhere in a different cloud. It takes volume snapshots using the cloud providers’ native capability and as well facilitates vendor-neutral backups using restic.

Context: Let’s look at leveraging Velero to move data between K8s clusters running on two different clouds. …

Git-based Dev workflow in the Cloud

Developer experience and onboarding is a space that is getting simplified every day in different forms and shapes. Though we practice vcs driven development, 12-factor, cloud-native, etc. dev onboarding is still a challenging affair. We still have to install tools, sometimes might have to run some services locally, etc as part of the development workflow. We often hit roadblocks like access issues, permission issues, resource constraints, etc. The experience is never been smooth. To that end, GitHub Codespaces is one of the ways we can steer into that problem space to have a better developer experience.

Codespaces is a cloud…

Spring Boot Native via Cloud Native Buildpacks

The GraalVM native image is gaining a lot of popularity for serverless style scale to zero, on-demand scale-out/in architectures where the container boot time and runtime memory footprint play a huge part in both technical and commercial sense. Traditionally java apps are just in time compiled by the runtime and it usually does a lot of run-time optimizations. The memory requirements are generally high because of the need to have the infrastructure to accommodate these runtime optimizations. GraalVM enables ahead of time compilation and the resulting binary is machine optimized. This machine-optimized native binary has everything it needs and hence…

Buildpacks Re-Imagined

In this blog, let’s look at Cloud Native Buildpacks(CNB) specs and the recently announced open-source implementation of the CNB — paketo-buildpacks.

Need for a Spec

The art of creating a self-contained runnable artifact from the source code isn’t new. It started with Heroku and then the Cloud Foundry community adopted it and took it to the enterprises. The spec for the buildpack technology wasn’t thoroughly defined back then and there was no clear mention of the underlying platform. It led to divergent implementations that are tightly coupled to the underlying platforms. …

JHipster ♥ Spring Boot ♥ K8s

JHipster is a developer-friendly platform to bootstrap, iterate, build and deploy cloud-native Spring Boot based services. It also generates scaffolding code for front end services based on widely used frameworks/libraries like Angular, React, etc. It does provide integration touchpoints with various data, logging, and monitoring services as well.

Over the years scaffolding support is added to deploy the generated services across various native clouds and platforms. Developers love JHipster and developer productivity is one of the core values that we iterate on as a community to continuously improve it. As the popularity of Kubernetes…

Cloud-Native developer-friendly bootified Spring Cloud Reactive Gateway

In this era of software-defined everything, API interaction model is the core construct that connects different layers of the software stacks like clouds, platforms, apps, etc. When it comes to applications, with the growing popularity of microservices, functions, patterns connecting heritage and cloud-native apps and the associated complexities - call for efficient ways to manage these growing number of application programming interfaces.

API management solutions are often implemented as a centralized highly controlled shared infrastructure owned by some team like integration/infrastructure in the enterprise. It does what it does best in terms of authentication, authorization, rate limiting, quota enforcement, routing…

Kloud Native is the new normal. Cloud seems to be a yesteryear event as (K)loud sets to take over its relevance in all kinds. K has replaced C even in the English language context as justified by the tech industry’s naming conventions like AKS/PKS/EKS/GKE etc. and the list goes on. So is the popularity of Kubernetes. In this blog, let’s have a look at just a year old framework Tekton that promises to be C(K)loud Native for CI/CD.

As the saying goes, like Kubernetes is a platforms’ platform, Tekton is a framework; a kind of platform to build CI/CD platforms.

Reactive Socket popularly known as RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, Http/2 and Aeron.

It enables the following interaction models via reactive semantics over a single network connection:

  • request →← response
  • request →←← stream
  • request channel →→←→←
  • fire and forget →!

In this blog, we shall look at how to create a consumer/publisher interaction based on the above four interactive models using Spring Boot WebFlux. Spring Boot abstracts away the complexity of dealing with lower level RSocket APIs with its well know annotation driven declarative programming model.

To get started, head…

Cloud Foundry is a highly opinionated optimised runtime platform for rapid development and deployment. It gives consistent seamless experience in development using multiple language runtimes. It is opinionated in the right sense that it is battle tested for running The Twelve-Factor App at scale with inbuilt auto-scaling, self-healing, resiliency, secure-by-default and so on. At the same time, it is not just limited to 12f apps, but it is known to get the best out of 12f standard apps.

Kubernetes on the other side is not really opinionated. It is by design meant to handle containers at scale. It can literally…

Application level language specific service discovery has been popularised by Netflix and Pivotal. Netflix developed and contributed a highly available service registry, Eureka. Spring team from Pivotal simplified the use of Netflix OSS through Spring Cloud projects. Spring Cloud project bootified a rather complex Eureka and other Netflix OSS as a simple annotation driven easy to use components. Spring Cloud based services automatically register with Eureka and client can use it through simple annotations.

A lot has happened over the years in the cloud native space. Side care discovery or Platform local/native discovery pattern is being experimented as an alternative…

Srinivasa Vasu

Aspiring Software Artist | views expressed on this blog are solely mine |

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