웹 애플리케이션/웹 사이트 내에서 가상 머신이나 Linux 셸을 실행하거나 웹 서버에서 호스팅할 수 있나요?

웹 애플리케이션/웹 사이트 내에서 가상 머신이나 Linux 셸을 실행하거나 웹 서버에서 호스팅할 수 있나요?

이전에 이 질문을 한 적이 있으며 더 나은 답변을 얻을 수 있도록 개선하겠습니다. Java 웹앱을 만들 계획이고 여기에 기능을 추가하고 싶은데 이 기능에 도움이 필요합니다.

브라우저에 운영 체제를 실행하는 가상 머신을 포함하거나 Linux bash 터미널만 포함하고 싶습니다. 사용자가 명령을 작성하거나 작업을 수행하는 immersivelabs.com과 같은 일부 사이트에서 본 적이 있습니다.그것은 어떻게 생겼나요?브라우저에서 실행되는 운영 체제이며 작업을 올바르게 완료하면 점수를 얻습니다.

이전 질문에서는 Apache Guacamole, noVNC 및 Shellinabox를 살펴보라고 들었습니다. 웹앱을 사용하여 설정하는 방법을 알고 싶습니다. 개별 컨테이너/VM을 종료하고 해당 게이트웨이를 켜야 합니까? 사용자당 최소 1개가 필요합니다. 이와 같은 여러 컨테이너를 호스팅할 수 있는 서비스가 있나요? 웹 서버나 Tomcat에서 실행될 수 있는 것 또는 내 시스템에서 시도하기 위해 로컬로 실행할 수 있는 API일 수도 있습니다.

조언이나 조언을 주시면 감사하겠습니다.

답변1

언급하신 Immersive Labs 웹사이트에 해당 상황이 설명되어 있습니다.지원 페이지100% 클라우드 기반입니다. 그런 다음 클라우드에 백엔드 시스템이 있고 애플리케이션이 브라우저에 자체 포함되어 있지 않다고 합리적으로 가정할 수 있습니다.

따라서 이 아키텍처를 복제하려면 원격 시스템을 실행하고 웹 인터페이스를 사용하여 연결해야 합니다. 원격 시스템은 가상 머신 또는 컨테이너일 수 있습니다. 가상 머신은 리소스 측면에서 "무거워지지만" 인스턴스 간에 더 나은 격리를 제공합니다. 컨테이너는 그 반대입니다. 리소스를 덜 차지하지만 어떤 방식으로든 공유됩니다. 활동이 서로 격리되도록 사용자당 하나의 인스턴스를 사용하는 것이 좋습니다.

컨테이너를 사용하기로 결정한 경우 Docker를 사용하여 직접 관리할 수 있습니다. 그것은 심지어REST API그래서 쉽게 통합할 수 있습니다.

프런트엔드의 경우 이미 언급한 옵션(Guacamole, NoVNC 등)을 살펴봐야 합니다. Java를 사용할 계획이므로 Apache Guacamole이 적합할 수 있습니다. 그 건축물을 볼 수 있어요여기.

관련 정보