Share via


Java Spring Framework 응용 프로그램을 Windows Azure로 마이그레이션

Java Spring Framework 응용 프로그램을 Windows Azure로 마이그레이션

이 포스트는, 11월 6일에 게시된 Migrating a Java Spring Framework Application to Windows Azure 의 번역입니다.

마이크로소프트는 Windows Azure Java 관련 기술을 다수 소개하고 실습을 위한 새로운 튜토리얼 (영어 링크) 및 샘플 코드를 공개 했습니다. 이 가이드에서는 자습서 형식으로 Java Spring Framework 응용 프로그램 (PetClinic 예제 응용 프로그램)을 Windows Azure 클라우드로 마이그레이션하는 방법을 설명 합니다. 이 가이드에 사용된 코드는GitHub (영어 링크) 에도 게시되어 있습니다. Java 개발자들은 이 새로운 예제 및 자습서를 다운로드하여 사용해 보세요.

자세한내용

Windows Azure는 개방형 클라우드 플랫폼이며 Microsoft .NET, Java, Node.js, PHP, Python, Ruby 등의 광범위한 프로그래밍 언어와 프레임 워크를 지원하고 있습니다. 이 가이드는 일반적인 Java 응용 프로그램을 Windows Azure 클라우드로 마이그레이션하는 방법을 설명 하는 것으로, 특히 자바 개발자를 대상으로 하고 있습니다. 일반적인 Spring Framework 샘플 응용 프로그램 (Java PetClinic)을 튜토리얼 형식으로 취급, Windows Azure Java SDK for Eclipse, Memcached를 사용하는 Windows Azure 캐시 Windows Azure 클라우드 서비스, Windows Azure SQL 데이터베이스, 기타 다양한 Java 응용 프로그램에서 사용되는 다양한 기술에 대해 설명 합니다.

Windows Azure 클라우드서비스 (PaaS) 또는 Windows Azure 가상컴퓨터 (IaaS)?

기본적으로 웹 사이트 같은 응용 프로그램 계층은 Windows Azure에서 실행하는 방법은 두 가지가 있습니다. 첫 번째는 Windows Azure 클라우드 서비스 플랫폼 서비스 (PaaS)을 이용하는 방법으로, 두 번째는 Windows Azure 가상 컴퓨터 (VM) 인프라 서비스 (IaaS)를 이용하는 방법입니다. 두 경우 모두, 세계 각 지에 존재하는 데이터센터 (미국 4 곳, 유럽 2 곳, 아시아 2 곳) 중 하나에서 응용 프로그램을 호스팅 할 수 있습니다.

  • Windows Azure 클라우드 서비스 에서는 개발자가 응용 프로그램에 집중할 수 있습니다. 인스턴스 구축 및 보수는 플랫폼이 응용 프로그램 계층에서자동 실행 (Windows Hyper-V 가상 컴퓨터로 처리 합니다)실행 됩니다. 이 인스턴스는 확장 가능한 단일 인스턴스에서 수백의 클론을 만들 수 있습니다. 또한 부하 분산 작업이 자동으로 수행 됩니다. 인스턴스 크기 변경 가능 (가상 코어와 메모리 용량을 지정 가능) 이 가능 하지만, OS의 패치 및 보안 업데이트를 적용 하는 등의 관리는 기본적으로 Windows Azure가 담당 합니다. 이 가이드에서는 샘플 응용 프로그램의 Java Pet Clinic을 Windows Azure 클라우드 서비스에서 실행 하는 경우를 다룹니다.
  • Windows Azure 가상 컴퓨터 에서는 개발자가 자신의 가상 컴퓨터 이미지를 생성 합니다. 이 가상 컴퓨터에 대해 설치된 모든 소프트웨어를 포함하여 설치 및 관리를 담당합니다. Java 개발자의 경우 Windows 또는 일부리눅스배포판 등 다양한 사전 구축된 가상 머신 이미지를 사용할 수 있습니다. 이는 Windows Azure 클라우드에서 Java 응용 프로그램을 실행하는 좋은 방법입니다. 개발자가 운영 체제와 가상 컴퓨터를 낮은 수준에서 관리하고, mySQL 등의 소프트웨어를 모든 가상 컴퓨터에 직접 설치할 수 있도록 응용 프로그램 계층에서 데이터 계층 사이의 응용 프로그램을 구축할 수 있습니다. 이 경우, 대부분의 Java 응용 프로그램을 코드 변경할 필요 없이, 또는 약간의 코드 수정으로 쉽게 마이그레이션 할 수 있습니다. 로드 균형 조정의 설치가 가능하며, 여러 가상 컴퓨터 (대부분의 경우 Tomcat/JSP 계층)에 대해 라운드 로빈 방식으로 부하를 분산할 수 있습니다. 그러나 Windows Azure 클라우드 서비스와 달리 사내에서 실행 되는 가상 컴퓨터와 마찬가지로 개발자가 보안 패치를 포함 하는 가상 컴퓨터의 관리를 수행 해야 합니다. 이 연습에서는 Java 응용 프로그램을 Windows Azure 클라우드 서비스에서 실행하는 경우에 대해 다루고 있지만, 개발자들에게는 Windows 또는 Linux 가상 컴퓨터를 사용하여 Windows Azure 가상 컴퓨터를 사용해 주시는 것을 추천 합니다.

Windows Azure 플랫폼에서 Spring Framework

이 가이드에서는 최근 업데이트 된 PetClinic을 예제로 채택했습니다. 이것은 Spring Framework 샘플인 PetClinic은 Spring Data JPA, MVC, AOP, JMX, EhCache, Logback 등의 확장 가능한 Java EE 응용 프로그램을 만드는데 사용되는 기업 기술 데모로 자바 개발자들께는 친숙할 것으로 보입니다. 여기에, PetClinic를 확장하 여 일시적인 오류 처리를 추가하고 또한 Memcached를 AOP를 통해 Azure 캐시에 추가 합니다.

Eclipse 및 STS에 익숙한 Java 개발자를 위해서 Windows Azure Toolkit for Eclipse with Java 를 제공하고 있습니다. 이 개발 도구는 Windows Azure에서 Eclipse를 사용하여 자바 개발을 할 경우에 사용하는 다음 지원 리소스가 포함 되어 있습니다.

  • Windows Azure Plugin for Eclipse with Java
  • Microsoft JDBC 4.0 Driver for SQL Server, Windows Azure SQL 데이터베이스
  • Apache Qpid Client Libraries for JMS 패키지
  • Windows Azure Libraries for Java 패키지
  • Windows Azure 액세스 제어 서비스 필터
  • Windows Azure의 일반적인 플러그인

이 가이드에서는 Windows Azure Plugin for Eclipse with Java 및 Microsoft JDBC 4.0 Driver for SQL Server를 사용 합니다. Eclipse 용 플러그인에서는 Windows Azure 서비스와 Windows Azure 에뮬레이터에 대한 Java 래퍼를 제공 합니다.

요약

오픈 클라우드 플랫폼인 Windows Azure는 다양한 프로그래밍 언어와 프레임 워크를 지원하고 있습니다. 이 새로운 Windows Azure에서 Java 관련 튜토리얼 (영어) 에서는 Windows Azure에서 Java 관련 기술을 실천 형식으로 제공되고 있습니다. Java 개발자 들은이 설명서를 꼭 참조하시어 샘플 코드를 분석 합니다.