SlideShare a Scribd company logo
INTO THE BOX 2024
CBFS
Abstract, Extend, Integrate Any File System
Jon Clausen
Ortus Solutions
Senior Solutions Architect
Grand Rapids, Michigan
- ColdBox Module
- Abstract ANY
fi
lesystem within your ColdBox applications
- Con
fi
gure named disks that represent
fi
le systems
- Each disk is tied to a Storage Provider
- Storage Providers
- Local, RAM, Temporary, S3
- Various means to provide storage to your application
- Access and use disks using a simple API
What is CBFS?
- Abstraction
- Same API, di
ff
erent destinations
- Di
ff
erent locations for di
ff
erent tiers: development, staging, production
- Flexibility
- Ability to change providers with no change of code *
- Ease of Use
- Focus on abstraction instead of a speci
fi
c protocol
- Modularity
- Leverages ColdBox’s HVMC
- Any module can de
fi
ne disks or consume disks
Why CBFS?
Old School: List a Directory
CBFS:
Old School: Deliver an Image
CBFS:
Old School: File Writes
CBFS:
Architecture
- Responsible for managing disks
- Tracks instances and metadata
- Register / unregister
- Startup / shutdown
- Interact with your disks
Disk Service
- Use to register and interact with your disks
- Disks with the same names can can use di
ff
erent providers depending on the deploy tier
- Get names of disks
- diskService.names()
- Get count of disks
- diskService.count()
- Obtaining Disk Instances
- diskService.get( diskName )
- Default Disk
- diskService.defaultDisk()
- diskService.tempDisk()
Disk Service
- Local
- Java 11 + NIO
- 95% of our implementation is not using native CFML
- Adobe CF / Lucee is using Java-8 and earlier IO packages
- RAM
- Stores
fi
les in memory
- Temp
- Stores
fi
les in CFML engine’s temporary
fi
le storage
- S3
- Uses AmazonS3@s3sdk
- Connect to S3, Digital Ocean Spaces, Azure Blog Storage ( via S3 API implementation)
Included Providers
Global Configuration
Modular Configuration
- Retrieving Files
- disk.get( path )
- disk.allContents()
- Storing Files
- disk.create( path, contents )
- disk.append( path, contents)
- Deleting Files
- disk.delete( path )
- Directories
- disk.cleanDirectory( directory
Disk Instances
Injection DSL
- Disk Interface ( IDisk.cfc )
- Pointers
Custom File Systems
Case Study: ContentBox
Q & A
Thank You!

More Related Content

PPT
11 distributed file_systems
PDF
Posscon2013
PDF
Gpfs introandsetup
PDF
Spark Summit EU talk by Jiri Simsa
PDF
Spark Summit EU talk by Jiri Simsa
PPT
Chapter-5-DFS.ppt
11 distributed file_systems
Posscon2013
Gpfs introandsetup
Spark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri Simsa
Chapter-5-DFS.ppt

Similar to Disk to Cloud: Abstract your File Operations with CBFS (20)

PPTX
5.distributed file systems
PPT
Best Practices for Deploying Hadoop (BigInsights) in the Cloud
PDF
Big data interview questions and answers
PDF
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
PDF
NonStop SQL/MX DBS Explained
PDF
Open Source Backup Conference 2014: Rear, by Ralf Dannert
PDF
DataStax | Building a Spark Streaming App with DSE File System (Rocco Varela)...
PDF
Cloud Data Encryption (Aluhut Edition) - 2019
PPTX
Oracle cloud storage and file system
PDF
Learning from ZFS to Scale Storage on and under Containers
PDF
The Pendulum Swings Back: Converged and Hyperconverged Environments
PPTX
Mass storage systemsos
PPT
SHARE Seattle 2015 Taming the Beast – Best Practices for zFS with CICS
PPTX
openSUSE storage workshop 2016
PPTX
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
PPT
les_01_arch_presentation_asm_oracle_rac_
PPT
Arquitectura para aprender a administrar Oracle 11g
PDF
Ceph Day Taipei - Bring Ceph to Enterprise
PPTX
Ceph Day Bring Ceph To Enterprise
5.distributed file systems
Best Practices for Deploying Hadoop (BigInsights) in the Cloud
Big data interview questions and answers
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
NonStop SQL/MX DBS Explained
Open Source Backup Conference 2014: Rear, by Ralf Dannert
DataStax | Building a Spark Streaming App with DSE File System (Rocco Varela)...
Cloud Data Encryption (Aluhut Edition) - 2019
Oracle cloud storage and file system
Learning from ZFS to Scale Storage on and under Containers
The Pendulum Swings Back: Converged and Hyperconverged Environments
Mass storage systemsos
SHARE Seattle 2015 Taming the Beast – Best Practices for zFS with CICS
openSUSE storage workshop 2016
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
les_01_arch_presentation_asm_oracle_rac_
Arquitectura para aprender a administrar Oracle 11g
Ceph Day Taipei - Bring Ceph to Enterprise
Ceph Day Bring Ceph To Enterprise
Ad

More from Ortus Solutions, Corp (20)

PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
PDF
June Webinar: BoxLang-Dynamic-AWS-Lambda
PDF
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
PDF
What's-New-with-BoxLang-Brad Wood.pptx.pdf
PDF
Getting Started with BoxLang - CFCamp 2025.pdf
PDF
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
PDF
What's New with BoxLang Led by Brad Wood.pdf
PDF
Vector Databases and the BoxLangCFML Developer.pdf
PDF
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
PDF
Use JSON to Slash Your Database Performance.pdf
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
PDF
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
PDF
Supercharging CommandBox with Let's Encrypt.pdf
PDF
Spice up your site with cool animations using GSAP..pdf
PDF
Passkeys and cbSecurity Led by Eric Peterson.pdf
PDF
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
PDF
Integrating the OpenAI API in Your Coldfusion Apps.pdf
PDF
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
PDF
Geting-started with BoxLang Led By Raymon Camden.pdf
PDF
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
June Webinar: BoxLang-Dynamic-AWS-Lambda
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
What's-New-with-BoxLang-Brad Wood.pptx.pdf
Getting Started with BoxLang - CFCamp 2025.pdf
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
What's New with BoxLang Led by Brad Wood.pdf
Vector Databases and the BoxLangCFML Developer.pdf
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
Use JSON to Slash Your Database Performance.pdf
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
Supercharging CommandBox with Let's Encrypt.pdf
Spice up your site with cool animations using GSAP..pdf
Passkeys and cbSecurity Led by Eric Peterson.pdf
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
Integrating the OpenAI API in Your Coldfusion Apps.pdf
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
Geting-started with BoxLang Led By Raymon Camden.pdf
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
Ad

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
System and Network Administration Chapter 2
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
System and Network Administraation Chapter 3
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
How Creative Agencies Leverage Project Management Software.pdf
Odoo Companies in India – Driving Business Transformation.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PTS Company Brochure 2025 (1).pdf.......
CHAPTER 2 - PM Management and IT Context
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
VVF-Customer-Presentation2025-Ver1.9.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
Operating system designcfffgfgggggggvggggggggg
L1 - Introduction to python Backend.pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
ISO 45001 Occupational Health and Safety Management System
System and Network Administration Chapter 2
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Adobe Illustrator 28.6 Crack My Vision of Vector Design
System and Network Administraation Chapter 3
2025 Textile ERP Trends: SAP, Odoo & Oracle
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How Creative Agencies Leverage Project Management Software.pdf

Disk to Cloud: Abstract your File Operations with CBFS

  • 1. INTO THE BOX 2024 CBFS Abstract, Extend, Integrate Any File System
  • 2. Jon Clausen Ortus Solutions Senior Solutions Architect Grand Rapids, Michigan
  • 3. - ColdBox Module - Abstract ANY fi lesystem within your ColdBox applications - Con fi gure named disks that represent fi le systems - Each disk is tied to a Storage Provider - Storage Providers - Local, RAM, Temporary, S3 - Various means to provide storage to your application - Access and use disks using a simple API What is CBFS?
  • 4. - Abstraction - Same API, di ff erent destinations - Di ff erent locations for di ff erent tiers: development, staging, production - Flexibility - Ability to change providers with no change of code * - Ease of Use - Focus on abstraction instead of a speci fi c protocol - Modularity - Leverages ColdBox’s HVMC - Any module can de fi ne disks or consume disks Why CBFS?
  • 5. Old School: List a Directory CBFS:
  • 6. Old School: Deliver an Image CBFS:
  • 7. Old School: File Writes CBFS:
  • 9. - Responsible for managing disks - Tracks instances and metadata - Register / unregister - Startup / shutdown - Interact with your disks Disk Service
  • 10. - Use to register and interact with your disks - Disks with the same names can can use di ff erent providers depending on the deploy tier - Get names of disks - diskService.names() - Get count of disks - diskService.count() - Obtaining Disk Instances - diskService.get( diskName ) - Default Disk - diskService.defaultDisk() - diskService.tempDisk() Disk Service
  • 11. - Local - Java 11 + NIO - 95% of our implementation is not using native CFML - Adobe CF / Lucee is using Java-8 and earlier IO packages - RAM - Stores fi les in memory - Temp - Stores fi les in CFML engine’s temporary fi le storage - S3 - Uses AmazonS3@s3sdk - Connect to S3, Digital Ocean Spaces, Azure Blog Storage ( via S3 API implementation) Included Providers
  • 14. - Retrieving Files - disk.get( path ) - disk.allContents() - Storing Files - disk.create( path, contents ) - disk.append( path, contents) - Deleting Files - disk.delete( path ) - Directories - disk.cleanDirectory( directory Disk Instances
  • 16. - Disk Interface ( IDisk.cfc ) - Pointers Custom File Systems
  • 18. Q & A