danielscholl / managed-platform

Playground for a Managed Application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Managed Platform Playground

Deploy to Azure

Background

This project is a playground to look into the feasibility of a managed platform for Azure. The goal is to provide a platform that can be used to deploy and manage kubernetes applications into Azure. A platform should be thought of as a building block that other teams can leverage to either build applications in or build on top of. An example of building on top of a platform would be the delivery mechanism of the platform. The goal of the playground is to investigate building a Managed Application using the IaC from the platform. To truly understand the value proposition for a Platform read through this excellent blog posting. What is platform engineering?

Currently the Azure Managed App is built into this platform but the expectation is that it be separated into a separate repository.

This project attempts to leverage guidance from the following sources:

Further information on this project can be found in the docs folder.

Project Principals

The guiding principal we have with this project is to focus on the the downstream use of the project (see releases) The goal is to work on infrastructure and a managed platform in a manner that other components can consume the platform or infrastructure deployment. As such, these are our specific practices.

  1. Deploy all components through a single, modular, idempotent bicep template Converge on a single bicep template, which can easily be consumed as a module
  2. Provide best-practice defaults, then use parameters for flagging on additional options.
  3. Minimise "manual" steps for ease of automation
  4. Maintain quality through validation & CI/CD pipelines that also serve as working samples/docs
  5. Allow for platform deployment via Service Definition files.

Contributing

If you're interested in contributing, we have two contribution guides in the repo which you should read first.

Guide Description
Generic Contribution Guide Talks about the branching strategy, using CodeSpaces and general guidance

Helpful Learning Links

About

Playground for a Managed Application


Languages

Language:Shell 51.5%Language:Bicep 45.7%Language:Dockerfile 2.8%