for more information visit https://www.salaboy.com
ENABLING DEVELOPERS INA MULTI-CLOUD WORLDA KUBERNETES JOURNEYMAURICIO SALATINO @SALABOYGOTO AARHUS, DENMARK 2023
View Slide
• The not-so-easy Kubernetes Journey• The rise of Platforms on top of Kubernetes• We are just starting to enable DevelopersAGENDA
@SALABOYMAURICIO SALATINO / WWW.SALABOY.COM
PLATFORMS ON K8SCODE: SALATINO40
WHERE DOES THEJOURNEY STARTS?🎬
KUBERNETES
#1 LEARNING🤔YAMLsContainers
#2 MORE THAN ONE
#3 OWNERSHIPProductionStaging/QADev Envs
#4 TOOLING🤯
#5 MULTI-TENANCY🤔🤔🤔🤔🤔🤔 🤔
#6 COSTS🤔💸💰
THE PLATFORMENGINEERING BUZZ🤔
PLATFORM TEAM👷🔧🪓👷DevsInfra SREsDataScientists{}
LET’S BUILD APLATFORMMyPlatformPlatformAPIsSelf ServiceGoldenPathsCross-Cutting Concerns
TAG APP DELIVERY WHITE PAPERhttps://tag-app-delivery.cncf.io/whitepapers/platforms/
PlatformToolsEXAMPLE PLATFORMPlatformAPIs🤓Hey Platform,Can I have a newDev Env? PrettryPlease
PlatformToolsEXAMPLE PLATFORMPlatformAPIs🤓Sure, give me asecond!⚙
EXAMPLE PLATFORMPlatform🤓❤Here you go!Env ToolsYour App
CROSSPLANE +VCLUSTER
DEMO #1🙏 🙏 🙏
PlatformAPIs🤓EnvironmentResourceMy Platform
PlatformAPIsEnvironmentResourceMy PlatformMy Env
🤓 My EnvironmentMy Application
WHAT ABOUTDEVELOPERS?🤓💻
• The importance of experimentation• Defining the platform boundaries (platform capabilities)WHAT DO DEVELOPER NEED?
KNATIVE
->
RUN MY CONTAINERapiVersion: serving.knative.dev/v1kind: Servicemetadata:name: helloworld-cobolspec:template:spec:containers:- image: cobol-appenv:- name: TARGETvalue: “cobol-app Sample v1"
CAAS- image: cobol-appenv:- name: TARGETvalue: “cobol-app Sample v1"
ADVANCED TRAFFICMANAGEMENTApplication V1Application V2🤓💻Application V3
ADVANCED TRAFFICMANAGEMENTApplication V1Application V2🤓💻Application V380%20%TAG
SCALE DOWN TOZEROApplication V1🤓💻
DEMO #2🙏 🙏 🙏
🤓 Frontend v1.0Frontend v1.1`red` tag100%
PLATFORM CAPABILITIESApp APIsExchangingMessages/EventsStoring andReading DataObservabilityResiliencyDynamicScalingReleaseStrategiesFeature FlagsWorkflows TrafficManagementToolsCapabilitiesAppApp
https://www.aviransplace.com/post/platform-as-a-runtime-paar-beyond-platform-engineering
PATTERNS AND BESTPRACTICES ENCODEDApplication AStoringandReadingDataApplication BApplication CStatestore
PATTERNS AND BESTPRACTICES ENCODEDApplication AExchangingMessages/EventsApplication BApplication CPubSub
PATTERNS AND BESTPRACTICES ENCODEDApplication AApplication CServiceInvocationResiliencyPolicies
App A 1.5.0 (Java) App B 3.4.0 (Go)Abstractions / Frameworks Abstractions / FrameworksDapr Sidecar Dapr SidecarLocal HTTP/GRPC Local HTTP/GRPCDapr StateStore ComponentDapr PubSub Component Dapr Resiliency Policies
Read AppWrite App Subscribe AppFrontend AppDapr StateStore ComponentDapr PubSub Component Dapr Resiliency PoliciesDapr Service Discovery
DEMO #3🙏 🙏 🙏
Read AppWrite AppSubscribe AppFrontend App🤓 App Devs👷Platform TeamPlatformAPIs👨🚒OperationsPlatformCapabilities
• Kubernetes is not so easy, we need a platform engineeringapproach to it• Tools like `vcluster` and Crossplane can help to provision andconfigure cost efficient tools to enable our developers• Tools like Dapr and Knative can provide platform capabilties tomake our developers more efficientSUM UP
THANKS!@SALABOY / HTTPS://WWW.SALABOY.COM