SlideShare a Scribd company logo
1 of 32
MARA
Scaffolding for ModernApplications
Jason Schmidt
Solutions Architect
August 2022
©2022 F5
2
©2022 F5
3
A Brief Introduction
©2022 F5
4
What is MARA?
An example
architecture using
Kubernetes that
aims to be as
production ready
as possible
©2022 F5
5
Who are we?
NGINX Community and Alliances Team
○ Work with the OSS Community
○ Work with Partners
Technical Experience
○ Operations
○ Development
○ Quality Assurance
○ Change Management
○ Project Management
○ Support
○ Training
○ Technical Writing
©2022 F5
6
Why did we build this?
Leverage our
experience to
build a “best
practice” example
1
Respond to the
many existing
anti-patterns the
team has seen
2
Highlight OSS as
a core part of
modern
applications
3
©2022 F5
7
How is to be used?
Run the whole project
Review a pattern used for X
Take code to solve X in
your environment
Application
Observability
Management
Kubernetes
Infrastructure
©2022 F5
8
How do I use MARA?
Clone the
repository
Have
credentials for a
supported cloud
or a K8
installation
Run the setup
script
Run the startup
script
Congratulations!
You are running
MARA!
©2022 F5
9
Drawing it all out
MARA is a scaffold
that can be built on
and updated to
meet your needs
©2022 F5
10
Current Themes
©2022 F5
12
● Focus on incremental updates
● Development
○ Stable, defined interfaces
○ Software Bill of Materials (SBOM)
● Deployment
○ Use of continuous integration
○ Frequent releases
○ Automated testing
● Operational
○ Manage breaking changes
○ Manage component versions
Stability
©2022 F5
13
● Development
○ Design documents
● Deployment
○ Deployment documentation
● Operational
○ Operators' documentation
Documentation
©2022 F5
14
● Protocols over products
● Deployment targets
○ All targets at parity
○ Full NGINX IC build support
● Process improvements
○ Dependencies / Versions
○ Automation
○ Continuous integration
● Ingress
○ K8, Vendor, and Gateway support
● OpenTelemetry
Enhancements
©2022 F5
15
New Deployment Targets
©2022 F5
16
Kubernetes Targets
Azure
Canonical
MicroK8s
GCP
K3s Minikube
MARA can deploy via a
kubeconfig file to any
K8 installation with K8
loadbalancer and
persistent volume
support
©2022 F5
17
Infrastructure Targets
AWS Digital Ocean
Linode
MARA will provision and
configure infrastructure
and deploy itself on
several IaaS providers
©2022 F5
18
Improvements
©2022 F5
19
● Code Version Management
○ Python Versions
○ Python Package Versions
● Kubernetes Management
○ API Versions
○ Managed Versions
● Deployment Management
○ Helm Chart / Image Versions
● Management of inter-component dependencies
○ Component X requires specific version of
Component Y
● Creation of MARA best practices
Dependency and Version Maintenance
©2022 F5
20
● Jenkins added for automated deployment tests
○ AWS
○ Digital Ocean
○ K3s
○ Linode
○ MicroK8s
○ Minikube
● Jenkinsfiles used are available in repo under
/extras/Jenkins
● Status icons have been added to the repository
README.md
Deployment Testing
Image from the Jenkins Project
https://jenkins.io/
©2022 F5
21
● Replaces existing startup / destroy scripts
○ Written in BASH with Pulumi CLI calls
○ Overly complex and repetitive
● New Python startup / destroy / validate program
○ Leverages Pulumi Automation API
○ Reduction of complexity
○ Better extensibility
○ Better performance
○ More portable
○ Existing scripts have been deprecated
Automation API
©2022 F5
22
New Features
©2022 F5
24
● Exposes cluster resources outside the cluster
● NGINX-based solutions
○ Upstream (Community) Ingress
○ NGINX OSS Ingress (Plus)
● Multiple choices for use
○ Kubernetes Compatible
○ NGINX Vendor API
○ NGINX Kubernetes Ingress Gateway
Kubernetes Ingress
©2022 F5
25
Ingress Type Comparison
©2022 F5
28
Addition of OpenTelemetry
tracing
Documentation updates
Updates to management
endpoints
Support for docker-compose
deployment
Bank of Sirius Updates
(Image credit: Hubble, ESA/ Akira Fujii)
©2022 F5
29
Open Telemetry
©2022 F5
30
● OpenTelemetry Backend
○ Deployment of OTEL Operator
● OpenTelemetry Application Updates
○ Addition of OTEL logic to Bank of Sirius
● Trace Visualization
○ Addition of Jaeger Frontend
○ Push traces to Lightstep
○ Push OTEL to SumoLogic
● Work in Progress
○ OTEL for logs and metrics
● Breakout Session on MARA/OTEL
Open Telemetry Work
©2022 F5
31
● Work in Progress
● NGINX Service Mesh
○ OTEL included
● NGINX Ingress Controller
○ On roadmap
● NGINX OTEL Module
○ Tracing
○ Metrics (partial)
○ Logging (not started)
NGINX and OpenTelemetry
©2022 F5
32
MARA Telemetry (Now)
• OTEL collector consumes traces from application
• Prometheus consumes metrics
• ELK consumes logs
Collection
• Grafana for metrics
• Kibana for logs
• Logging for traces
Visualization
• OTEL Operator
• Prometheus Operator (kube-prometheus-stack)
• ELK / Filebeat
Deployed
Resources
©2022 F5
33
MARA Telemetry (Future)
• OTEL collector consumes traces from application
• OTEL collector consumes metrics
• OTEL collector consumes logs
Collection
• Jaeger
• Grafana
• Visualization/Trace SaaS
Visualization
• OTEL Operator
• Visualization
Deployed
Resources
©2022 F5
34
Community Engagement
©2022 F5
35
MARA Community Engagement
• Via the #mara channel
NGINX Community Slack
• Clone and use
• Fork /modify / pull request
• Discussions and Issues
GitHub Repository
• Reddit
• Stack Overflow
• Wiki
• Conferences / Webinars / Talks
Other Channels
MARA: Scaffolding for Modern Applications

