Workspace
A Workspace is an isolated, containerized development interface within an Ascend Instance. It provides an integrated development environment (IDE) where developers and data engineers directly interact with project resources. Workspaces enable efficient coding, testing, and management of data workflows in a controlled setting.
Key features​
-
Isolation and containerization: Each Workspace operates within a container, providing a consistent environment that reflects the project's configuration and dependencies. This isolation prevents changes in one Workspace from affecting others, creating a safe space to experiment without impacting the broader environment.
-
Integrated IDE: Workspaces offer an IDE-like interface with tools tailored for data engineering workflows. Users can write code, test functionality, configure Connections, and manage project resources directly, streamlining the development process.
-
Resource access: Workspaces provide access to project resources including data Connections, Vaults, Components, and configurations. This integration enables real-time access and management of all necessary project elements from a single interface. Since Workspaces link to a specific Environment, administrators can control developer access based on Environment permissions.
-
Git integration and CI/CD: Workspaces support development from any branch in your Git repository. This integration simplifies version control, helps teams track changes, collaborate effectively, and maintain code quality. When development completes, merge changes into the
main
(or default) branch to trigger automated CI/CD pipelines for testing, validation, and deployment. This workflow ensures consistent update management throughout the development lifecycle. -
Scalability: Scale Workspaces up or down based on project needs, allowing flexible resource management that aligns with development demands.
Workspace configuration​
- Environment: Workspaces run in a single Ascend Environment and adhere to that Environment's security boundaries. Once created, a Workspace cannot move to a different Environment.
- Project: Within a Workspace, select a Project to work on. Explore project resources and build and run Flows.
Workspaces can also be created from your Ascend Project settings and attached to that Project
- Branch and base branch: Workspaces connect to a Git branch within your Git Repository. This typically serves as a development branch, such as
sean/dev
. Any changes to Project files in the Workspace commit to this branch.
While a Workspace links to a single Environment, you can change the Project and Git Branch within your Workspace. This allows you to work on multiple Projects and switch between them easily, while preventing conflicts with other developers working in Ascend.
- Profile: A Workspace uses a Profile to define configurations for running Flows. Define profiles in the
profiles
folder of your project.
Developing in a Workspace​
Workspaces facilitate your development in Ascend, with features that streamline building and managing data Flows:
- File repository system: Access external Connections to databases and warehouses, adjust runtime parameters, and manage vaults to secure sensitive information.
- Data Flows management: Access Components within each Flow, including read, transformation, and write Components to build, reuse, or reorganize as needed.
- Editor and build explorer: Edit files efficiently, use the side-by-side editor to compare Components, and get quick insights into your Git branch status to manage code changes effectively.
- Interactive Flow diagrams: Optimize and troubleshoot pipelines with visual representations of your pipeline structure and detailed run histories.
- CI/CD integration: Work from any branch of your Git repository, merge changes into the main branch, and trigger CI/CD pipelines to automate testing and deployment.
Workspace tour​
- Build panel - View all your Flow Components and their types for a comprehensive development overview
- Files panel - Navigate the complete Project file tree to create, rename, and delete files through a familiar interface
- Source control panel - Track all file changes on your current branch and access the Git log for native Git branch and Deployment management
- Workspace info and settings - See essential information about your Workspace Project, branch, Profile, and settings at a glance
- Build info panel - Monitor your current Project and Flow build status and quickly identify and troubleshoot errors
- Flow Graph - Examine visual representations of your pipeline structure with detailed, Component-level run history
- Search - Find and navigate your Projects and Flows efficiently using the search bar or the
Cmd+K
shortcut - Otto Agent - Collaborate with Otto, the intelligent data engineering assistant that functions as your personal pair programmer within the Ascend platform