Lightweight project package
per project
Serious project package
per project
Zerops is a cloud platform committed to creating the ideal mix of affordability, developer experience, flexibility and scalability. No matter the type of environment or size and complexity of the app. And it turns out this mix works beautifully with the Laravel ecosystem!
Resource allocation should respond dynamically in both directions - scaling up for traffic spikes and down during quiet periods. Fine-grained adjustment capabilities prevent resource waste while ensuring consistent performance throughout load variations.
Evolving architecture brings new services, data stores, and communication patterns. The foundation must accommodate this growing complexity without sacrificing operational efficiency or developer experience.
Stateful components require sophisticated orchestration - from scaling and replication to backup and recovery strategies. Their management demands a careful balance between automation and granular control.
High availability requires running services across multiple physical machines with automated failover. Combined with encrypted backups and rapid recovery capabilities, this ensures both operational continuity and data protection.
Development infrastructure must eliminate environment-specific behavior by design. Resource allocation should be the only variable between environments, making production behavior predictable from day one, eliminating the "it works on my machine" problem.
Infrastructure foundations must maintain transparency and modifiability, built on proven practices and open technologies. This ensures both operational independence and architectural freedom.
Pipeline complexity should follow application needs, not infrastructure limitations. From straightforward git workflows to sophisticated build stages, deployment automation must maintain full control while eliminating maintenance burden.
Developers need immediate insight into system behavior without additional instrumentation work. Structured logs, metrics, and traces should be collected automatically from all services, aggregated centrally, and forwarded to existing monitoring tools.
Environment variables and secrets must be centrally managed and securely distributed across development stages. Values should be protected from unauthorized access, automatically propagated to services that need them, and support dynamic configuration between connected services.
Local development environments must mirror production behavior while maintaining development speed. Developers need direct access to live services and data without wrestling with complex local infrastructure setups or environment synchronization.
Services should feel like they're running right next to each other while maintaining strict isolation underneath. Developers need seamless service discovery and communication locally, with straightforward domain and routing management for public access - all without having to think about the underlying networking complexity.
Modern development workflows demand more than interfaces - they require programmatic control at every level. Infrastructure should provide native APIs, CLI tools, and templating capabilities that integrate naturally with existing development patterns while maintaining consistent behavior across all interaction points.
This recipe showcases a production-ready integration of basic Laravel apps to Zerops. The fact this environment is called development comes just from its minimal, cost-efficient resource allocation, selection of the Lightweight core package.
This recipe showcases a production-ready integration of Jetstream apps to Zerops. The fact this environment is called development comes just from its minimal, cost-efficient resource allocation, selection of the Lightweight core package.
This recipe showcases a production-ready integration of Filament with Zerops. The fact this environment is called development comes just from its minimal, cost-efficient resource allocation, selection of the Lightweight core package.
This recipe showcases a production-ready integration of TwillCMS with Zerops. The fact this environment is called development comes just from its minimal, cost-efficient resource allocation, selection of the Lightweight core package.
project: name: laravel-jetstream-prod corePackage: SERIOUS services: - hostname: db type: postgresql@14 mode: HA - hostname: app type: php-nginx@8.3 envSecrets: API_KEY: uODWOe/gCX+wE... minContainers: 3 - hostname: mailpit type: go@1 maxContainers: 1 - hostname: cache type: valkey@7.2 mode: HA - hostname: storage type: object-storage objectStorageSize: 2
# install zcli, see docs
# for more install options
➜~ npm i -g @zerops/zcli
# login using token that can be
# obtained at the token management page
# (needs to be done only once)
➜~ zcli login PLACE_TOKEN_HERE
# navigate to the root of your project
# (where zerops.yml is) and use push
# command to trigger the pipeline
➜~ cd ./my-project
➜my-project zcli push
zerops: - setup: app build: base: php@8.3 builCommands: - composer i -o --no-dev deployFiles: ./ cache: vendor run: base: php-nginx@8.3 siteConfigPath: site.conf.tmpl envVariables: DB_CONNECTION: pgsql DB_DATABASE: ${db_dbName} DB_HOST: ${db_hostname} DB_PASSWORD: ${db_password} DB_PORT: ${db_port} DB_USERNAME: ${db_user} initCommands: - php artisan view:cache - php artisan config:cache - php artisan route:cache - php artisan migrate -i -f - php artisan optimize
We've configured a medium-sized production setup and compared similar configurations across providers. Where possible, we use dedicated CPU cores to help normalize performance levels, since shared CPU offerings can vary between providers. While this example represents a specific configuration, similar pricing patterns tend to appear across different project sizes.