Planning Your BDK Project
A checklist to guide the planning of your BDK Book project, covering key requirements and considerations.
Software Requirements
Ensure you have access to the following software requirements.
Book Design
Books are collections of operations that define specific actions within an automation. Each operation in a Book represents an individual task or step that contributes to a larger process. Designing a Book involves defining these operations to ensure they align with the automation’s objectives. To guide this process, take into account the following considerations:
1. Functionality
Identify the specific operations needed for the Book. Each operation should have a clear and specific automation purpose.
Questions
- What actions does the user need to automate in Kognitos?
- Can the actions be broken down into individual steps?
Examples
Consider these operations for a Weather Book:
- Get the current temperature in a specific city.
- Check the current air quality index (AQI).
- Determine delays or disruptions caused by severe weather for shipping and transportation.
- Notify attendees of weather-related changes for events.
2. Data
Clearly define each operation's inputs, outputs, and processing steps.
Questions
- What input or parameters are needed for each operation?
- What output or data should each operation return upon completion?
- How will data be transformed, manipulated, or processed in each operation?
Examples
Consider an operation that gets the temperature in a specific city:
Input |
|
Output |
|
Processing Steps |
|
3. Error Handling
Consider common error scenarios and define how they will be handled.
Questions
- What are the potential error scenarios that could occur?
- How will these errors be handled and/or logged?
Examples
Consider the following error scenarios for a Weather Book:
1. Invalid Input
- A user enters a non-existent city name (e.g., "Atlantis").
- The system receives a blank input for the city name.
2. API Unavailability
- The weather API is temporarily down or unreachable.
- A network timeout occurs during an API call.
Integrations
If you plan to integrate with an external API in your Book, it’s important to assess the target service's requirements, limitations, and authentication mechanisms. The following considerations will ensure your chosen API aligns with your automation needs and integrates seamlessly into your BDK project.
1. Authentication & Authorization
Understand the authentication requirements for your target integration. BDK supports standard API authentication methods, including API keys, OAuth 2.0, client credentials, etc.
Questions
- Does the API require authentication? If so, what kind?
- Are there specific permissions or roles required to access certain API endpoints?
- Can you obtain the necessary access and permissions for all required credentials?
2. Functionality & Data Flow
Identify which API endpoints will be used and define the data that will be exchanged.
Questions
- Which API endpoints will your Book use?
- What data will be sent or received?
3. Rate Limits and Usage
Review the API’s rate limits and usage quotes. Ensure they can handle your expected request volume and check for additional costs or restrictions.
Questions
- Are there API rate limits or usage quotes?
- Does the API’s rate limit support the expected request volume for your workflows?
- Are there additional costs or restrictions for exceeding usage limits?
4. Documentation and Support
Evaluate if the API documentation is clear and if provider support is accessible.
Questions
- Is the API documentation comprehensive and easy to follow?
- Does the API provider offer support?
5. Scalability
Plan for future scalability and consider how the API will handle growing request needs.
Questions
- Can the API handle increasing request volumes as workflows grow?
- Does the API support additional functionality that might be required in future Books?
Deployment
Prepare to deploy and manage a Docker container.
Considerations
- Ensure the required infrastructure is in place to deploy a Docker container in the cloud, on-premises, or in a hybrid environment.
- Plan strategies for:
- Managing the container lifecycle, including scaling, networking, and security.
- Implementing logging to track container activity
- Monitoring container health and performance
- Updating Docker images for new releases with clear versioning and testing practices.
Updated 7 days ago