0% found this document useful (0 votes)
30 views9 pages

Platform Enginering Guide

Uploaded by

damian gonzalez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views9 pages

Platform Enginering Guide

Uploaded by

damian gonzalez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Platform Engineering Guide

In the landscape of modern cloud adoption, organizations often encounter a


scenario where numerous DevOps teams, each utilizing distinct tools and
technology stacks, are engaged in application development. This diversity, while
offering flexibility, introduces a complex array of challenges.

ifferent Tech Stacks


D

D I F F E R E N T C O N F I G U R AT I O N S

Required Tools in a

Diverse DevOps Ecosystem

When managing applications across a diverse landscape, certain tools become


essential.

Version Control
Systems (VCS): Continuous Continuous
Integration (CI): Deployment (CD):
Essential for tracking and
managing changes in the Automates the Automates the delivery of
codebase. integration of code applications to selected
changes, ensuring early infrastructure.
detection of issues.

Runtime
Environment: Logging and
Monitoring:
Ensures the application Infrastructure
runs smoothly in a stable Provisioning: Critical for observing
and scalable application performance
environment. Involves automated setup and identifying issues.
of required infrastructure,
aligning closely with
Infrastructure as Code

(IaC) practices.

Security:
Encompasses measures
to protect applications
from threats and
vulnerabilities.

1/9
P l at f o r m E n g i n e e r i n g G u i d e

Challenges in Traditional App


Deployment

Scaling Difficulties: Diverse Expertise


Required:
As new teams form,
replicating expertise and
Teams need to possess
maintaining standards
expertise in multiple
becomes challenging.
domains such as
Kubernetes, cloud
technologies, security,

Organizational and compliance, which


can be demanding and
Inconsistency: unrealistic.

Varied practices across


teams can result in a lack
of uniformity in Inefficient Security
processes and
and Compliance:
standards.

Having one team for


security and compliance
In light of these challenges, the traditional working with multiple
mantra of "You build it, you run it" teams, each with
becomes less feasible. different tech stacks,
leads to inefficiency and
inconsistency.

Role of Platform Engineering

In the role of Platform Engineering, the primary focus is to


establish a "paved road" that is easy to use and meets
company standards, enabling developers to deploy their
applications effortlessly. The objective is to minimize
developer friction within the framework of company
regulations. This approach aims to eliminate barriers that
hinder developers from delivering their work by making the
process straightforward and user-friendly.



Essentially, it's as simple as, "Place your application here, and the Platform
Engineering Team will take care of the deployment for you. The team guarantees
that the deployment complies with company standards and regulations.

Subsequently, they develop a layer of abstraction over these tools,


incorporating an intuitive interface, such as a UI, API, CLI-based or simply
code-based. This enables software development teams to independently
access and utilize any service or tool they require through self-service
capabilities using a catalog.

2/9
P l at f o r m E n g i n e e r i n g G u i d e

CI Service Catalog / Developer Security


Portal / Platform UI
Circle CI Codefresh Github Bitbucket Azure Sentinel Snyk Gremlin
Backstage LeanIX Port

Gitlab Gitlab Actions CodeDeploy


Platform Orchestrator Armo Tigera

Jenkins Travis Azure DevOps Humanitec


Logging

Google Cloud Build


CD / Operators Google Stack Driver Fluentbit Logzio

Registry Jenkins ArgoCD Datadog

Docker Azure Container Registry JFrog Kubernetes Control Plane IoC

Kubermatic Redhat Rafay GiantSwarm


Harbor AWS ECR Registry Terraform Pulumi Cloud Formation

Ambassador Okteto DNS


Google Container Registry

Messaging Database & Storage CloudFlare Route53 Google Public DNS

Aiven PostgresSQL Redis Cloud Providers


RabbitMQ Kafka ActiveMQ

Infrastructure Control Plane Amazon S3 MariaDB MySQL


Azure Google Cloud Platform

Amazon Web Services


Terraform Atlantis Spacelift
ElasticSearch MongoDB

These services are made accessible through a user-friendly interface,

simplifying the interaction and usage for software development teams.

This arrangement forms a platform. Given that developers can log in and

independently access resources or services without the necessity of contacting

specific individuals or the platform team and waiting for resources, it operates as

an Internal Developer Platform (IDP), effectively acting as a Platform as a Service

(PaaS) for our internal developers.

Self-service
pipelines

Infrastructure
Software Delivery Team A Provisioning

Self-Service Container
Platform
I n t e r n a l

D e v e l o p e r

P l at f o r m ( I D P )

Software Delivery Team B


Monitoring Tools

