What is Hasura?
Hasura is an open-source platform that provides real-time data access to applications through a RESTful and GraphQL API. It enables developers to build backend services quickly by automatically generating APIs from database schemas.
History of Hasura
Hasura was created in 2016 as an open-source project focused on simplifying the development of backend services. The project has grown significantly since its inception, with a strong focus on developer experience and rapid API generation capabilities.
Key Features of Hasura
- Automatic API Generation: Automatically generates RESTful and GraphQL APIs from database schemas without requiring manual code writing
- Real-time Data Access: Provides real-time data access to applications through the generated APIs
- Policy Engine: Includes a built-in policy engine for managing access control at the row level
- Schema Management: Supports schema management with automatic updates when database structures change
- Multi-tenant Support: Designed to support multi-tenant deployment scenarios
- Open Source: Available as open-source software with community-driven development
Use Cases
- Building backend services for web and mobile applications
- Creating APIs from existing database schemas
- Implementing row-level security policies
- Developing microservices architectures
- Rapid prototyping of application backends
- Connecting frontend applications to data sources without custom API development
Benefits of Hasura
- Reduces time-to-market by automating API generation
- Provides consistent API structure across different data sources
- Offers built-in security features for data access control
- Supports multiple API formats (REST and GraphQL)
- Maintains database schema as the source of truth
- Enables rapid development cycles through automation
How to Install Hasura
Hasura can be deployed through various methods including Docker, Kubernetes, or direct installation. The deployment process typically involves:
- Downloading the appropriate version for your environment
- Configuring database connection settings
- Setting up authentication and authorization parameters
- Deploying to your infrastructure
Security / Administration / Configuration
Hasura includes built-in security features that help protect data and API access:
- Row-Level Security: The policy engine allows you to define which rows in tables are accessible to different users or roles
- API Access Control: Configurable permissions for different API endpoints
- Admin Interface Protection: The admin secret parameter helps secure administrative access
Best Practices for Hasura
- Use strong, unique values for the admin secret
- Regularly review and update security policies based on data changes
- Monitor API usage to detect unusual patterns
- Keep your Hasura instance updated with the latest security patches
- Implement proper logging and monitoring for production environments
Configuration Parameters
After purchasing this application on Esadax, you will be prompted to provide the configuration parameters below. Esadax adds the supplied variables to the deployment so the application can be launched with the configuration it requires.
| Parameter |
Description |
HASURA_ADMIN_SECRET |
Value supplied to the deployment for HASURA_ADMIN_SECRET. |
Once the values are configured, click Deploy to launch the application. The purchased application will use the supplied configuration values, including credentials such as usernames and passwords when those parameters are provided.
Conclusion
Hasura provides a powerful platform for developers who need to build backend services quickly. By automating API generation from database schemas, it significantly reduces development time while maintaining strong security controls through its policy engine. The open-source nature of the project allows for flexibility in deployment while providing essential features for modern application architectures.