SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 

Dernier (20)

Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 

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