Workspaces
Workspaces are isolated, containerized development interfaces within an Ascend Instance. They provide an Integrated Development Environment (IDE) where developers and data engineers can interact directly with project resources, enabling coding, testing, and management of data workflows in a controlled setting.
Key Features
-
Isolation and Containerization: Each workspace operates within a container, ensuring a consistent environment that reflects the project's configuration and dependencies. This isolation ensures that changes made in one workspace do not impact others, making it safe to experiment and develop without affecting the broader environment.
-
Integrated IDE: Workspaces include an IDE-like interface, offering tools and features tailored to data engineering workflows. Users can write and test code, configure connections, and manage project resources directly, streamlining the development process.
-
Resource Access: Workspaces provide access to project resources such as data connections, vaults, components, and configurations. This integration allows real-time access and management of all necessary project elements from a single interface. Since Workspaces are tied to a specific Environment, administrators can restrict the access a developer has based on how they provision access to the Environment.
-
Git Integration and CI/CD: Workspaces allow developers to work directly from any branch of their Git repository. This integration facilitates version control, enabling users to track changes, collaborate, and maintain code quality. When changes are ready, you can merge them into the main branch, triggering CI/CD pipelines that automate testing, validation, and deployment processes. This seamless integration helps ensure that updates are consistently managed and efficiently moved through the development lifecycle.
-
Scalability: Workspaces can be scaled up or down based on project needs, allowing for flexible resource management that aligns with development demands.
Workspace Configuration
- Environment: Workspaces can only run in a single Ascend Environment and are tied to the security boundaries of that Environment. Once a Workspace is created, it cannot be moved to a different Environment.
- Project: Within a Workspace, you can select a Project to work on. You can explore the project resources and build and run flows.
- Branch and Base Branch: Workspaces are tied to a git branch within your Git Repository. This will typically be a development branch for the developer, like
jane/dev-feature-a
, wherejane
is the developer anddev-feature-a
is where she is developingFeature A
. Any changes made to your Project files in the Workspace will be committed to this branch.
While a Workspace is tied to a single Environment, you can change the Project and the Git Branch for your Workspace. This allows developers to work on multiple Projects and easily switch between them, while ensuring that there are no conflicts with other developers working in Ascend.
- Profile: A Workspace uses a Profile to define the configurations for running flows. The profiles are defined in the
profiles
folder of your project.
Working in a Workspace
Workspaces are the heart of your development on Ascend, packed with features to streamline building and managing data flows:
- File Repository System: Access your external connections to databases and warehouses, tweak runtime parameters, and manage vaults to securely handle secrets.
- Data Flows Management: Access components within each flow, including read, transformation, and write components, to build, reuse, or reorganize them as needed.
- Editor and Build Explorer: Edit files with ease, use the side-by-side editor to compare components, and get quick insights into your Git branch status, helping you manage code changes effectively.
- Interactive Flow Diagrams: Optimize and troubleshoot pipelines with a clear visual representation 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 processes.
- Toolbar: Tools available to you like your File Tree and Connections.
- File Tree: Your Project folders and files will be displayed here. You can use the File Tree to create, move, and delete files and folders. You can also click on files in the File Tree to open them in the Editor.
- Editor: Edit files with ease, using the side-by-side editor to compare components. The Editor allows you to configure and modify how you want your files and tabs to be displayed so you can easily work on multiple files at once.
- Build Explorer: The Build Explorer allows you to view the built versions of your flows, run your flows, and view the results of completed flows. For more information on the Build Explorer, see the Build Explorer page.
- Status Bar: You can view the status of the most current build, the current branch, the status of your branch compared to the base branch, and other helpful information.