SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Haggai Philip Zagury
DevOps BP, GL & TL
Building A Cloud-Native
platform Brick by Brick
Open thinking and open
techniques ideology - driven by
Open Source technologies
My Solution driven approach is based
on hands-on and deep understanding
of Operating Systems, applications
stacks software languages and
frameworks, Networking, Cloud and
Cloud Native solutions.
Haggai Philip Zagury
DevOps BP, GL & TL
Tikal is a leading Israeli hands-on tech
consultancy, scaling R&D teams with
cutting-edge technologies. Our experts join
development teams across the tech
industry and help them make a tech Impact
on their product.
Tikal -
Home of Tech Experts
Building an application
platform brick by brick
The evolution of Software Development
Software is still “eating the world”
- Trends like microservices, SaaS sprawl, and
cloud-everything create a chaotic ecosystem for
engineers.
- Every company uses different subsets of these
tools and faces different challenges.
- Your whole stack is getting more complex;
onboarding and collaboration are becoming
more difficult.
Why? Operational Overhead | ROI / TCO
● The TCO & ROI of the entire SDLC -
is defined by its operational cost
● More CapEx - Capital (Capability) exp
● Less OpEx - Operational exp
So, how do we build a
cloud native application?
Beyond the obvious……
Git init.
Choose an Architecture
- Monolith (2-tier to n-tier etc..)
- SOA
- Event Driven
You want to be following 2 things:
Regardless to your SW architecture style
- A few more later ;)
Cloud Native
Computing Foundation
12factor app
12factor App principles
CloudNative Landscape
12factor App principles
● If in 2005 we were looking for the “build
script” as part of the code
● Configuration as part of the code
● Json | Yaml | Toml || *ml
● Declarative !
● They all agree on kubernetes ;)
● In some cases VM’s is still an option …
Config
Backing Services
● Make sure how and where
you store your data
● Treat backend services as
Dependencies / Third Parties
○ It’s only purpose is to Serve your app
○ Your service should be able to run
with / without it
Backing Services
● Make sure how and where you store your data
● Treat backend services as
Dependencies / Third Parties
○ It’s only purpose is to Serve your app
○ Your service should be able to run
with / without it.
● There is no option of keeping anything local*
Backing Services
● An ecosystem of solutions for
storage which is cloud native
meaning your application can port
from one cloud to another
Backing Services
● An ecosystem of solutions for
storage which is cloud native
meaning your application can port
from one cloud to another
● CERTAINLY doable ❗
There will be sweat INvolved :)
Build release Run
● CI/CD is part of the application !
● All cloud provider offers them
○ Github
○ Gitlab
○ Circle CI
○ Our very own “--------”
Processes
● Keep it simple
● 1 process running in your app
Processes
● Keep it simple
● 1 process running in your app
● This ones make you START thinking about
the architecture style you want / need
Monolithic Microservices
Processes
● Keep it simple
● 1 process running in your app
● Take kubernetes architecture
as an example
● CnCf is baked on projects running
containerized applications on
multiple clouds
CloudNative Landscape 12 factor principles
Port Binding
● Single process bound to port
Port Binding
● Single process bound to port
● Docker - container networking principles
○ We had that in docker-compose
● Liveness and Readiness
● Rolling update
Concurrency
● This patten encourages you to be stateless don’t
save anything locally
● Calculations may and should be done outside the
service whatever cache put in to backing service
● Now -> Scaling out is built-in
Concurrency
● There is a temp dir you can use.
● There are stateful applications -
how do we deal with those ?
○ A cluster is a cluster
○ Shared state == highly available data
Disposability
● We can start & stop services
at any given time
● Service decommissioning
Disposability
● We can start & stop services at any given time
● Service decommissioning
● Replica Set controller
Disposability
● We can start & stop services at any given time
● Service decommissioning
● Replica Set controller
● Kubernetes Deployment controller
Dev/prod parity (Environment similarity)
● Developer environment and runtime
environment must be similar
○ Very difficult to be
identical cost wise
Dev/prod parity (Environment similarity)
● Developer environment and
runtime environment must
be similar
● Eco-system of solutions for
the entire lifecycle
Logs
● Treat logs as event streams
● Logging Drivers
● Stdout | Filters and Aggregators
Logs
● Treat logs as event streams
● Logging Drivers
● Stdout | Filters and Aggregators
● You will find
○ all cncf project follow this principles
○ A well known project - fluentd
Logs
● Treat logs as event streams
● Logging Drivers
● Stdout | Filters and Aggregators
● You will find
○ all cncf project follow this principles
○ A well known project - fluentd
Admin processes
● Database migration
[create schema, update schema]
● Backup and Restore procedures
● Cron tasks
● Jobs (maintenance job)
Admin processes
● Database migration
[create schema, update schema]
● Backup and Restore procedures
● Cron tasks
● Jobs (maintenance job)
CloudNative Landscape 12 factor principles
13. API First
● OpenAPI
● RAML
14. Telemetry
● Monitor Software Performance - a.k.a APM
● We aren’t influences by A single machine
○ It’s a cluster
14. Telemetry
● Monitor Software Performance - a.k.a APM
● Understand how your application behaves
● Scaling decisions are the cloud-native part of your
app when you follow 12factor app principles
15. Authentication
& Authorization (Security)
● Workload Identity ->
assuming a cloud role
15. Authentication
& Authorization (Security)
• Workload Identity -> assuming a cloud role
• IRSA - IAM Role Service Account
How does this look like in the cloud native world ?
https://github.com/vikasg11/fifteen-factor-app https://github.com/cjudd/15-factor-app-workshop
CloudNative Landscape 12 factor principles
Creates
References
Resources mgt
Network / exposition
Configuration
Storage
IAM
Pod generator
Decouples the application from the infrastructure
● Custom Resource Definition
● The “Things” you wish to
operate the cloud-native way.
The cloud native way is - CRD’s
● Custom Resource Definition
● The “Things” you wish to
operate the cloud-native way.
The cloud native way is - CRD’s
https://landscape.cncf.io/
Thank you !
Haggai Philip Zagury
DevOps BP, GL & TL

