Những lợi thế và những hạn chế của các ứng dụng ảo Một ứng dụng ảo là một cách triển khai một ứng dụng JEE cùng với một bộ các quyết định chính sách để xác định cách ứng dụng co giãn quy mô và sử dụng các tài nguyên của máy ảo Java (Java™ Virtual Machine - JVM) như thế nào. Khi bạn triển khai một ứng dụng như là một ứng dụng ảo, bạn cũng tận dụng lợi thế của một bộ các dịch vụ chia sẻ dựng sẵn để xử lý các chi tiết của các vấn...
Chuẩn bị đưa lên Hệ thống PureApplication IBM, Phần 2: Ứng dụng bạn sẵn sàng để trở thành ảo chưa? Những lợi hạn chế ứng dụng ảo Một ứng dụng ảo cách triển khai ứng dụng JEE với định sách để xác định cách ứng dụng co giãn quy mô sử dụng tài nguyên máy ảo Java (Java™ Virtual Machine - JVM) Khi bạn triển khai ứng dụng ứng dụng ảo, bạn tận dụng lợi dịch vụ chia sẻ dựng sẵn để xử lý chi tiết vấn đề, ví dụ việc cân tải quản lý HttpSession Tuy nhiên, lợi ích tự động hóa có kèm giá phải trả Cấu trúc liên kết ứng dụng bạn (ví dụ, có máy chủ ứng dụng chạy lúc, máy chủ xử lý kiểu yêu cầu v.v ) Hệ thống PureApplication chủ động quản lý Ví dụ, điều có nghĩa là, bạn khơng thể chia tách ứng dụng thành tầng Web chạy servlet tầng EJB chạy EJB từ xa Đối với nhiều ứng dụng, điều vấn đề, ứng dụng cũ dựa vào việc đóng gói nhiều tầng dựa vào đặc tính cấu trúc liên kết ứng dụng đặc thù, điều thành vấn đề Một phần khác giá phải trả có số mơ hình lập trình định hỗ trợ Đối với ứng dụng địi hỏi tính linh hoạt nhiều hơn, Hệ thống PureApplication hỗ trợ hệ thống ảo Về đầu trang Những lợi hạn chế hệ thống ảo Một hệ thống ảo chế tạo khuôn mẫu mẫu toàn cấu trúc liên kết xây dựng từ ảnh ảo Bạn sử dụng ảnh IBM-provided Hypervisor Edition (Ấn Siêu giám sát IBM cung cấp) lúc xây dựng hệ thống ảo bạn, bạn xây dựng ảnh riêng ảnh RHEL sở cách sử dụng cơng cụ IBM Tivoli® ICON Một khả khác tính "Bắt giữ Mở rộng" (Capture and Extend) Hệ thống PureApplication, cho phép bạn bắt đầu với ảnh ảo thêm phần mềm bổ sung vào ảnh trước đóng gói lại để sử dụng sau Một lý quan trọng khác việc xây dựng hệ thống ảo bạn thêm kịch lệnh riêng bạn vào hệ thống ảo Nếu bạn muốn triển khai ứng dụng vào mẫu cấu trúc liên kết mà bạn tạo ra, bạn cần tạo kịch lệnh cho việc triển khai để xảy phần trình khởi tạo cá thể triển khai cá thể hệ thống ảo vào phần cứng Hệ thống PureApplication Về đầu trang Chọn cách tiếp cận Trong hầu hết trường hợp, việc chuyển ứng dụng lên Hệ thống PureApplication thực trình phức tạp Tuy nhiên, điều mấu chốt để thực trình di trú bạn hiểu bạn cần chọn xác cách tiếp cận để đưa ứng dụng bạn lên hệ thống Hệ thống PureApplication hỗ trợ số cách khác để triển khai ứng dụng bạn Lựa chọn cách cho dẫn đến lượng công việc với lợi ích lớn định quan trọng mà bạn đưa trình di trú Điều thấy đưa lên số ứng dụng ISV có cách đơn giản để bắt đầu việc cần hỏi loạt câu hỏi sau: Bạn xây dựng ứng dụng phải không? Lý bạn cần đề cập đến câu hỏi trước tiên đơn giản – bạn muốn tận dụng lợi chế triển khai đơn giản dễ dàng Như bạn thấy trên, mơ hình triển khai đơn giản Hệ thống PureApplication cung cấp ứng dụng ảo Nếu bạn xây dựng ứng dụng có hội tác động đến lựa chọn cơng nghệ thiết kế thực ứng dụng, chọn cơng nghệ thiết kế làm cho ứng dụng tương thích với ứng dụng ảo Tuy nhiên, hầu hết trường hợp, ứng dụng mà bạn xử lý hàng ngày ứng dụng làm từ đầu Thay vào đó, bạn xử lý ứng dụng có, xây dựng chạy mơi trường có Rồi bạn phải xem xét câu hỏi Đây có phải ứng dụng Web khơng? Đó câu hỏi bề đơn giản đánh lừa Điều thực nghĩ đến hỏi câu là, "Có phải ứng dụng nhận yêu cầu HTTP HTTPS (http an tồn) gửi đến khơng?" Định nghĩa kết hợp số mẫu khác việc phát triển ứng dụng Định nghĩa muốn nói tới mẫu ứng dụng sau đây: Một ứng dụng cung cấp dịch vụ RESTful cho giao diện người dùng viết công nghệ Javascript AJAX o Một nhà cung cấp Các dịch vụ Web thực dịch vụ SOAP cho máy khách bên Internet o Một ứng dụng Web cổ điển xây dựng servlet JSP o Tuy nhiên, định nghĩa không bao gồm số kiểu ứng dụng: ví dụ, ứng dụng kháchchủ Java, sử dụng máy khách Java phong phú (thick) kết nối thông qua RMI hay RMI/IIOP tới EJB chạy mặt sau, không coi ứng dụng web sử dụng định nghĩa Những suy xét đưa đến câu hỏi Bạn có sử dụng EJB từ xa khơng? Các EJB phần hữu ích mơ hình lập trình JEE từ lúc khởi đầu Tuy nhiên, lợi ích EJB từ xa phải cân đối lại phải đánh đổi độ phức tạp cấu trúc liên kết ứng dụng bạn Các máy chủ ứng dụng bạn phải xử lý hai, lưu lượng HTTP gửi đến servlet, JSP, dịch vụ Web bạn, lưu lượng RMI/IIOP gửi đến từ máy khách EJB Thông thường, điều thực thông qua việc xây dựng hai tầng máy chủ ứng dụng; tầng dành riêng để xử lý lưu lượng HTTP tầng khác dành riêng để xử lý lưu lượng RMI Như phần q trình đơn giản hóa, sử dụng ứng dụng ảo, bạn phải từ bỏ số tùy chọn cấu trúc liên kết Vì vậy, thảo luận trên, bạn cần EJB từ xa, bám chặt lựa chọn sử dụng hệ thống ảo, có sẵn tùy chọn cấu trúc liên kết cho bạn sử dụng Ứng dụng bạn có đóng gói theo cách tiêu chuẩn không? Một lần nữa, câu hỏi bề ngồi đơn giản đánh lừa Dùng thuật ngữ "theo cách tiêu chuẩn", muốn nói ứng dụng có đóng gói dạng tệp EAR, tệp WAR, tệp lưu trữ ZIP EBA (OSGi Enterprise Bundle Archive - Lưu trữ gói doanh nghiệp OSGi) hay khơng? Bạn thấy, tiêu chuẩn JEE đóng gói ứng dụng thành tệp EAR WAR tiêu chuẩn OSGi giới thiệu kiểu lưu trữ EBA, nhiều ứng dụng khơng đóng gói theo cách - thay vào đó, chúng gửi dạng cấu trúc thư mục "đã bung ra" Mặc dù cấu trúc làm việc với máy chủ đơn giản Tomcat, việc thực đóng gói theo cách khơng chuẩn làm rắc rối thêm cho bạn di chuyển đến máy chủ JEE mới, ví dụ máy chủ hỗ trợ ứng dụng ảo Vì vậy, câu trả lời bạn khơng, đóng gói lại ứng dụng bạn theo định dạng tiêu chuẩn Tương tự vậy, có nhiều chiến lược đóng gói khác WebSphere® Application Server (Máy chủ ứng dụng WebSphere) mà bạn muốn sử dụng; ví dụ, máy chủ liên kết với thư viện chia sẻ Một lần nữa, để đơn giản hóa mơ hình, cách đóng gói khơng sử dụng ứng dụng ảo Nếu bạn tránh việc sử dụng cách tiếp cận này, xem xét việc sử dụng hệ thống ảo để thay Ứng dụng bạn có sử dụng mơ hình lập trình JEE tiêu chuẩn khơng? Đã có thành ngữ nói "Một điều thú vị tiêu chuẩn có nhiều tiêu chuẩn để chọn." Thật khơng may, điều hồn tồn bạn nói mơ hình lập trình Các API giới thiệu với nhịp độ nhanh qui trình cộng đồng Java bị ngập chìm với JSR tồn đọng, không phê duyệt không đạt chấp nhận rộng rãi đủ để thức trở thành phần tiêu chuẩn JEE Một lần nữa, vấn đề với ứng dụng ảo, bạn cần giữ cho thứ đơn giản Vì thế, bạn phải hạn chế API hỗ trợ mức quản lý Do đó, ứng dụng bạn sử dụng API tiêu chuẩn từ JEE5, J2EE1.4, 1.3 1.2, OSGi, JPA, JAX-RPC, JAX-WS JAX-RS, bạn yên tâm Mặt khác, bạn viết chương trình mức JEE (chẳng hạn JEE 6) bạn sử dụng số API khó hiểu từ sâu bên lịng JCP, ứng dụng bạn không làm việc ứng dụng ảo Tuy nhiên, cách tiếp cận IBM để cung cấp hỗ trợ cho API thông qua Các gói tính (Feature Packs) Vì vậy, bạn lập kế hoạch cho mức API mới, bạn cần xem xét việc xây dựng hệ thống ảo cách sử dụng WebSphere Application Server V8 (Phiên V8 Máy chủ ứng dụng WebSphere) kết hợp Gói tính (và hỗ trợ cho API đó) trở nên có sẵn Ứng dụng có chạy Phiên hay Phiên WebSphere Application Server không? Đây câu hỏi mềm, câu hỏi quan trọng Có vài câu trả lời khác cho câu hỏi mà bạn cần xem xét Thậm chí câu trả lời bạn cho câu hỏi "có", bạn rơi vào thể loại trước đây, đề cập nói mơ hình lập trình, đóng gói theo tiêu chuẩn sử dụng EJB từ xa, định bạn chọn - ứng dụng bạn ứng dụng ảo Tuy nhiên, bạn trả lời "khơng", bạn có khả chạy ứng dụng ảo Nếu ứng dụng bạn tuân thủ trả lời câu hỏi mơ hình lập trình đóng gói trên, thứ tốt Tuy nhiên, ứng dụng bạn chạy phiên WebSphere Application Server cũ nhiều máy chủ ứng dụng khác, trước hết bạn phải hồn thành nỗ lực di trú trước bạn di chuyển tới ứng dụng ảo hệ thống ảo Ứng dụng bạn có yêu cầu sản phẩm họ WebSphere WebSphere Portal Server (Máy chủ cổng WebSphere) WebSphere Process Server (Máy chủ xử lý quy trình WebSphere) khơng? Như mô tả trên, cách tiếp cận ứng dụng ảo cách tiếp cận nhằm vào việc xây dựng ứng dụng Web Nếu kiểu ứng dụng bạn (hoặc "tải làm việc" bạn muốn sử dụng thuật ngữ đó) khơng phải ứng dụng Web, cách tiếp cận ứng dụng ảo khơng phải cách tiếp cận dành cho bạn Lưu ý tun bố có tính thời điểm Theo thời gian, kiểu tải làm việc thêm vào IBM Workload Deployer Hệ thống PureApplication Vì vậy, số thời điểm, bạn có ứng dụng quản lý qui trình nghiệp vụ, bạn tận dụng lợi mức tự động hóa cao mà ứng dụng ảo cung cấp cho ứng dụng Web Tuy nhiên, vào lúc này, bạn yêu cầu sản phẩm sản phẩm này, bạn cần phải xây dựng hệ thống ảo kết hợp sản phẩm Hypervisor Edition (Ấn Siêu giám sát) IBM phân phối phần danh mục trực tuyến cho Hệ thống PureApplication Workload Deployer IBM Ứng dụng bạn sẵn sàng để tận dụng lợi việc quản lý phiên làm việc với WebSphere Extreme Scale (Mở rộng quy mô lớn WebSphere) chưa? Cũng với nhiều câu hỏi trước đó, có nhiều thứ gói câu Về bản, trước tiên bạn phải xem xét việc sử dụng API HttpSession Nhiều ứng dụng viết theo cách hồn tồn khơng trạng thái khơng dùng API HttpSession tí - ứng dụng hồn tồn phù hợp với ứng dụng ảo Mặt khác, bạn sử dụng HttpSessions ứng dụng mình, bạn phải suy nghĩ chút cách bạn sử dụng chúng Trước hết, có phải tất nội dung HttpSession bạn khai báo java.io.Serializable hay khơng? Nếu khơng, bạn có vấn đề Với ứng dụng ảo, mơ hình mà sách mở rộng tuân theo cá thể máy chủ ứng dụng tạo động bị phá hủy cần để xử lý tải làm việc mà ứng dụng thực vào lúc Nếu bạn giả định máy chủ bạn tồn lâu dài nhớ kho lưu trữ "an tồn" cho thơng tin phiên làm việc, bạn bị bất ngờ lúng túng bạn cố gắng thực ứng dụng ảo Tương tự vậy, phiên làm việc bạn lớn (hàng trăm MB), bạn bị bất ngờ thời gian cần thiết để tải phiên làm việc qua mạng từ lưới WebSphere Extreme Scale Mặt khác, bạn có phiên làm việc nhỏ, hóa hóa hồn tồn, tuân thủ cách thực hành HttpSession tốt nhất, bạn sử dụng ứng dụng ảo Ứng dụng bạn có sử dụng sản phẩm bảo mật bên ngồi hay khơng có sử dụng API bảo mật đặc biệt trình cắm thêm TAI (Trust Authentication Interceptors – Các trình chặn xác thực tin cậy) JAAS hay không? Cuối cùng, thứ cần xem xét yêu cầu bảo mật đặt với ứng dụng bạn Nếu ứng dụng bạn khơng có yêu cầu bảo mật đơn giản sử dụng bảo mật WebSphere sử dụng đăng ký người dùng hỗ trợ (TDS, Microsoft® Active Directory), bạn triển khai thực hệ thống bạn ứng dụng ảo Mặt khác, bạn sử dụng sản phẩm bảo mật riêng biệt Tivoli Authentication Manager (Trình quản lý xác thực Tivoli) sản phẩm đối thủ số tính Bảo mật WebSphere đặc biệt JAAS TAI, bạn cần lập kế hoạch xây dựng hệ thống ảo Về đầu trang Chọn cách tiếp cận thời điểm Một điều quan trọng cần xem xét ứng dụng có vịng đời, mơ hình triển khai khơng thể trì cho tồn vịng đời ứng dụng Ví dụ, bạn muốn triển khai ứng dụng môi trường phát triển thử nghiệm ứng dụng ảo để có mơ hình đơn giản để chắn bạn bắt giữ xác thơng số cấu hình (như sách JVM) mơi trường Tuy nhiên, bạn muốn triển khai ứng dụng sản xuất hệ thống ảo để thiết lập mơi trường tối ưu hóa cao cho ứng dụng Tương tự vậy, bạn có ứng dụng có triển khai hệ thống ảo nay, phiên ứng dụng, bạn làm theo hướng thay đổi mã để làm cho tương thích với việc triển khai ứng dụng ảo Về đầu trang Lập kế hoạch cho tương lai Điều tốt mà bạn làm lập kế hoạch ứng dụng bạn hay chưa sẵn sàng thành ứng dụng ảo đơn giản thời gian để lập kế hoạch cho qui trình May mắn thay, IBM sẵn sàng giúp bạn suốt qui trình Q trình PureExperience có vài bước để khai triển tiếp câu hỏi mà đặt cách hỏi thêm số câu hỏi vào lĩnh vực Thơng qua q trình hỏi trả lời này, Chuyên gia kỹ thuật phía khách IBM (IBM Client Technical Professional) giúp bạn hiểu mơ hình triển khai đáp ứng tốt cho ứng dụng cụ thể bạn Tương tự vậy, IBM Software Services for WebSphere (Các dịch vụ phần mềm với WebSphere IBM) sẵn sàng trợ giúp với dịch vụ di trú ứng dụng dịch vụ khác để giúp bạn chọn dùng Hệ thống PureApplication Hãy liên hệ với đại diện bán hàng IBM bạn để trợ giúp thêm để bắt đầu! ... chuyển ứng dụng lên Hệ thống PureApplication thực trình phức tạp Tuy nhiên, điều mấu chốt để thực trình di trú bạn hiểu bạn cần chọn xác cách tiếp cận để đưa ứng dụng bạn lên hệ thống Hệ thống PureApplication. .. ứng dụng sản xuất hệ thống ảo để thiết lập mơi trường tối ưu hóa cao cho ứng dụng Tương tự vậy, bạn có ứng dụng có triển khai hệ thống ảo nay, phiên ứng dụng, bạn làm theo hướng thay đổi mã để. .. này, xem xét việc sử dụng hệ thống ảo để thay Ứng dụng bạn có sử dụng mơ hình lập trình JEE tiêu chuẩn khơng? Đã có thành ngữ nói "Một điều thú vị tiêu chuẩn có nhiều tiêu chuẩn để chọn." Thật khơng