Access your desktop anywhere, anytime, from any device
- Workspaces
- Godaddy Workspace Email
- Workspaces Client
- Workspaces Aws
- Workspaces For Rent
- Workspaces Google
- Www.workspacesolutions.com
Workspaces
Amazon WorkSpaces is a managed, secure Desktop-as-a-Service (DaaS) solution. You can use Amazon WorkSpaces to provision either Windows or Linux desktops in just a few minutes and quickly scale to provide thousands of desktops to workers across the globe. You can pay either monthly or hourly, just for the WorkSpaces you launch, which helps you save money when compared to traditional desktops and on-premises VDI solutions. Amazon WorkSpaces helps you eliminate the complexity in managing hardware inventory, OS versions and patches, and Virtual Desktop Infrastructure (VDI), which helps simplify your desktop delivery strategy. With Amazon WorkSpaces, your users get a fast, responsive desktop of their choice that they can access anywhere, anytime, from any supported device.
First, some vocabulary: in the context of the workspace feature, a project is the whole directory tree making up your workspaces (often the repository itself). A workspace is a specific named package stored anywhere within the project. Finally, a worktree is the name given to packages that list their own child workspaces. A project contains one or more worktrees, which may themselves contain any number of. Amazon WorkSpaces App is used to connect to an Amazon WorkSpace – a cloud desktop that you can use for your day-to-day business tasks such as editing documents, accessing web applications, and sending/receiving company email. You need an existing Amazon WorkSpaces account to use this app. To learn more about Amazon WorkSpaces and setting up your own account, visit. Amazon WorkSpaces is a managed, secure Desktop-as-a-Service (DaaS) solution. You can use Amazon WorkSpaces to provision either Windows or Linux desktops in just a few minutes and quickly scale to provide thousands of desktops to workers across the globe. You can pay either monthly or hourly, just for the WorkSpaces you launch, which helps you save.
through July 31st, 2021 with the AWS Free Tier
Simplify Desktop Delivery
Amazon WorkSpaces helps you eliminate many administrative tasks associated with managing your desktop lifecycle including provisioning, deploying, maintaining, and recycling desktops. There is less hardware inventory to manage and no need for complex virtual desktop infrastructure (VDI) deployments that don’t scale.
Reduce Costs
Amazon WorkSpaces eliminates the need to over-buy desktop and laptop resources by providing on-demand access to cloud desktops that include a range of compute, memory, and storage resources to meet your users' performance needs.
Keep Your Data Secure
Amazon WorkSpaces is deployed within an Amazon Virtual Private Network (VPC), provide each user with access to persistent, encrypted storage volumes in the AWS Cloud, and integrate with AWS Key Management Service (KMS). No user data is stored on the local device. This helps improve the security of user data and reduces your overall risk surface area.
Centrally Manage and Scale Your Global Desktop Deployment
Amazon WorkSpaces is available in 13 AWS Regions and provides access to high performance cloud desktops wherever your teams get work done. You can manage a global deployment of many thousands of WorkSpaces from the AWS console. And you can rapidly provision and de-provision desktops as the needs of your workforce change.
Use cases
Provide secure cloud desktops for remote, mobile, and contract employees
The rapid growth of remote and mobile workers is placing pressure on IT to provide fast, easy access to corporate applications and data from the device of their choice. Amazon WorkSpaces helps mobile and remote employees access the applications users need by delivering a cloud desktop accessible anywhere with an internet connection using any supported device.
Enable bring your own device
To deliver on the promise of Bring Your Own Device (BYOD) initiatives, IT must ensure employees can easily and securely access their applications and data across a large and constantly changing number of devices. Amazon WorkSpaces lets you run a cloud desktop directly on a wide range of devices like PC, Mac, iPad, Kindle Fire, Android tablet, Chromebook, and web browsers like Firefox, and Chrome. This gives you the tools to deliver a secure, responsive desktop experience that will delight your users and help make your BYOD initiative a reality.