Weitere ähnliche Inhalte

Ähnlich wie DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Brick.pdf

Modern Application Development on the Cloud (GCP)
Modern Application Development on the Cloud (GCP)Modern Application Development on the Cloud (GCP)
Modern Application Development on the Cloud (GCP)mfazal
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupYashrajNayak4
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...Srijan Technologies
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps WorkshopWeaveworks
 
A guide to modern software development 2018
A guide to modern software development 2018A guide to modern software development 2018
A guide to modern software development 2018Peter Bittner
 
Introduction to GCP
Introduction to GCPIntroduction to GCP
Introduction to GCPKnoldus Inc.
 
Next gen software operations models in the cloud
Next gen software operations models in the cloudNext gen software operations models in the cloud
Next gen software operations models in the cloudAarno Aukia
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDGonzalo Marcos Ansoain
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019ciberkleid
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in ContainerizationRyan Hunter
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionSteve Hogg
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Weaveworks
 
Microservices Docker @Bonn Agile
Microservices Docker @Bonn AgileMicroservices Docker @Bonn Agile
Microservices Docker @Bonn AgileTimo Derstappen
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3sHaggai Philip Zagury
 
Spring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFSpring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFLars Rosenquist
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Cloud Native Day Tel Aviv
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary SlidesRise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary SlidesDiUS
 

Ähnlich wie DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Brick.pdf (20)

Modern Application Development on the Cloud (GCP)
Modern Application Development on the Cloud (GCP)Modern Application Development on the Cloud (GCP)
Modern Application Development on the Cloud (GCP)
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 
A guide to modern software development 2018
A guide to modern software development 2018A guide to modern software development 2018
A guide to modern software development 2018
 
Introduction to GCP
Introduction to GCPIntroduction to GCP
Introduction to GCP
 
Next gen software operations models in the cloud
Next gen software operations models in the cloudNext gen software operations models in the cloud
Next gen software operations models in the cloud
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019
 
Truemotion Adventures in Containerization
Truemotion Adventures in ContainerizationTruemotion Adventures in Containerization
Truemotion Adventures in Containerization
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
Microservices Docker @Bonn Agile
Microservices Docker @Bonn AgileMicroservices Docker @Bonn Agile
Microservices Docker @Bonn Agile
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Spring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFSpring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCF
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary SlidesRise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
 

Mehr von Haggai Philip Zagury

Kube Security Shifting left | Scanners & OPA
Kube Security Shifting left | Scanners & OPAKube Security Shifting left | Scanners & OPA
Kube Security Shifting left | Scanners & OPAHaggai Philip Zagury
 
TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?Haggai Philip Zagury
 
Git ops & Continuous Infrastructure with terra*
Git ops  & Continuous Infrastructure with terra*Git ops  & Continuous Infrastructure with terra*
Git ops & Continuous Infrastructure with terra*Haggai Philip Zagury
 
The 2nd half. Scaling to the next^2
The 2nd half. Scaling to the next^2The 2nd half. Scaling to the next^2
The 2nd half. Scaling to the next^2Haggai Philip Zagury
 
