Plattform Building
Developing a powerful software platform requires strategic thinking and deep expertise. With Platform Building, we are here to assist you in creating and implementing your individual masterplan for constructing a software platform.
- Architecture: We design the foundation of your platform, ensuring scalability, stability, and readiness for future developments.
- Cloud: With our expertise in cloud technologies, we help enhance the flexibility of your platform.
- Automation: We optimize your processes through automation to increase efficiency and minimize manual tasks.
- Governance: Security and compliance are of utmost importance. We implement governance models to safeguard your platform and meet regulatory requirements.
- Maintenance: Building a platform doesn't end with implementation. We ensure that your platform operates optimally at all times.
Oliver Weise
Team Lead of the Platform Engineering Unit at ConSol
When embarking on a software project on a modern application platform, the first step takes you to the Platform Portal. Here, in self-service mode, you can provision all the necessary project resources yourself: workload capacity, rollout stages, source code repositories, and more. Many resources are available immediately, while others are accessible by the next day at the latest.
CI/CD-Pipelines At Your Fingertipps
Simultaneously, within the associated CI/CD framework, a functional standard pipeline for building, testing, and rollout is created for you. You can use it as is, customize it, or, in special cases, replace it with your own. Often, within just a few days, you can perform initial deployments of prototypes and focus entirely on the functional aspects of your project.
A Living System: Observability, DevOps & SRE Connected
Observability features like logging, tracing, monitoring with numerous preconfigured metrics, and alerts are included and "just there." Many of these functions operate without your intervention. For others, you only need to concern yourself with integrating them into your software, thanks to readily available and well-documented concepts tailored to common development frameworks within the company.
Equally important is the fact that observability is no longer just for Ops. In the project, we have a "first-class" access, enabling us to gain valuable insights into how our software performs in real-world operation. This foundation allows us, in collaboration with our Site Reliability Engineer, to optimize reliability and efficiency.
Less Platform, More Focus
It's crucial to emphasize that the extent of the platform is a decision that your company makes. What truly matters is the Developer Experience. Many overly complex platforms have proven to be less effective. Therefore, the guiding principle should be: especially during the setup phase, focus on the essentials. This initial foundation should be designed from the outset to genuinely support developers without overwhelming them.
Interested In Learning More About Platform Engineering?
The Path to the Platform
What Is Platform Engineering?
Platform Engineering is a branch of software development that focuses on creating and maintaining platforms or frameworks used by other developers to build applications. These platforms can take various forms, including operating systems, cloud platforms, development frameworks, APIs (Application Programming Interfaces), and more. The primary goal of Platform Engineering is to provide a solid foundation on which other developers can build applications without needing to worry about the underlying infrastructure.
Platform Engineering aims to design toolchains and workflows as self-service components that software developers can utilize within the context of cloud-native development. Platform Engineers deliver an integrated product often referred to as an "Internal Developer Platform" that covers the operational requirements of the entire application lifecycle.
Why Platform Engineering? The Starting Point
Back in the days: When developers wanted to get their applications up and running, there was only one way to do it – through the SysAdmin. Not only did this create bottlenecks, but it also highlighted the significant gap between Dev and Ops, leading to dissatisfaction on both sides.
With the success of the cloud and cloud computing, DevOps emerged as the method for collaboration: This not only pertained to the physical structure of teams (cross-functional teams in one office), feedback loops, and work processes. DevOps became a mindset, causing software developers to approach tasks differently from the beginning.
DevOps+Cloud: A Paradigm Shift with Cognitive Overload
"You build it, you run it." Does this principle really work for companies and their IT units? If you consider yourself among the major players like Google, Microsoft, Amazon, etc., then perhaps yes – with nearly limitless resources for process optimization and access to the world's best talent, this ideal can be realized.
Most other companies, however, experience a different scenario:
Senior developers bear the responsibility for managing environments and infrastructure, suddenly taking on tasks unrelated to their core mission – allocating resources to coding and product development. This can lead to the much-cited Cognitive Overload. As a result, a lose-lose situation arises: Experienced developers are now responsible for configuring and solving queries from less experienced colleagues, diverting valuable capacities in the organization to the wrong areas. The outcome of this situation is poorer results: Software and features can no longer be delivered as quickly, reliably, and with the same level of quality.
A highly recommended article on "DevOps bad practices" can be found on the DevOps Topologies blog, where Matthew Skelton and Manuel Pais describe so-called DevOps Anti Types and highlight reasons for non-functioning DevOps processes.
Platform Engineering as the Solution: Golden Paths & Paved Roads
So how do teams ensure that their developers can run applications and services without constantly relying on the help of experienced colleagues and, in turn, wasting their resources? The answer is to have a platform team that builds an Internal Developer Platform (IDP).
Among other things, the State of DevOps Report 2020 by Puppet clearly illustrates the relationship between the use of internal platforms and the level of DevOps development within organizations.
Golden Paths & Paved Roads
The term "Golden Path" refers to a predefined, well-defined, task-oriented path for creating software. Golden Paths enable organizations to deliver better software faster, with higher quality and greater control in production. Different teams within a company often use a variety of tools, frameworks, and programming languages, causing developers to spend too much time getting acquainted with the right technology rather than simply developing software.
Golden Paths are usually based on best practices, industry standards, and the accumulated knowledge of software engineers within an organization. To optimize the software development process, conditions, tools, and procedures are defined and documented.
Paved Roads represent the next step, where Internal Developer Platforms offer ready-made solutions: IDPs include a comprehensive range of tools, services, and infrastructure consolidated within a single platform. Platform Engineering thus provides toolchains for workflows and processes that developers can use in a self-service manner. The IDP reduces the cognitive (over)load of developers by abstracting infrastructure, provisioning project resources, providing standardized workflows, and automating repetitive tasks, such as:
- Adding environment variables
- Config-Changes
- Adding services and dependencies
- Rollback und debugging
- Deploying a new environment
- Refactoring
- Adding/changing resources
- RBAC (Roll-based Access Control)
Why Platform Engineering Is Essential? We Provide Guidance!
Platform Building: Your Platform, Your Vision
Platform Building aims to create a stable, efficient, and well-managed technological platform that forms the foundation for developing and delivering applications and services. This is crucial for companies aiming to remain competitive in today's digital world, as a solid platform underpins innovation and business success.
In addition to the key areas mentioned above, the Platform Building process also includes these additional components:
Development and Extensibility
The creation of interfaces and tools that enable developers to build and expand applications and services on the platform.
Documentation and Training
The development of documentation and training materials to simplify the work of developers and administrators with the platform.
Integration
The integration of the platform into existing systems and processes to ensure seamless collaboration with other parts of the IT infrastructure.
Do you Have any Further Questions about our Portfolio?
Let's talk!
Andreas Schilz