Skip to content
Hans Kristian Flaatten edited this page Nov 6, 2019 · 7 revisions

The technological landscape is changing constantly! Over the last 20 years we have leaped from huge physical machines that spanned entire rooms to entirely virtual machines that we have moved to the cloud and gradually replaced with containers. We already see the next step of this evolution that aims to remove everything except for the business code also know as Serverless.

DevOps Evolution

ACE is an application platform that encompass end-to-end development- and production with a strong focus on eliminating manual operations and shorten the time it takes to get new applications, or making changes to existing ones, and get it all the way out to production in a reliable way.

The platform is self-serviced where the teams that actually develops the applications are empowered to deploy, release and support them through their operational lifetime without having to involve other teams or individuals. This does not mean that teams can do whatever they want - but that organizational policies and procedures are enforced programmatically, and automatically, 24-7 with the help of automatic processes built into the different tools and components that makes up the ACE platform.

DevOps Pillars

ACE is built specifically to accommodate the principles behind Lean, Agile, DevOps and Minimum Viable Product (MVP). The platform is well suited for even-driven and micro-services oriented application architecture where a larger system is divided into independent services with a well defined responsibility that communicates with other services over a message bus for asynchronous communication or protocols like HTTP, REST, gRPC or GraphQL for more synchronous communication.

ACE is built on top of the Kubernetes container orchestrator that lets up abstract away the underlying respurces likes machines, disks and network as a set of API's that the applications and their teams can consume. In addition Kubernetes handles deploy and many of the operational aspects of each application life-cycle management.

This abstraction makes it possible to establish a common set of tools and practices across different cloud and infrastructure-providers and keep the same mental model as well as development and operational practices.

DevOps Lifecycle

References

Clone this wiki locally