Deep Learning - Continuous Operations
Deep Learning - Continuous Operations Deep Learning - Continuous Operations
Deep Learning - Continuous Operations Haggai Philip Zagury
 
Machine Learning - Continuous operations
Machine Learning - Continuous operationsMachine Learning - Continuous operations
Machine Learning - Continuous operationsHaggai Philip Zagury
 
Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Haggai Philip Zagury
 

Mehr von Haggai Philip Zagury (20)

Kube Security Shifting left | Scanners & OPA
Kube Security Shifting left | Scanners & OPAKube Security Shifting left | Scanners & OPA
Kube Security Shifting left | Scanners & OPA
 
TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?TechRadarCon 2022 | Have you built your platform yet ?
TechRadarCon 2022 | Have you built your platform yet ?
 
Gitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCDGitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCD
 
Git ops & Continuous Infrastructure with terra*
Git ops  & Continuous Infrastructure with terra*Git ops  & Continuous Infrastructure with terra*
Git ops & Continuous Infrastructure with terra*
 
Auth experience - vol 1.0
Auth experience  - vol 1.0Auth experience  - vol 1.0
Auth experience - vol 1.0
 
Linux intro
Linux introLinux intro
Linux intro
 
Auth experience
Auth experienceAuth experience
Auth experience
 
Kubexperience intro session
Kubexperience intro sessionKubexperience intro session
Kubexperience intro session
 
Scaling i/o bound Microservices
Scaling i/o bound MicroservicesScaling i/o bound Microservices
Scaling i/o bound Microservices
 
The 2nd half. Scaling to the next^2
The 2nd half. Scaling to the next^2The 2nd half. Scaling to the next^2
The 2nd half. Scaling to the next^2
 
Terraform 101
Terraform 101Terraform 101
Terraform 101
 
Chaos is a ladder !
Chaos is a ladder !Chaos is a ladder !
Chaos is a ladder !
 
Natively clouded Journey
Natively clouded JourneyNatively clouded Journey
Natively clouded Journey
 
Deep Learning - Continuous Operations
Deep Learning - Continuous Operations Deep Learning - Continuous Operations
Deep Learning - Continuous Operations
 
Terraform 101
Terraform 101Terraform 101
Terraform 101
 
Helm intro
Helm introHelm intro
Helm intro
 
Machine Learning - Continuous operations
Machine Learning - Continuous operationsMachine Learning - Continuous operations
Machine Learning - Continuous operations
 
Whats all the FaaS About
Whats all the FaaS AboutWhats all the FaaS About
Whats all the FaaS About
 
Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]
 
Git internals
Git internalsGit internals
Git internals
 

