클라우드 컴퓨팅 가상화가 Saas 애플리케이션을 강화하는 방법

가상화가 Saas 애플리케이션을 강화하는 방법

차례:

Anonim

가상화는 다양한 컴퓨팅 기술을 포괄하며 하드웨어 수준과 소프트웨어 수준 모두에서 달성 할 수 있습니다. 기업에서 가상화는 소프트웨어 서비스, 특히 SaaS 애플리케이션의 기능을 향상시킬 수 있습니다. 또한 기업이 IT 비용을 절감 할 수있는 가장 효과적인 방법이기도합니다. 그러나 가상화와 SaaS를 함께 사용하면 성공적인 조합이 될 수 있습니다.

SaaS 란 무엇입니까?

SaaS (Software as a Service)는 소프트웨어가 가입 기준으로 라이센스가 부여되고 공급 업체 또는 서비스 제공 업체가 중앙에서 호스팅하는 소프트웨어 라이센스 모델입니다. 이러한 분산 소프트웨어 응용 프로그램은 인터넷을 통해 고객에게 제공됩니다.


SaaS는 SOA (Service-Oriented Architecture) 또는 웹 서비스를 지원하는 기술에서 널리 보급되고 있습니다. SaaS에는 많은 장점이 있습니다. 가장 일반적인 것은 다음과 같습니다.

  • 쉬운 관리
  • 쉬운 업데이트 및 패치 관리
  • 호환성 (모든 사용자가 동일한 버전의 소프트웨어를 사용함)
  • 글로벌 접근성
SaaS는 다음과 함께 클라우드 컴퓨팅 명명법의 일부로 간주됩니다.

  • 서비스로서의 정보 기술 관리 (ITMaaS)

가상화 및 소프트웨어 제공

가상화 개념은 소프트웨어 개발 커뮤니티에서 올바르게 채택되고 채택되었습니다. 개발 및 테스트 환경을 빠르게 생성하여 더 빠른 개발 및 테스트 메커니즘을 제공 할 수 있습니다.


VMware 및 VBox는 가장 널리 사용되는 기술이며 여러 사용자가 다른 운영 체제, 버전 및 인스턴스에서 실행할 수 있습니다. 대부분의 소프트웨어 개발 기업은 먼저 소프트웨어 가상화 메커니즘을 채택한 다음 점차 하드웨어 가상화로 이동하여 가상화 기술을 채택합니다.

가상화 및 SaaS

SaaS는 많은 장점을 가지고 있음에도 불구하고 아직 충분한 신용을 얻지 못했습니다. 이를 담당하는 많은 요소가 있습니다. 여기에는 다음이 포함됩니다.

  • 막대한 시작 비용 : 설정에 투자 한 수익은 몇 년에 걸쳐 회복됩니다.
  • 자유 소프트웨어의 원칙을 위반할 수 있음 : 소프트웨어 자유 운동가 Richard Stallman은 SaaS를 "SaaSS (서비스 대체 소프트웨어)"라고하며 자유 소프트웨어의 원칙을 위반 한 것으로 간주합니다.


    "SaaS를 사용하면 사용자는 실행 파일의 사본을 갖지 않습니다. 서버에 있으며 사용자가 파일을 보거나 만질 수 없습니다. 따라서 실제로 수행하는 작업을 확인하는 것은 불가능하며 변경이 불가능합니다. Saall은 기본적으로 서버 운영자에게 사용중인 소프트웨어 또는 사용자 데이터를 변경할 수있는 기능을 제공합니다. "라고 Stallman은 GNU 웹 사이트에 썼습니다.

가상화를 통한 SaaS의 좋은 예는 Amazon Web Services (AWS)입니다. AWS는 다양한 소프트웨어 및 플랫폼을 제공합니다. 소프트웨어는 가상 호스트에 설치되며 필요에 따라 확장 또는 축소 할 수 있습니다.