More Related Content

What's hot

Scripting NGINX with njs for Fun and (No) Profit
Scripting NGINX with njs for Fun and (No) ProfitScripting NGINX with njs for Fun and (No) Profit
Scripting NGINX with njs for Fun and (No) ProfitNGINX, Inc.
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro FrontendMiki Lombardi
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTWNGINX, Inc.
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application ModernisationAjay Kumar Uppal
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Angel Alberici
 
Introduction to CloudHub 2.0
Introduction to CloudHub 2.0Introduction to CloudHub 2.0
Introduction to CloudHub 2.0NeerajKumar1965
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...LibbySchulze
 
How to Shift to a Serverless Mindset
How to Shift to a Serverless MindsetHow to Shift to a Serverless Mindset
How to Shift to a Serverless MindsetUXDXConf
 
Azure Fundamentals Part 2
Azure Fundamentals Part 2Azure Fundamentals Part 2
Azure Fundamentals Part 2CCG
 
DevSecOps Training Bootcamp - A Practical DevSecOps Course
DevSecOps Training Bootcamp - A Practical DevSecOps CourseDevSecOps Training Bootcamp - A Practical DevSecOps Course
DevSecOps Training Bootcamp - A Practical DevSecOps CourseTonex
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021AnuragSharma900
 
Exploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex GatewayExploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex Gatewayshyamraj55
 

What's hot (20)

Micro-frontend
Micro-frontendMicro-frontend
Micro-frontend
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
Scripting NGINX with njs for Fun and (No) Profit
Scripting NGINX with njs for Fun and (No) ProfitScripting NGINX with njs for Fun and (No) Profit
Scripting NGINX with njs for Fun and (No) Profit
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 
Micro frontends
Micro frontendsMicro frontends
Micro frontends
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTW
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
Cloudhub 2.0
Cloudhub 2.0Cloudhub 2.0
Cloudhub 2.0
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
Introduction to CloudHub 2.0
Introduction to CloudHub 2.0Introduction to CloudHub 2.0
Introduction to CloudHub 2.0
 
SRE & Kubernetes
SRE & KubernetesSRE & Kubernetes
SRE & Kubernetes
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...
 