Identity
Software Delivery Team C Management

3/9
P l at f o r m E n g i n e e r i n g G u i d e

State of DevOps Report:Platform


Engineering Edition 2023
by

What services should fall within the platform team's scope of work?

59% 59% 57% 45% 42% 40% 37% 32%

Building and Automating Services that enable Access control Building and Building and Managing costs and Involvement in app
managing workflows and application Managing developer Managing resources architecture
infrastructure to processes development teams environments deployment
support product to build, deploy, and pipelines
teams run their applications

What capabilities does the self-service platform offer?

43% 43% 42% 42% 37% 35% 32%

Deployment Operation of Monitoring Built-in security and Project Planning Compiling and Testing of
infrastructure production compliance bulding code codebases
applications

What are the benefits of platform engineering?

60% 59% 58% 57% 55% 53%

Improves system Improves efficiency / Speeds up delivery Improves our Improves overall Increased
realiability productivity of my time workflow and security standadization
work process standards reduces duplication
of work

Download the
Full Report

4/9
P l at f o r m Engineering Guide

Daily Tasks of Platform Engineering Role

Members of platform engineering teams have the primary responsibility of


constructing, deploying, and managing the Internal Developer Platform or IDP that
equips software developers with essential tools, APIs, services, and data storage
solutions, enabling them to create new products.

In their daily activities,

Design, implement and Engage with the product Monitoring the overall
maintain a company's development, architecture, system to assess its
Technology Infrastructure governance and performance, security, and
such as servers, network compliance, management reliability.
resources, storage teams and other
solutions, and cloud stakeholders to ensure that
services. the platform team
constructs the platform
correctly.
Creating comprehensive
documentation of
configurations and
Embedding security procedures to facilitate
measures and compliance different teams'
protocols in the platform, Investigating and understanding and use of
including encryption and integrating cutting-edge the platform.
access control. technologies into the
platform, while evaluating
their potential implications.

Debugging and Resolving


infrastructure and
application issues

Roadmap to become a
Platform Engineer

Basics of Computing and Networking


(1-2 months)

W h at to L e a r n :

