What is Object Storage?
Object Storage is ideal for storing and retrieving large amounts of unstructured data such as:- Media Files - Images, videos, audio files
- Backups - Application and database backups
- Static Assets - Website assets, downloadable files
- Data Lakes - Large datasets for analytics and ML
- Document Storage - PDFs, spreadsheets, documents
- Application Data - User uploads, generated files
Key Features
S3 Compatibility
Object Storage is fully compatible with Amazon S3 API, allowing you to:- Use existing S3 client libraries and tools
- Migrate from AWS S3 with minimal code changes
- Leverage the extensive S3 ecosystem
High Performance
- Optimized for high-throughput workloads
- Built for concurrent access from multiple services
- Efficient handling of large files and datasets
Scalability
- Store unlimited amounts of data
- Pay only for what you use
- Automatically scales to meet demand
Getting Started
Creating Object Storage
Create your first storage bucket:- Via Zerops GUI - Navigate to your project and add Object Storage service
- Via Import - Use YAML configuration to define buckets
Example Configuration
Access Configuration
Access Details
Your Object Storage service provides:- Endpoint URL - S3-compatible endpoint for API access
- Access Key - Credential for authentication
- Secret Key - Secret for authentication
- Bucket Names - Created bucket identifiers
Environment Variables
Access credentials are automatically available as environment variables:Usage Examples
Node.js with AWS SDK
Python with boto3
Go with AWS SDK
Managing Buckets
Creating Buckets
Buckets can be created:- During Service Creation - Define buckets in your import YAML
- Via MinIO Client - Use
mcCLI tool via Zerops VPN - Via S3 API - Programmatically create buckets
Bucket Policies
Configure access policies for your buckets:- Private - Only authenticated requests allowed (default)
- Public Read - Allow anonymous downloads
- Custom Policies - Fine-grained access control via S3 bucket policies
Best Practices
Performance
- Use multipart uploads for files larger than 100MB
- Implement parallel uploads/downloads for large files
- Use appropriate chunk sizes for streaming
- Cache frequently accessed objects
Security
- Never expose access keys in client-side code
- Use presigned URLs for temporary access
- Implement bucket policies for access control
- Rotate access keys periodically
- Use HTTPS for all requests
Cost Optimization
- Set appropriate lifecycle policies for old data
- Compress files before uploading when possible
- Monitor storage usage regularly
- Delete unused objects and buckets
Organization
- Use clear, hierarchical key naming (e.g.,
uploads/2024/01/file.jpg) - Separate different types of data into different buckets
- Use metadata for better object organization
- Implement versioning for critical data
Common Use Cases
User File Uploads
Static Asset Serving
Backup Storage
Popular Guides
- zCLI - Command-line tool for managing Zerops services
- Zerops VPN - Securely access your Object Storage
- Environment Variables - Configure your application
Support
Need help with Object Storage?- Join our Discord community - Get help from our team and other members
- Check the MinIO documentation for advanced features
- Share your knowledge and help others in the community