Skpr provides an Elasticsearch service for development teams that are looking to build feature-rich search functionality.
In this blog post, we will cover two common architectures that can be configured.
Architectures
Standard
This architecture is a simple approach that we see regularly with our clients.
With this approach, the application is responsible for indexing, querying and rendering the output from Elasticsearch.
Keeping both the cost and complexity down as it is only a single application performing all search-related operations.
Direct Connection
Another popular pattern for development teams is to defer the querying and render (shown in the standard architecture) logic to javascript based frontends which can provide rich search experiences for site viewers.
This architecture can also be used for:
- Federated Search by allowing multiple applications to index while using the proxy as a central search endpoint.
- Expose documents/content to external teams/solutions.
- Improving search performance by querying Elasticsearch directly.
Highly Available
Using Amazon OpenSearch Service, Skpr can provide a robust, highly available service to back your search functionality.
Security Features
Both architectures have the following security features.
Role-Based Access Controls
Permissions are managed using the Opensearch RBAC system allows for fine-grained access controls.
The Drupal application is given a set of credentials that can only read/write to specific indexes, while the Elasticsearch proxy is only allowed to read from those indexes.
Private Network
The managed Elasticsearch service is deployed to the internal network on the Skpr platform which means that only a Skpr application with a set of credentials will be able to access it.
Skpr Configuration
Credentials are provided to applications using the Skpr configuration system.
For more information see our Skpr configuration blog post which does a deep dive into how it works.
For More Information
Our Elasticsearch implementation is designed to be versatile and supports a wide range to use cases.
Contact us today if you would like to discuss how our Elasticsearch service can work for you.