일단 구축 한 SaaS 애플리케이션 플랫폼은 인프라 및 시작 비용을 넘어 집중한다면 재현성에만 관심을 가져야합니다. SaaS 기반 애플리케이션의 각 인스턴스는 서로 동일해야합니다. 각 고객 및 지원 팀에 대한 모든 응용 프로그램 인스턴스의 일관된 동작을 유지하려면 최소한의 차이가 있어야합니다. 필요한 경우 문제를 해결하기 위해 균일 한 기반을 갖도록 수행됩니다. 지원 엔지니어는 단일 고객 인스턴스에 대해 누락 된 라이브러리 모듈로 인한 문제점을 발견하지 않으려 고합니다. 마찬가지로, 고객은 SaaS 기반 회사가 모든 주문에 대해 동일한 단계를 사용하여 문제를 재현 할 수 없기 때문에 주문한 각 애플리케이션에 문제가있을 수 있다는 것을 알고 싶어하지 않습니다. 일관성과 비용 이점을 위해 전체 프로세스를 자동화해야합니다.

복잡성 증가

SaaS 모델이든 기존 모델이든 오늘날의 애플리케이션에 대한 복잡한 구축 특성을 이해하는 것이 중요합니다. 가장 간단한 웹 응용 프로그램이라도 더 이상 기본 데이터 스토리지 계층을 관리 할 책임이 없습니다. 표준 사례는 데이터베이스 (예 : MySQL, Oracle, DB2 또는 SQL Server)를 보유하는 것입니다. 이를 Java, Ninja, Grails, Rails 등과 같은 일반적인 웹 스택과 결합하면 확장 가능한 배포가 필요한 다중 계층 아키텍처로 이어집니다. 예를 들어 Rails 환경을 설정하는 동안 MySQL을 사용했습니다.


플러그인, 패치, 매크로 및 매시업을 통해 소프트웨어를 쉽게 업그레이드 할 수있는 민첩한 애플리케이션 특성을 SaaS 모델에 쉽게 통합 할 수 있습니다. 확장 또는 패치는 더 작은 문제를 위해 개발되었으며, 대부분 버그 수정이며, 기존 소프트웨어의 패치로 제공되어야합니다. 일반적으로 고객은 리소스 제한이나 다른 상황으로 인해 문제가 발생했거나 다른 고객이 만든 문제를 듣고 싶지 않습니다.


Wikipedia에 따르면, 문제 분리는 응용 프로그램을 개별 기능으로 분류하여 기능 중복을 최소화하는 전제입니다. 가상화가 적용되면이 개념을 인프라에 적용 할 수 있습니다. 응용 프로그램 별, 고객 별 및 / 또는 클러스터별로 분리를 적용 할 수 있습니다. 하드웨어를 여전히 최대 용량으로 사용하면서 수평 및 수직 확장이 가능합니다. 이는 SaaS 시장에 진입하려는 단일 테넌트 애플리케이션에 유용합니다. 거의 제로에 가까운 코드 변경으로 기본 하드웨어에서 즉각적인 다중 테넌시를 쉽게 달성 할 수 있습니다.


Contegix의 SaaS 플랫폼에는 두 가지 배포 모델이 배포되어 있습니다. 차별화 요소는 응용 프로그램 개발 방법에 따라 다릅니다.

  • 배포 당 하나의 단일 고객을 지원하거나
  • 단일 배포에서 여러 고객을 지원하려면
다른 일반적인 배포 모델은 더 높은 수준의 분리를 제공하는 것입니다. 기본 인프라 응용 프로그램은 가상 머신으로 분리되며 각각은 필요한 수준으로 조정됩니다. 단일 테넌트 모델 외에도이 모델을 사용하면 가상 시스템 리소스 측면에서 개별 구성 요소뿐만 아니라 인스턴스 수도 확장 할 수 있습니다. 이 모델은 대규모 인스턴스 또는 여러 고객 애플리케이션에 매우 적합합니다.


배포 모델에 관계없이 운영 체제와 응용 프로그램 설치를 응용 프로그램 데이터와 분리하는 것이 매우 중요합니다. 이는 업그레이드 처리 및 처리 방법에 대한 논의로 이어집니다. 운영 체제 및 응용 프로그램 설치는 휘발성 데이터의 양을 고려해야하며, 언제든지 갱신 된 사본 또는 새 버전으로 교체 할 수 있어야합니다.

가상화가 Saas 애플리케이션을 강화하는 방법