Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY...
Transcript of Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY...
![Page 1: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/1.jpg)
Ortwin Schneider, Middleware Solution Architect
Coding in Containers Reduce setup times and collaborate using CodeReady Workspaces
![Page 2: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/2.jpg)
These are not equivalent environments, even though they both use containers.
Development is done on a desktop with containers.
Production is moving to a Kubernetes distribution like OpenShift.
WHERE WE ARE TODAY
3
![Page 3: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/3.jpg)
Development is done on a desktop with containers.
Production is moving to a Kubernetes distribution like OpenShift.
Docker or linux process Kubernetes infrastructure
Single user load Concurrent load
No threats External threats and attacks
Expected user path Unexpected user paths
WHAT’S DIFFERENT?
4
![Page 4: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/4.jpg)
What’s needed to allow an authorized developer to contribute to a project quickly, easily and safely without relying on containers on the
laptop?
THE KEY QUESTION
5
![Page 5: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/5.jpg)
● Project sources● Dependencies● Developer Tools: language servers, debuggers, testing tools, security tools, etc...● Commands● Build and packaging tools● Terminal● Operating system● Web server / application server● Database● (All other runtime components)
Everything is versioned and needs updating.
If anything is different across the team inconsistent behaviors can result.
WHAT DEVELOPERS NEED TO CONTRIBUTE
6
![Page 6: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/6.jpg)
Managed in the IDE
Managed on the
Laptop
● Project sources● Dependencies● Developer Tools: language servers, debuggers, testing tools, security tools,
etc...● Commands● Build and packaging tools● Terminal● Operating system● Web server / application server● Database● (All other runtime components)
Managed in Git
This set is needed for each service that is used. Microservices mean many more of these sets to manage.
TRADITIONAL IDE + LAPTOP APPROACH
7
![Page 7: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/7.jpg)
Shareable
Hard to Share A laptop solution makes it hard to
replicate, share and secure everything the developer needs.
● Project sources● Dependencies● Developer Tools: language servers, debuggers, testing
tools, security tools, etc...● Commands● Build and packaging tools● Terminal● Operating system● Web server / application server● Database● (All other runtime components)
ShareableVery hard to secure laptops (lost, stolen, hacked) so sources are always at risk.
TRADITIONAL IDE + LAPTOP APPROACH
8
![Page 8: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/8.jpg)
Easy to Share and
Secure
Managed in a containerized
Workspace hosted in an IT-Managed
OpenShift cluster.
● Project sources● Dependencies● Developer Tools: language servers, debuggers, testing tools, security
tools, etc...● Commands● Build and packaging tools● Terminal● Operating system● Web server / application server● Database● (All other runtime components)
THE CODEREADY WORKSPACES METHOD
9
![Page 9: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/9.jpg)
Make developing container-based applications and services on theRed Hat OpenShift Kubernetes platform easy.
1. Accelerates projects and onboarding of developers.2. Removes inconsistencies and “it works on my machine...”
delays.3. Protects source code by removing it from hard-to-secure
laptops.
CODEREADY WORKSPACES
10
![Page 10: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/10.jpg)
Stack: A stack is a configuration template / recipe
CODEREADY WORKSPACES: STACKS
11
![Page 11: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/11.jpg)
Workspace: An instance of a stack for your projects
A Workspace is made of● The Runtime from the Stack● The Source code of your Project● The IDE and its configuration
User can share the workspace for collaboration or easy development
CODEREADY WORKSPACES: A WORKSPACE
12
![Page 12: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/12.jpg)
● Centralized Configuration using Stack & Workspaces○ Controlled development environment and runtimes
○ Runtimes based on RHEL
● Share the Workspaces as a Factory○ Simple file that your store with your project
● Share the Workspace as a URL for your teams
EASY & CENTRALIZED CONFIGURATION
13
![Page 13: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/13.jpg)
Private Openshift InstallBehind Your Firewall
...Virtual Private Cloud
...Public Cloud
...Datacenter
SOURCE REPOSITORY
ARTIFACT REPOSITORY
AD / LDAP DIRECTORY
DEVELOPER CLIENTS
IMAGE REGISTRY
Workspace Pod1..n containers
CodeReady Workspaces
Server
Workspace Pod1..n containers
Workspace Pod1..n containers
CODEREADY WORKSPACES ARCHITECTURE
14
![Page 14: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/14.jpg)
- Users can have more than one workspace (admin setting)
- One Che server per Kubernetes cluster
- Che server manages the lifecycle and authentication of all workspaces in the cluster
- Traffic to browser is minimal
- Majority of calls are inside the Che workspace, giving a “localhost” experience
ECLIPSE CHE CONCEPTUAL ARCHITECTURE
15
![Page 15: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/15.jpg)
Developers / QA / Docs● Bulk of the team● Work off issues in a backlog● Need guidance from leads/experts
Success defined by steady progress: effective and efficient.
“Help me burn down the backlog faster.”
Experts / Leads / Architects● Small number in a team● Likely “float” or run complex tasks ● Provide guidance and coaching
Success defined by leaps in progress: innovation and outperformance.
“Help the team run faster, with fewer stumbles.”
DIFFERENT NEEDS, DIFFERENT GOALS
16
![Page 16: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/16.jpg)
Developers / QA / Docs● Bulk of the team● Work off issues in a backlog● Need guidance from leads/experts
Success defined by steady progress: effective and efficient.
“Help me burn down the backlog faster.”
Experts / Architects● Small number in a team● Likely “float” or run complex tasks ● Provide guidance and coaching
Success defined by leaps in progress: innovation and outperformance.
“Help the team run faster, with fewer stumbles.”
Uses CodeReady Workspaces
Builds CodeReady Workspace Stacks and
Factories
DIFFERENT NEEDS, DIFFERENT GOALS
17
![Page 17: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/17.jpg)
ARCHITECT / EXPERTCreates a stack for each
project with approved tools and runtimes.
ARCHITECT / EXPERTTests each stack and
creates a Factory URL for instant on-boarding.
PROJECT LEADEmbeds project stack in
on-boarding docs and toolchain (issue tracker).
DEVELOPERSClick on Factory
link for the project to contribute.
New Project Start
WORKFLOW AND HANDOFFS
18
![Page 18: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/18.jpg)
POWERED BY WORKSPACES ON OPENSHIFT
-Cucumber-JUnit-Mockito
-SonarQube-Fortify
-AtomicScan-Blackduck-Twistlock
Trusted code repos
-Sysdig-Dynatrace
-Jira-Trello
CI SYSTEM
ISSUES DEV ENV
UNITTEST
CODEQUAL
SEC SCAN
INTTEST UAT
PROD
Trusted artifact and image repos
OPENSHIFT KUBERNETES PLATFORM
-Arquillian-JUnit
LAPTOP
TODAY
THE TRUSTED SOFTWARE SUPPLY CHAIN
19
![Page 19: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/19.jpg)
POWERED BY WORKSPACES ON OPENSHIFT
-Cucumber-JUnit-Mockito
-SonarQube-Fortify
-AtomicScan-Blackduck-Twistlock
Trusted code repos
-Sysdig-Dynatrace
-Jira-Trello
CI SYSTEM
ISSUES DEV ENV
UNITTEST
CODEQUAL
SEC SCAN
INTTEST UAT
PROD
Trusted artifact and image repos
OPENSHIFT KUBERNETES PLATFORM
-Arquillian-JUnit
THE BETTER
WAY
CODEREADY WORKSPACES
THE TRUSTED SOFTWARE SUPPLY CHAIN
20
![Page 20: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/20.jpg)
IDEs VIRTUAL LABSDesktop or
browser editors running on
localhost or VM.
Replicas of production
environments.Containerized
workspaces integrated with your development
toolchain.
ADLM
CODEREADYWORKSPACES
SCM, agile project management, issues, and CI.
Combines aspects of an IDE, a virtual lab environment and lifecycle management.All hosted on a private OpenShift Kubernetes cluster.
CODEREADY WORKSPACES IS UNIQUE
21
![Page 21: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/21.jpg)
● CodeReady Workspaces is a supported subscription for the open Eclipse Che project.
● It is not a fork.● CodeReady Workspaces and Eclipse Che have nearly identical functionality, the
only differences are:○ Workspaces is supported by Red Hat’s global support organization
○ Workspaces includes only Red Hat Enterprise Linux based secure stacks
○ Workspaces is released quarterly (Che is released every 3 weeks)
○ Workspaces releases are tested more thoroughly due to the slower cadence
○ Any bugs fixed are contributed to the upstream Eclipse Che sources for inclusion into a future release (no proprietary code)
● The CodeReady Workspaces development team includes several Che committers, making it easier and faster for us to contribute bug fixes back to the community.
CODEREADY WORKSPACES AND ECLIPSE CHE
22
![Page 22: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/22.jpg)
CODEREADY WORKSPACES DEMO
23
![Page 23: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/23.jpg)
What is the price for Red Hat CodeReady Workspaces?
• Red Hat CodeReady Workspaces is free to any customers with a subscription for OpenShift Container Platform, OpenShift Dedicated or OpenShift Online. It is not available with OpenShift Engine.
• Red Hat CodeReady Workspaces is compatible with OpenShift Container Platform (OCP) and OpenShift Dedicated (OSD) 3.11+.
Can I try Che or Red Hat CodeReady Workspaces today?YES
https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces_for_openshift/
HOW TO GET CODEREADY WORKSPACES?
27
![Page 24: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/24.jpg)
NEW: RedHat Managed Integration
SOLUTION EXPLORER - Unified Web App Interface
SINGLE SIGN-ON
Front End App
Hosted, pre-configured &
pre-installed products
(Integration bundle)
Single tenant
Man
aged
by
Red
Hat
LOOKING FOR A RED HAT MANAGED IDE OR MORE?
28
![Page 25: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/25.jpg)
BACKUP SLIDES+
SCREENSHOTS
29
![Page 26: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/26.jpg)
- Users can have more than one workspace (admin setting)
- One Che server per Kubernetes cluster
- Che server manages the lifecycle and authentication of all workspaces in the cluster
- Traffic to browser is minimal
- Majority of calls are inside the Che workspace, giving a “localhost” experience
ECLIPSE CHE CONCEPTUAL ARCHITECTURE
30
![Page 27: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/27.jpg)
CodeReady Workspaces OpenShift Resources
31
![Page 28: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/28.jpg)
CodeReady Workspaces REST API (Swagger)
32
![Page 29: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/29.jpg)
Organizations
33
![Page 30: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/30.jpg)
Stacks
34
![Page 31: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/31.jpg)
New Workspace
35
![Page 32: Coding in Containers Reduce setup times and collaborate ......-Arquillian-JUnit THE BETTER WAY CODEREADY WORKSPACES THE TRUSTED SOFTWARE SUPPLY CHAIN 20. IDEs VIRTUAL LABS Desktop](https://reader033.fdocuments.us/reader033/viewer/2022042406/5f20ea87c17cb077c7278e6c/html5/thumbnails/32.jpg)
Web IDE
36