WHY:
Linux Fundamentals: Understand scripting, Knowledge of Linux and networking is
filesystem, memory, processes, package fundamental for troubleshooting, system
management, and basic security.
administration, and understanding how
Networking Basics: Learn about TCP/IP, applications communicate over the network.
UDP, HTTP/HTTPS, DNS, SSH, and the ISO-
OSI model. Understanding network Technologies:
protocols is essential for troubleshooting
and designing scalable systems. Also, Proxy, Linux (Ubuntu or CentOS
Firewall, Reverse-Proxy and Network Basic networking tools (ping, traceroute,
topologies knowledge is a must. netstat)

Linux Ubuntu CentOS

5/9
P l at f o r m E n g i n e e r i n g G u i d e

Programming and Version Control


(2 months)

W h at to L e a r n :

WHY:

Programming Languages: Python and Go Programming skills are necessary for


are widely used for their simplicity and automating tasks, writing infrastructure as
efficiency in automation, respectively.
code, and developing internal tools. Version
Version Control: Git, to manage code control is essential for collaboration and
changes and collaborate with others. managing codebases.

Technologies:

Python, G
Git, GitHub/GitLab
Python Go Git Github

Database and Storage Concepts


(1 month)

W h at to L e a r n :

WHY:

Types of Databases: Differentiate between Mastery of databases is crucial for choosing


SQL and NoSQL databases; learn usage effective data storage solutions,
scenarios for PostgreSQL, MySQL, administration, and troubleshooting in
MongoDB, and Cassandra.
platform egineering, directly impacting
Database Operations: Understand CRUD application performance and scalability.

operations, transactions, and basic Cloud-based database services offer


performance optimization techniques.
managed, scalable, and highly available
Cloud-based Database Services: Explore data storage solutions, reducing the
AWS RDS, Google Cloud SQL, Azure SQL overhead of manual database
Database, and NoSQL services like administration.
DynamoDB, Firestore, and Cosmos DB.

Caching, CDN

Technologies:

SQL Databases: PostgreSQL, MySQ


NoSQL Databases: MongoDB, Cassandr
Cloud Services: AWS RDS, Google Cloud SQL, Azure SQL
Database, DynamoDB, Firestore, Cosmos DB PostgreSQL MongoDB AzureSQL

Cloud Fundamentals
(1-2 months)

W h at to L e a r n :

WHY:

Cloud Service Models: Understand SaaS, Cloud computing is the backbone of modern
PaaS, IaaS, and serverless computing.
platform engineering, offering scalability,
Major Cloud Providers: Basics of AWS, reliability, and a wide array of services for
GCP, and Azure, focusing on compute, building and running applications.
storage, and networking services.

Technologies:

AWS, GCP, Azur


Serverless frameworks (AWS Lambda, Google
Cloud Functions) AWS GCP Azure

6/9
P l at f o r m E n g i n e e r i n g G u i d e

Infrastructure as Code (IaC) and


Configuration Management
(2 months)

W h a t t o L e a r n :

WHY:
IaC Concepts: Automate infrastructure IaC and configuration management enable
provisioning using code.
scalable, reproducible, and manageable
Configuration Management: Automate the infrastructure provisioning and maintenance.
configuration of software and systems.

Technologies:

Terraform, CloudFormatio
Ansible, Puppet, Chef, Pulumi T erraform CloudFormation Ansible P ulumi

Continuous Integration and Continuous


Deployment (CI/CD)
(3 months)

W h a t t o L e a r n :

WHY:
CI/CD Concepts: Automate the building, CI/CD practices are essential for fast,
testing, and deployment of applications.
reliable software releases and are central to
CI/CD Tools: Implement pipelines that DevOps practices.
integrate code changes efficiently and
reliably.

Technologies:

Jenkins, GitLab CI, GitHub Action


ArgoCD, FluxCD for GitOps
Jenkins GitLab CI ArgoCD FluxCD

Containers and Orchestration


(3 months)

W h a t t o L e a r n :

WHY:
Container Basics: Docker, container Containers and orchestration tools are key
registries, and container runtime.
to developing, deploying, and managing
Container Orchestration: Kubernetes applications consistently and efficiently
fundamentals, including pods, deployments, across different environments.
services, and ingress.

Technologies:
Docke
Kubernetes, Helm
Docker Kubernetes H elm

7/9
P l at f o r m E n g i n e e r i n g G u i d e

Observability
(1-2 months)

W h a t t o L e a r n :

WHY:
Monitoring and Logging: Collect and Observability is crucial for maintaining
analyze metrics, logs, and traces to system reliability, performance, and
understand system behavior.
troubleshooting issues proactively.
Alerting and APM: Implement alerting
strategies and application performance
monitoring.
Technologies:
Prometheus, Grafan
Elasticsearch, Logstash, Kibana (ELK Stack

Datadog, New Relic rometheus


P G rafana LK Stack.
E J aeger

Security and Compliance


(2 months)

W h a t t o L e a r n :

WHY:
DevSecOps: Integrate security practices Security is paramount in protecting data,
throughout the DevOps lifecycle.
ensuring privacy, and maintaining trust in
Security Fundamentals: Understand IAM, platform services.
encryption, network security, and
compliance standards.
Technologies:

Vault, OP
SAST/DAST tools, container scanning
T rivy Vault OPA

10

Advanced Cloud-Native Technologies


(2-3 months)

W h a t t o L e a r n :

WHY:
Service Mesh: Istio, Linkerd for advanced Advanced cloud-native technologies offer
network traffic control, and security.
sophisticated patterns for scaling,
Serverless and Microservices: Best managing, and securing microservices and
practices, patterns, and pitfalls. serverless applications.

Technologies:

Istio, Linker
Knative, Open FaaS, Kubeless
Istio Linkerd Knative Open FaaS

8/9
P l at f o r m Engineering Guide

11

Soft Skills
(Continuous)

W h at to L e a r n :

WH Y:
Communication: Effective writing, Effective communication, teamwork and
speaking, Team working and collaboration collaboration is crucial for platform
skills.
engineers, who manage the infrastructure
Problem-Solving: Critical thinking and the essential for product development teams
ability to navigate ambiguity.

Puppet's 2023 State of Platform Engineering Report highlights:

61%
54%
45%
37%

prioritize value collaboration emphasize appreciate


communication skills. skills. translating user questioning
requests into established
requirements. practices

Download the
Full Report

Resources
video blog blog video

What Is a Platform Laying the Platform Engineering What is


Team and What foundation for a Tools: 12 Types of Platform
Problems Do They career in platform Tools to Use in Your Engineering? |
Solve? engineering Platform KodeKloud

blog ebook LEARNING PAT H conference

Platform Platform Platform Join the #1


Engineering 101: Engineering 101: Engineer platform
Get Started with Get Started with Learning engineering virtual
Platforms Platforms Path conference

Embark on your journey to


master Platform Engineering
Platform Engineer Learning Path

★★★★☆ 4.8

https://kode.wiki/490bRp3

9/9

You might also like