Kürzlich hochgeladen

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Kürzlich hochgeladen (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Brick.pdf

  • 1. Haggai Philip Zagury DevOps BP, GL & TL Building A Cloud-Native platform Brick by Brick
  • 2. Open thinking and open techniques ideology - driven by Open Source technologies My Solution driven approach is based on hands-on and deep understanding of Operating Systems, applications stacks software languages and frameworks, Networking, Cloud and Cloud Native solutions. Haggai Philip Zagury DevOps BP, GL & TL
  • 3. Tikal is a leading Israeli hands-on tech consultancy, scaling R&D teams with cutting-edge technologies. Our experts join development teams across the tech industry and help them make a tech Impact on their product. Tikal - Home of Tech Experts
  • 4. Building an application platform brick by brick The evolution of Software Development
  • 5. Software is still “eating the world” - Trends like microservices, SaaS sprawl, and cloud-everything create a chaotic ecosystem for engineers. - Every company uses different subsets of these tools and faces different challenges. - Your whole stack is getting more complex; onboarding and collaboration are becoming more difficult.
  • 6. Why? Operational Overhead | ROI / TCO ● The TCO & ROI of the entire SDLC - is defined by its operational cost ● More CapEx - Capital (Capability) exp ● Less OpEx - Operational exp
  • 7. So, how do we build a cloud native application?
  • 9. Choose an Architecture - Monolith (2-tier to n-tier etc..) - SOA - Event Driven
  • 10. You want to be following 2 things: Regardless to your SW architecture style - A few more later ;) Cloud Native Computing Foundation 12factor app
  • 14. ● If in 2005 we were looking for the “build script” as part of the code ● Configuration as part of the code ● Json | Yaml | Toml || *ml ● Declarative ! ● They all agree on kubernetes ;) ● In some cases VM’s is still an option … Config
  • 15. Backing Services ● Make sure how and where you store your data ● Treat backend services as Dependencies / Third Parties ○ It’s only purpose is to Serve your app ○ Your service should be able to run with / without it
  • 16. Backing Services ● Make sure how and where you store your data ● Treat backend services as Dependencies / Third Parties ○ It’s only purpose is to Serve your app ○ Your service should be able to run with / without it. ● There is no option of keeping anything local*
  • 17. Backing Services ● An ecosystem of solutions for storage which is cloud native meaning your application can port from one cloud to another
  • 18. Backing Services ● An ecosystem of solutions for storage which is cloud native meaning your application can port from one cloud to another ● CERTAINLY doable ❗ There will be sweat INvolved :)
  • 19. Build release Run ● CI/CD is part of the application ! ● All cloud provider offers them ○ Github ○ Gitlab ○ Circle CI ○ Our very own “--------”
  • 20. Processes ● Keep it simple ● 1 process running in your app
  • 21. Processes ● Keep it simple ● 1 process running in your app ● This ones make you START thinking about the architecture style you want / need Monolithic Microservices
  • 22. Processes ● Keep it simple ● 1 process running in your app ● Take kubernetes architecture as an example ● CnCf is baked on projects running containerized applications on multiple clouds
  • 23. CloudNative Landscape 12 factor principles
  • 24. Port Binding ● Single process bound to port
  • 25. Port Binding ● Single process bound to port ● Docker - container networking principles ○ We had that in docker-compose ● Liveness and Readiness ● Rolling update
  • 26. Concurrency ● This patten encourages you to be stateless don’t save anything locally ● Calculations may and should be done outside the service whatever cache put in to backing service ● Now -> Scaling out is built-in
  • 27. Concurrency ● There is a temp dir you can use. ● There are stateful applications - how do we deal with those ? ○ A cluster is a cluster ○ Shared state == highly available data
  • 28. Disposability ● We can start & stop services at any given time ● Service decommissioning
  • 29. Disposability ● We can start & stop services at any given time ● Service decommissioning ● Replica Set controller
  • 30. Disposability ● We can start & stop services at any given time ● Service decommissioning ● Replica Set controller ● Kubernetes Deployment controller
  • 31. Dev/prod parity (Environment similarity) ● Developer environment and runtime environment must be similar ○ Very difficult to be identical cost wise
  • 32. Dev/prod parity (Environment similarity) ● Developer environment and runtime environment must be similar ● Eco-system of solutions for the entire lifecycle
  • 33. Logs ● Treat logs as event streams ● Logging Drivers ● Stdout | Filters and Aggregators
  • 34. Logs ● Treat logs as event streams ● Logging Drivers ● Stdout | Filters and Aggregators ● You will find ○ all cncf project follow this principles ○ A well known project - fluentd
  • 35. Logs ● Treat logs as event streams ● Logging Drivers ● Stdout | Filters and Aggregators ● You will find ○ all cncf project follow this principles ○ A well known project - fluentd
  • 36. Admin processes ● Database migration [create schema, update schema] ● Backup and Restore procedures ● Cron tasks ● Jobs (maintenance job)
  • 37. Admin processes ● Database migration [create schema, update schema] ● Backup and Restore procedures ● Cron tasks ● Jobs (maintenance job)
  • 38. CloudNative Landscape 12 factor principles
  • 39. 13. API First ● OpenAPI ● RAML
  • 40. 14. Telemetry ● Monitor Software Performance - a.k.a APM ● We aren’t influences by A single machine ○ It’s a cluster
  • 41. 14. Telemetry ● Monitor Software Performance - a.k.a APM ● Understand how your application behaves ● Scaling decisions are the cloud-native part of your app when you follow 12factor app principles
  • 42. 15. Authentication & Authorization (Security) ● Workload Identity -> assuming a cloud role
  • 43. 15. Authentication & Authorization (Security) • Workload Identity -> assuming a cloud role • IRSA - IAM Role Service Account
  • 44. How does this look like in the cloud native world ? https://github.com/vikasg11/fifteen-factor-app https://github.com/cjudd/15-factor-app-workshop
  • 45. CloudNative Landscape 12 factor principles
  • 46. Creates References Resources mgt Network / exposition Configuration Storage IAM Pod generator Decouples the application from the infrastructure
  • 47. ● Custom Resource Definition ● The “Things” you wish to operate the cloud-native way. The cloud native way is - CRD’s
  • 48. ● Custom Resource Definition ● The “Things” you wish to operate the cloud-native way. The cloud native way is - CRD’s
  • 50. Thank you ! Haggai Philip Zagury DevOps BP, GL & TL