How to Shift to a Serverless Mindset
How to Shift to a Serverless MindsetHow to Shift to a Serverless Mindset
How to Shift to a Serverless Mindset
 
Azure Fundamentals Part 2
Azure Fundamentals Part 2Azure Fundamentals Part 2
Azure Fundamentals Part 2
 
DevSecOps Training Bootcamp - A Practical DevSecOps Course
DevSecOps Training Bootcamp - A Practical DevSecOps CourseDevSecOps Training Bootcamp - A Practical DevSecOps Course
DevSecOps Training Bootcamp - A Practical DevSecOps Course
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021
 
cloude computing
cloude computingcloude computing
cloude computing
 
Exploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex GatewayExploring Universal API Management And Flex Gateway
Exploring Universal API Management And Flex Gateway
 

Similar to MARA: Scaffolding for Modern Applications

MARA: The Journey to OpenTelemetry
MARA: The Journey to OpenTelemetryMARA: The Journey to OpenTelemetry
MARA: The Journey to OpenTelemetryNGINX, Inc.
 
Deploying WSO2 API Manager in Production-Grade Kubernetes
Deploying WSO2 API Manager in Production-Grade KubernetesDeploying WSO2 API Manager in Production-Grade Kubernetes
Deploying WSO2 API Manager in Production-Grade KubernetesWSO2
 
DX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in KubernetesDX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in KubernetesWeaveworks
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Weaveworks
 
Speed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & KubernetesSpeed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & KubernetesICS
 
CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018
CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018
CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018Lucina Stricko, CSPO
 
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...DataScienceConferenc1
 
InfluxDB + Kepware: Start Monitoring Industrial Data Quickly
InfluxDB + Kepware: Start Monitoring Industrial Data QuicklyInfluxDB + Kepware: Start Monitoring Industrial Data Quickly
InfluxDB + Kepware: Start Monitoring Industrial Data QuicklyInfluxData
 
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOpsDeploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOpsWeaveworks
 
CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23LibbySchulze
 
Enabling Devops using Jenkins
Enabling Devops using JenkinsEnabling Devops using Jenkins
Enabling Devops using JenkinsPatrick Hynes
 
The Building Blocks of DX: K8s Evolution from CLI to GitOps
The Building Blocks of DX: K8s Evolution from CLI to GitOpsThe Building Blocks of DX: K8s Evolution from CLI to GitOps
The Building Blocks of DX: K8s Evolution from CLI to GitOpsOlyaSurits
 
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
 
Deploying NGINX in Cloud Native Kubernetes
Deploying NGINX in Cloud Native KubernetesDeploying NGINX in Cloud Native Kubernetes
Deploying NGINX in Cloud Native KubernetesKangaroot
 
DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses  DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses Docker, Inc.
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps WorkshopWeaveworks
 
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdfQuebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdfprune1
 

Similar to MARA: Scaffolding for Modern Applications (20)

MARA: The Journey to OpenTelemetry
MARA: The Journey to OpenTelemetryMARA: The Journey to OpenTelemetry
MARA: The Journey to OpenTelemetry
 
Deploying WSO2 API Manager in Production-Grade Kubernetes
Deploying WSO2 API Manager in Production-Grade KubernetesDeploying WSO2 API Manager in Production-Grade Kubernetes
Deploying WSO2 API Manager in Production-Grade Kubernetes
 
DX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in KubernetesDX, Guardrails, Golden Paths & Policy in Kubernetes
DX, Guardrails, Golden Paths & Policy in Kubernetes
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
 
Speed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & KubernetesSpeed & Agility of Innovation with Docker & Kubernetes
Speed & Agility of Innovation with Docker & Kubernetes
 
CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018
CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018
CNCF: Cross-cloud CI Dashboard v1.0.0 Release 01-26-2018
 
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...
[DSC Europe 23] Ved Prakash - Intro to GKE setup of airflow with helm and ter...
 
InfluxDB + Kepware: Start Monitoring Industrial Data Quickly
InfluxDB + Kepware: Start Monitoring Industrial Data QuicklyInfluxDB + Kepware: Start Monitoring Industrial Data Quickly
InfluxDB + Kepware: Start Monitoring Industrial Data Quickly
 
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOpsDeploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
 
CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23
 
Enabling Devops using Jenkins
Enabling Devops using JenkinsEnabling Devops using Jenkins
Enabling Devops using Jenkins
 
The Building Blocks of DX: K8s Evolution from CLI to GitOps
The Building Blocks of DX: K8s Evolution from CLI to GitOpsThe Building Blocks of DX: K8s Evolution from CLI to GitOps
The Building Blocks of DX: K8s Evolution from CLI to GitOps
 
Kubernetes 1.22
Kubernetes 1.22Kubernetes 1.22
Kubernetes 1.22
 
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)
 
Deploying NGINX in Cloud Native Kubernetes
Deploying NGINX in Cloud Native KubernetesDeploying NGINX in Cloud Native Kubernetes
Deploying NGINX in Cloud Native Kubernetes
 
DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses  DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdfQuebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
 
Microservices at Mercari
Microservices at MercariMicroservices at Mercari
Microservices at Mercari
 
Jenkins x gitops
Jenkins x gitopsJenkins x gitops
Jenkins x gitops
 

More from NGINX, Inc.

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法NGINX, Inc.
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナーNGINX, Inc.
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法NGINX, Inc.
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3NGINX, Inc.
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostNGINX, Inc.
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityNGINX, Inc.
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationNGINX, Inc.
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101NGINX, Inc.
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesNGINX, Inc.
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX, Inc.
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXNGINX, Inc.
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINX, Inc.
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXNGINX, Inc.
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...NGINX, Inc.
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXNGINX, Inc.
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes APINGINX, Inc.
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXNGINX, Inc.
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceNGINX, Inc.
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXNGINX, Inc.
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxNGINX, Inc.
 

More from NGINX, Inc. (20)

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & Kubecost
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINX
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINX
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes API
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINX
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

