How To Build A Serverless, Internal Developer Platform

Many teams still deploy and manage apps on their own infrastructure. It can be their own private data centre or public cloud IaaS offering. I’ve worked with teams that deploy to their own infrastructure using a custom-built developer platform to deploy, manage, and monitor the status of services. Usually, the interface is nothing fancy, but it does the job well and is adapted to the team/company’s process.



What Is An Internal Developer Platform?

According to internaldeveloperplatform.org An Internal Developer Platform (IDP) is a layer on top of the tech and tooling an engineering team has in place already. It helps Ops (or DevOps) teams structure their setup and enable developer self-service.

This platform can be a web console or CLI that integrates with the existing tools the team uses.



Why Use An Internal Developer Platform (IDP)?

IDPs have a huge impact on the velocity and productivity of the team. If done right, they increase the deployment/delivery frequency, better visibility and transparency across teams, and improved ways of working.



How To Build An Internal Developer Platform on Kubernetes using Knative, Tekton, GitHub, Cloud Native Buildpacks and Next.js

An IDP is built on top of the tech and tooling an engineering team has in place already. For this post, I’ll focus specifically on some of the tools I work with. They are:

  1. Kubernetes: an open-source system for automating deployment, scaling, and management of containerized applications.

  2. Knative: a Kubernetes-based platform to deploy and manage modern serverless workloads.

  3. Tekton: a Cloud Native CI/CD system, allowing developers to build, test, and deploy across cloud providers and on-premise systems.

  4. GitHub: a development platform to build, ship, and maintain software.

  5. Cloud Native Builpacks: transforms your application source code into container images that can run on any cloud, without you writing Dockerfiles.

  6. Next.js: A React framework with a very good development experience.

The platform will run on Kubernetes and support serverless applications through the use of Knative. Developers can access the platform using a web console that’s written in Next.js.

Here’s a bit on how the workflow will be:

I put all this knowledge in my book; How to build a serverless app platform on Kubernetes. It’s a hands-on book that will teach you how to build a serverless developer platform using the technologies and tools I mentioned previously.

You will learn:

  • What Knative is, how to install and use it for your serverless workloads on Kubernetes.
  • How to use create CI/CD pipelines with Tekton.
  • You will learn how to use Buildah to build container images in your pipeline. Afterwards, you will move to using Cloud Native Buildpacks to build images.
  • You will integrate with GitHub by building a GitHub App which will trigger your CI/CD pipeline when it’s time to deploy a new app, or update an existing app.
  • You will build the platform’s web UI using Next.js. Some knowledge of JavaScript is required for this part. No Next.js experience required because every line of code will be explained, so that non-React developers can follow along.

I’m giving a 50% discount to any DEV community member who buys the book with the discount code devcommunity. The discount code is valid for a maximum of 50 purchases, so hurry and get your copy now!

Follow these steps to purchase with your discount code:

  1. Go to the book’s website – bit.ly/3q3UKij
  2. Enter 20 (the min. purchase price) in the price field and click the Buy this button.
  3. Enter devcommunity in the discount code field.
  4. Enter your card and personal details to complete your purchase.

If you encounter any errors or have any feedback, feel free to comment here or DM me on Twitter




Source link