Rapidly provision and scale desktops for software test and development
Developers and test teams need access to a secure, high-performance WorkSpace for completing tasks without the expense and inventory that comes with a lot of over-provisioned physical hardware. You can provision Amazon WorkSpaces that includes all the tools your developers need to build applications quickly. Your source code is not stored on developers’ devices helping ensure the safety of your intellectual property.
Quickly provision persistent desktops for classroom and lab settings
Amazon WorkSpaces provides a full, persistent desktop that students can use throughout their education while Amazon AppStream 2.0 lets course instructors quickly deliver specific applications for the unique needs for their class. Used together, you can easily build the learning environment your students need and ensure students have what they need for your class from day one.
Rapid integration during mergers and acquisitions
Companies going through M&A activity must support quickly on-boarding or off-loading large numbers of employees with fast, easy, secure access to company applications and data. They must do so across a diverse set of devices without spending much money or going through lengthy complex integrations. With Amazon WorkSpaces, IT teams quickly can provision and decommission secure WorkSpaces to keep up with changing organizational structures.
Customer stories
The Amazon Client Engineering team manages and supports IT services within Amazon and is responsible for managing the company's devices. As Amazon brings on new subsidiaries, it saves money that would previously have been used for physical infrastructure.
“We save millions of dollars for every subsidiary we onboard, because Amazon WorkSpaces can be deployed in many different regions and the solution circumvents the need for physical logistics like shipping hardware and the buildout of network connections. Overall, Amazon WorkSpaces is expected to contribute to an annual savings of more than $17 million for Amazon across all use cases.”
– Andrew Blackard, Manager, Client Engineering, Amazon IT
GrubHub, Inc. is a billion dollar food-service online and mobile platform featuring the largest and most comprehensive network of restaurant partners in the US. As an essential business to support local restaurants, GrubHub leveraged Amazon WorkSpaces to ensure business continuity and support the safety of our employees by moving all departments to a Work From Home (WFH) model.
'Amazon WorkSpaces easily accommodated our real-time customer communication and contact channels allowing 100% of our workforce and new employees to be WFH, accelerating our BYOD (Bring Your Own Device) strategy. GrubHub now has the flexibility to control cost and scale this virtual desktop environment to meet the current needs and future needs of our customers, restaurant partners, and drivers for whatever comes next.'
- Justinian Fortenberry, Chief Information Security Officer
MAXIMUS partners with state, federal, and local governments to provide communities with critical health and human service programs. Csv to excel python downloadbackstage. MAXIMUS used Amazon WorkSpaces to replace their on-premises VDI infrastructure and accelerate their adoption to the cloud.
“MAXIMUS uses VDI for several different types of projects, including call centers and for remote users. MAXIMUS is currently going through a move to AWS for all IT services, so it was natural that we utilize WorkSpaces to replace our VDI infrastructure. We were having many issues with VDI backend server support, workstations, and many complaints from users about software configurations. With WorkSpaces, we were able to release ourselves from all of the backend maintenance and concentrate on the user experience.”
- Jason Winters, Principal Architect, MAXIMUS, IT.
Blog posts & articles
Get started with AWS
- Overview
- Configuring
Workspaces
Overview
Workspaces allow Tasks to declare parts of the filesystem that need to be providedat runtime by TaskRuns. A TaskRun can make these parts of the filesystem availablein many ways: using a read-only ConfigMap or Secret, an existing PersistentVolumeClaimshared with other Tasks, create a PersistentVolumeClaim from a provided VolumeClaimTemplate, or simply an emptyDir that is discarded when the TaskRuncompletes.
Workspaces are similar to Volumes except that they allow a Task authorto defer to users and their TaskRuns Tuesdays with morriemr. beckers classroom. when deciding which class of storage to use.
Workspaces can serve the following purposes:
- Storage of inputs and/or outputs
- Sharing data among
Tasks - A mount point for credentials held in
Secrets - A mount point for configurations held in
ConfigMaps - A mount point for common tools shared by an organization
- A cache of build artifacts that speed up jobs
Workspaces in Tasks and TaskRuns
Tasks specify where a Workspace resides on disk for its Steps. Atruntime, a TaskRun provides the specific details of the Volume that ismounted into that Workspace.
This separation of concerns allows for a lot of flexibility. For example, in isolation,a single TaskRun might simply provide an emptyDir volume that mounts quicklyand disappears at the end of the run. In a more complex system, however, a TaskRunmight use a PersistentVolumeClaim which is pre-populated withdata for the Task to process. In both scenarios the Task'sWorkspace declaration remains the same and only the runtimeinformation in the TaskRun changes.
Tasks can also share Workspaces with their Sidecars, though there’s a little moreconfiguration involved to add the required volumeMount. This allows for along-running process in a Sidecar to share data with the executing Steps of a Task.
Workspaces in Pipelines and PipelineRuns
A Pipeline can use Workspaces to show how storage will be shared throughits Tasks. For example, Task A might clone a source repository onto a Workspaceand Task B might compile the code that it finds in that Workspace. It’sthe Pipeline's job to ensure that the Workspace these two Tasks use is thesame, and more importantly, that the order in which they access the Workspace iscorrect.
PipelineRuns perform mostly the same duties as TaskRuns - they provide thespecific Volume information to use for the Workspaces used by each Pipeline.PipelineRuns have the added responsibility of ensuring that whatever Volume type theyprovide can be safely and correctly shared across multiple Tasks.
Optional Workspaces
Both Tasks and Pipelines can declare a Workspace “optional”. When an optional Workspaceis declared the TaskRun or PipelineRun may omit a Workspace Binding for that Workspace.The Task or Pipeline behaviour may change when the Binding is omitted. This feature hasmany uses:
- A
Taskmay optionally accept credentials to run authenticated commands. - A
Pipelinemay accept optional configuration that changes the linting or compilationparameters used. - An optional build cache may be provided to speed up compile times.
Configuring Workspaces
This section describes how to configure one or more Workspaces in a TaskRun.
Using Workspaces in Tasks
To configure one or more Workspaces in a Task, add a workspaces list with each entry using the following fields:
name- (required) A unique string identifier that can be used to refer to the workspacedescription- An informative string describing the purpose of theWorkspacereadOnly- A boolean declaring whether theTaskwill write to theWorkspace. Defaults tofalse.optional- A boolean indicating whether a TaskRun can omit theWorkspace. Defaults tofalse.mountPath- A path to a location on disk where the workspace will be available toSteps. If amountPathis not provided the workspace will be placed by default at/workspace/<name>where<name>is the workspace’s unique name.
Note the following:
- A
Taskdefinition can include as manyWorkspacesas it needs. It is recommended thatTasksuseat most one writeableWorkspace. - A
readOnlyWorkspacewill have its volume mounted as read-only. Attempting to writeto areadOnlyWorkspacewill result in errors and failedTaskRuns. mountPathcan be either absolute or relative. Absolute paths start with/and relative pathsstart with the name of a directory. For example, amountPathof'/foobar'is absolute and exposestheWorkspaceat/foobarinside theTask'sSteps, but amountPathof'foobar'is relative andexposes theWorkspaceat/workspace/foobar.
Below is an example Task definition that includes a Workspace called messages to which the Task writes a message:
Sharing Workspaces with Sidecars
A Task'sSidecars are also able to access the Workspaces the Task defines but must have theirvolumeMount configuration set explicitly. Below is an example Task that shares a Workspace betweenits Steps and its Sidecar. In the example a Sidecar sleeps for a short amount of time and then writesa ready file which the Step is waiting for:
Note:Sidecarsmust explicitly opt-in to receiving the Workspace volume. Injected Sidecars fromnon-Tekton sources will not receive access to Workspaces.
Setting a default TaskRunWorkspace Binding
An organization may want to specify default Workspace configuration for TaskRuns. This allows users touse Tasks without having to know the specifics of Workspaces - they can simply rely on the platformto use the default configuration when a Workspace is missing. To support this Tekton allows a defaultWorkspace Binding to be specified for TaskRuns. When the TaskRun executes, any Workspaces thata Task requires but which are not provided by the TaskRun will be bound with the default configuration.
The configuration for the default Workspace Binding is added to the config-defaultsConfigMap, underthe default-task-run-workspace-binding key. For an example, see the Customizing basic executionparameters section of the install doc.
Note: the default configuration is used for any requiredWorkspace declared by a Task. OptionalWorkspaces are not populated with the default binding. This is because a Task's behaviour will typicallydiffer slightly when an optional Workspace is bound.
Using Workspace variables in Tasks
The following variables make information about Workspaces available to Tasks:
$(workspaces.<name>.path)- specifies the path to aWorkspacewhere<name>is the name of theWorkspace. This will be anempty string when a Workspace is declared optional and not providedby a TaskRun.$(workspaces.<name>.bound)- eithertrueorfalse, specifieswhether a workspace was bound. Alwaystrueif the workspace is required.$(workspaces.<name>.claim)- specifies the name of thePersistentVolumeClaimused as a volume source for theWorkspacewhere<name>is the name of theWorkspace. If a volume source other thanPersistentVolumeClaimis used, an empty string is returned.$(workspaces.<name>.volume)- specifies the name of theVolumeprovided for aWorkspacewhere<name>is the name of theWorkspace.
Godaddy Workspace Email
Mapping Workspaces in Tasks to TaskRuns
A TaskRun that executes a Task containing a workspaces list must bindthose workspaces to actual physical Volumes. To do so, the TaskRun includesits own workspaces list. Each entry in the list contains the following fields:
name- (required) The name of theWorkspacewithin theTaskfor which theVolumeis being providedsubPath- An optional subdirectory on theVolumeto store data for thatWorkspace
The entry must also include one VolumeSource. See Specifying VolumeSources in Workspaces for more information.
Caution:- The Workspaces declared in a Task must be available when executing the associated TaskRun. Otherwise, the TaskRun will fail.
Examples of TaskRun definition using Workspaces
The following example illustrate how to specify Workspaces in your TaskRun definition,an emptyDiris provided for a Task’s workspace called myworkspace:
Download zimbra mail clientwindows free. For examples of using other types of volume sources, see Specifying VolumeSources in Workspaces.For a more in-depth example, see Workspaces in a TaskRun.
Using Workspaces in Pipelines
While individual Tasks declare the Workspaces they need to run, the Pipeline decideswhich Workspaces are shared among its Tasks. To declare shared Workspaces in a Pipeline,you must add the following information to your Pipeline definition:
- A list of
Workspacesthat yourPipelineRunswill be providing. Use theworkspacesfield tospecify the targetWorkspacesin yourPipelinedefinition as shown below. Each entry in thelist must have a unique name. - A mapping of
Workspacenames between thePipelineand theTaskdefinitions.
The example below defines a Pipeline with a Workspace named pipeline-ws1. ThisWorkspace is bound in two Tasks - first as the output workspace declared by the gen-codeTask, then as the src workspace declared by the commitTask. If the Workspaceprovided by the PipelineRun is a PersistentVolumeClaim then these two Tasks can sharedata within that Workspace.
Include a subPath in the Workspace Binding to mount different parts of the same volume for different Tasks. See a full example of this kind of Pipeline which writes data to two adjacent directories on the same Volume.
The subPath specified in a Pipeline will be appended to any subPath specified as part of the PipelineRun workspace declaration. So a PipelineRun declaring a Workspace with subPath of /foo for a Pipeline who binds it to a Task with subPath of /bar will end up mounting the Volume’s /foo/bar directory.
Specifying Workspace order in a Pipeline and Affinity Assistants