MARA: Scaffolding for Modern Applications

  • 1. MARA Scaffolding for ModernApplications Jason Schmidt Solutions Architect August 2022
  • 3. ©2022 F5 3 A Brief Introduction
  • 4. ©2022 F5 4 What is MARA? An example architecture using Kubernetes that aims to be as production ready as possible
  • 5. ©2022 F5 5 Who are we? NGINX Community and Alliances Team ○ Work with the OSS Community ○ Work with Partners Technical Experience ○ Operations ○ Development ○ Quality Assurance ○ Change Management ○ Project Management ○ Support ○ Training ○ Technical Writing
  • 6. ©2022 F5 6 Why did we build this? Leverage our experience to build a “best practice” example 1 Respond to the many existing anti-patterns the team has seen 2 Highlight OSS as a core part of modern applications 3
  • 7. ©2022 F5 7 How is to be used? Run the whole project Review a pattern used for X Take code to solve X in your environment Application Observability Management Kubernetes Infrastructure
  • 8. ©2022 F5 8 How do I use MARA? Clone the repository Have credentials for a supported cloud or a K8 installation Run the setup script Run the startup script Congratulations! You are running MARA!
  • 9. ©2022 F5 9 Drawing it all out MARA is a scaffold that can be built on and updated to meet your needs
  • 11. ©2022 F5 12 ● Focus on incremental updates ● Development ○ Stable, defined interfaces ○ Software Bill of Materials (SBOM) ● Deployment ○ Use of continuous integration ○ Frequent releases ○ Automated testing ● Operational ○ Manage breaking changes ○ Manage component versions Stability
  • 12. ©2022 F5 13 ● Development ○ Design documents ● Deployment ○ Deployment documentation ● Operational ○ Operators' documentation Documentation
  • 13. ©2022 F5 14 ● Protocols over products ● Deployment targets ○ All targets at parity ○ Full NGINX IC build support ● Process improvements ○ Dependencies / Versions ○ Automation ○ Continuous integration ● Ingress ○ K8, Vendor, and Gateway support ● OpenTelemetry Enhancements
  • 15. ©2022 F5 16 Kubernetes Targets Azure Canonical MicroK8s GCP K3s Minikube MARA can deploy via a kubeconfig file to any K8 installation with K8 loadbalancer and persistent volume support
  • 16. ©2022 F5 17 Infrastructure Targets AWS Digital Ocean Linode MARA will provision and configure infrastructure and deploy itself on several IaaS providers
  • 18. ©2022 F5 19 ● Code Version Management ○ Python Versions ○ Python Package Versions ● Kubernetes Management ○ API Versions ○ Managed Versions ● Deployment Management ○ Helm Chart / Image Versions ● Management of inter-component dependencies ○ Component X requires specific version of Component Y ● Creation of MARA best practices Dependency and Version Maintenance
  • 19. ©2022 F5 20 ● Jenkins added for automated deployment tests ○ AWS ○ Digital Ocean ○ K3s ○ Linode ○ MicroK8s ○ Minikube ● Jenkinsfiles used are available in repo under /extras/Jenkins ● Status icons have been added to the repository README.md Deployment Testing Image from the Jenkins Project https://jenkins.io/
  • 20. ©2022 F5 21 ● Replaces existing startup / destroy scripts ○ Written in BASH with Pulumi CLI calls ○ Overly complex and repetitive ● New Python startup / destroy / validate program ○ Leverages Pulumi Automation API ○ Reduction of complexity ○ Better extensibility ○ Better performance ○ More portable ○ Existing scripts have been deprecated Automation API
  • 22. ©2022 F5 24 ● Exposes cluster resources outside the cluster ● NGINX-based solutions ○ Upstream (Community) Ingress ○ NGINX OSS Ingress (Plus) ● Multiple choices for use ○ Kubernetes Compatible ○ NGINX Vendor API ○ NGINX Kubernetes Ingress Gateway Kubernetes Ingress
  • 24. ©2022 F5 28 Addition of OpenTelemetry tracing Documentation updates Updates to management endpoints Support for docker-compose deployment Bank of Sirius Updates (Image credit: Hubble, ESA/ Akira Fujii)
  • 26. ©2022 F5 30 ● OpenTelemetry Backend ○ Deployment of OTEL Operator ● OpenTelemetry Application Updates ○ Addition of OTEL logic to Bank of Sirius ● Trace Visualization ○ Addition of Jaeger Frontend ○ Push traces to Lightstep ○ Push OTEL to SumoLogic ● Work in Progress ○ OTEL for logs and metrics ● Breakout Session on MARA/OTEL Open Telemetry Work
  • 27. ©2022 F5 31 ● Work in Progress ● NGINX Service Mesh ○ OTEL included ● NGINX Ingress Controller ○ On roadmap ● NGINX OTEL Module ○ Tracing ○ Metrics (partial) ○ Logging (not started) NGINX and OpenTelemetry
  • 28. ©2022 F5 32 MARA Telemetry (Now) • OTEL collector consumes traces from application • Prometheus consumes metrics • ELK consumes logs Collection • Grafana for metrics • Kibana for logs • Logging for traces Visualization • OTEL Operator • Prometheus Operator (kube-prometheus-stack) • ELK / Filebeat Deployed Resources
  • 29. ©2022 F5 33 MARA Telemetry (Future) • OTEL collector consumes traces from application • OTEL collector consumes metrics • OTEL collector consumes logs Collection • Jaeger • Grafana • Visualization/Trace SaaS Visualization • OTEL Operator • Visualization Deployed Resources
  • 31. ©2022 F5 35 MARA Community Engagement • Via the #mara channel NGINX Community Slack • Clone and use • Fork /modify / pull request • Discussions and Issues GitHub Repository • Reddit • Stack Overflow • Wiki • Conferences / Webinars / Talks Other Channels

Editor's Notes

  1. Not exciting, but actually useful.
  2. Not exciting, but actually useful.
  3. It's easy! What if I run into trouble? Documentation, Issues, Discussions.
  4. How do we choose what to use? Can go with what's familiar, what's got the best tutorials, what the "standard" is. "Painting yourself into a corner" Goes back to being modular, being able to swap components
  5. How do we choose what to use? Can go with what's familiar, what's got the best tutorials, what the "standard" is. "Painting yourself into a corner" Goes back to being modular, being able to swap components