Sharing a Workspace between Tasks requires you to define the order in which those Taskswrite to or read from that Workspace. Use the runAfter field in your Pipeline definitionto define when a Task should be executed. For more information, see the runAfter documentation.
When a PersistentVolumeClaim is used as volume source for a Workspace in a PipelineRun,an Affinity Assistant will be created. The Affinity Assistant acts as a placeholder for TaskRun podssharing the same Workspace. All TaskRun pods within the PipelineRun that share the Workspacewill be scheduled to the same Node as the Affinity Assistant pod. This means that Affinity Assistant is incompatiblewith e.g. other affinity rules configured for the TaskRun pods. If the PipelineRun has a customPodTemplate configured, the NodeSelector and Tolerations fieldswill also be set on the Affinity Assistant pod. The Affinity Assistantis deleted when the PipelineRun is completed. The Affinity Assistant can be disabled by setting thedisable-affinity-assistant feature gate to true.
Note: Affinity Assistant use Inter-pod affinity and anti-affinitythat require substantial amount of processing which can slow down scheduling in large clusterssignificantly. We do not recommend using them in clusters larger than several hundred nodes
Note: Pod anti-affinity requires nodes to be consistently labelled, in other words everynode in the cluster must have an appropriate label matching topologyKey. If some or all nodesare missing the specified topologyKey label, it can lead to unintended behavior.
Specifying Workspaces in PipelineRuns
For a PipelineRun to execute a Pipeline that includes one or more Workspaces, it needs tobind the Workspace names to volumes using its own workspaces field. Each entry inthis list must correspond to a Workspace declaration in the Pipeline. Each entry in theworkspaces list must specify the following:
name- (required) the name of theWorkspacespecified in thePipelinedefinition for which a volume is being provided.subPath- (optional) a directory on the volume that will store thatWorkspace'sdata. This directory must exist at thetime theTaskRunexecutes, otherwise the execution will fail.
The entry must also include one VolumeSource. See Using VolumeSources with Workspaces for more information.
Note: If the Workspaces specified by a Pipeline are not provided at runtime by a PipelineRun, that PipelineRun will fail.
Example PipelineRun definition using Workspaces
In the example below, a volumeClaimTemplate is provided for how a PersistentVolumeClaim should be created for a workspace namedmyworkspace declared in a Pipeline. When using volumeClaimTemplate a new PersistentVolumeClaim is created foreach PipelineRun and it allows the user to specify e.g. size and StorageClass for the volume.
For examples of using other types of volume sources, see Specifying VolumeSources in Workspaces.For a more in-depth example, see the Workspaces in PipelineRun YAML sample.
Specifying VolumeSources in Workspaces
You can only use a single type of VolumeSource per Workspace entry. The configurationoptions differ for each type. Workspaces support the following fields:
Using PersistentVolumeClaims as VolumeSource
PersistentVolumeClaim volumes are a good choice for sharing data among Tasks within a Pipeline.Beware that the access modeconfigured for the PersistentVolumeClaim effects how you can use the volume for parallel Tasks in a Pipeline. SeeSpecifying workspace order in a Pipeline and Affinity Assistants for more information about this.There are two ways of using PersistentVolumeClaims as a VolumeSource.
volumeClaimTemplate
The volumeClaimTemplate is a template of a PersistentVolumeClaim volume,created for each PipelineRun or TaskRun. When the volume is created from a template in a PipelineRun or TaskRunit will be deleted when the PipelineRun or TaskRun is deleted.
persistentVolumeClaim
The persistentVolumeClaim field references an existingpersistentVolumeClaim volume. The example exposes only the subdirectory my-subdir from that PersistentVolumeClaim
Using other types of VolumeSources
emptyDir
The emptyDir field references an emptyDir volume which holdsa temporary directory that only lives as long as the TaskRun that invokes it. emptyDir volumes are not suitable for sharing data among Tasks within a Pipeline.However, they work well for single TaskRuns where the data stored in the emptyDir needs to be shared among the Steps of the Task and discarded after execution.
configMap
The configMap field references a configMap volume.Using a configMap as a Workspace has the following limitations:
configMapvolume sources are always mounted as read-only.Stepscannot write to them and will error out if they try.- The
configMapyou want to use as aWorkspacemust exist prior to submitting theTaskRun. configMapsare size-limited to 1MB.
secret
Workspaces Client
The secret field references a secret volume.Using a secret volume has the following limitations:
secretvolume sources are always mounted as read-only.Stepscannot write to them and will error out if they try.- The
secretyou want to use as aWorkspacemust exist prior to submitting theTaskRun. secretare size-limited to 1MB.
If you need support for a VolumeSource type not listed above, open an issue ora pull request.
Using Persistent Volumes within a PipelineRun
When using a workspace with a PersistentVolumeClaim as VolumeSource,a Kubernetes Persistent Volumes is used within the PipelineRun.There are some details that are good to know when using Persistent Volumes within a PipelineRun.
Storage Class
PersistentVolumeClaims specify a Storage Class for the underlying Persistent Volume. Storage Classes have specificcharacteristics. If a StorageClassName is not specified for your PersistentVolumeClaim, the cluster defined defaultStorage Class is used. For regional clusters - clusters that typically consist of Nodes located in multiple AvailabilityZones - it is important to know whether your Storage Class is available to all Nodes. Default Storage Classes are typicallyonly available to Nodes within one Availability Zone. There is usually an option to use a regional Storage Class,but they have trade-offs, e.g. you need to pay for multiple volumes since they are replicated and your volume may havesubstantially higher latency.
When using a workspace backed by a PersistentVolumeClaim (typically only available within a Data Center) and the TaskRunpods can be scheduled to any Availability Zone in a regional cluster, some techniques must be used to avoid deadlock in the Pipeline.
Tekton provides an Affinity Assistant that schedules all TaskRun Pods sharing a PersistentVolumeClaim to the sameNode. This avoids deadlocks that can happen when two Pods requiring the same Volume are scheduled to different Availability Zones.A volume typically only lives within a single Availability Zone.
Access Modes
Workspaces Aws
A PersistentVolumeClaim specifies an Access Mode.Available Access Modes are ReadWriteOnce, ReadWriteMany and ReadOnlyMany. What Access Mode you can use depend onthe storage solution that you are using.
ReadWriteOnceis the most commonly available Access Mode. A volume with this Access Mode can only be mounted on oneNode at a time. This can be problematic for aPipelinethat has parallelTasksthat access the volume concurrently.The Affinity Assistant helps with this problem by scheduling allTasksthat use the samePersistentVolumeClaimtothe same Node.ReadOnlyManyis read-only and is less common in a CI/CD-pipeline. These volumes often need to be “prepared” with datain some way before use. Dynamically provided volumes can usually not be used in read-only mode.ReadWriteManyis the least commonly available Access Mode. If you use this access mode and these volumes are availableto all Nodes within your cluster, you may want to disable the Affinity Assistant.
More examples
Workspaces For Rent
See the following in-depth examples of configuring Workspaces:
Workspaces Google
Feedback
Was this page helpful?
Thanks! Tell us how we can further improve.
Sorry about that. Tell us how we can further improve.
Www.workspacesolutions.com
