Điện toán đám mây – Tổng quan
Windows Azure, sau đó được đổi tên thành Microsoft Azure vào năm 2014, là một nền tảng điện toán đám mây, được Microsoft thiết kế để xây dựng, triển khai và quản lý thành công các ứng dụng và dịch vụ thông qua mạng lưới trung tâm dữ liệu toàn cầu. Hướng dẫn này giải thích các tính năng khác nhau của nền tảng linh hoạt này và cung cấp mô tả từng bước về cách sử dụng tương tự
Hướng dẫn này được thiết kế cho các nhà phát triển phần mềm quan tâm đến việc phát triển các ứng dụng tốt nhất trong lớp bằng cách sử dụng nền tảng mở và nâng cao này của Windows Azure
Để học Windows Azure, bạn cần phải làm quen với môi trường Windows và có kiến thức cơ bản về điện toán đám mây
Xu hướng phổ biến trong thế giới công nghệ hiện nay là ‘Điện toán đám mây’. Điện toán đám mây có thể được coi là lưu trữ và truy cập dữ liệu qua internet chứ không phải là ổ cứng máy tính của bạn. Điều này có nghĩa là bạn không truy cập dữ liệu từ ổ cứng của máy tính hoặc qua mạng máy tính chuyên dụng (mạng gia đình hoặc mạng văn phòng). Điện toán đám mây có nghĩa là dữ liệu được lưu trữ ở một nơi từ xa và được đồng bộ hóa với các thông tin web khác. Một ví dụ nổi bật của điện toán đám mây là Office 365 cho phép người dùng lưu trữ, truy cập, chỉnh sửa tài liệu MS Office của họ trực tuyến (trong trình duyệt) mà không cần cài đặt chương trình thực trên thiết bị của họ
Kiến trúc của điện toán đám mây
Kiến trúc của điện toán đám mây bao gồm các thành phần sau:
- Thiết bị giao diện người dùng
- Nền tảng back-end
- Giao hàng dựa trên đám mây
- Mạng lưới
Thiết bị Front-end – Về cơ bản, đây là các thiết bị được khách hàng sử dụng để truy cập dữ liệu hoặc chương trình bằng trình duyệt hoặc các ứng dụng đặc biệt.
Nền tảng Back-end – Có nhiều máy tính, máy chủ, máy ảo, v.v. kết hợp để trở thành một nền tảng back-end.
Các loại đám mây
Các tùy chọn lưu trữ trên đám mây có 3 dạng:
- Công cộng
- Riêng tư
- Hỗn hợp
Đám mây công cộng – Một nhà cung cấp dịch vụ cung cấp các đám mây cho công chúng, được gọi là đám mây công cộng. Những đám mây này được người dùng truy cập thông qua internet. Chúng được mở cho công chúng và cơ sở hạ tầng của chúng được sở hữu và vận hành bởi các nhà cung cấp dịch vụ như trong trường hợp của Google và Microsoft.
Đám mây riêng – Những đám mây này dành riêng cho một tổ chức cụ thể. Tổ chức cụ thể đó có thể sử dụng đám mây để lưu trữ dữ liệu của công ty, lưu trữ ứng dụng kinh doanh, v.v. Không thể chia sẻ dữ liệu được lưu trữ trên đám mây riêng với các tổ chức khác. Đám mây được quản lý bởi chính tổ chức hoặc bên thứ ba.Đám mây kết hợp – Khi hai hoặc nhiều đám mây liên kết với nhau để mang lại lợi thế cho cả đám mây công cộng và riêng tư, chúng được gọi là Đám mây kết hợp. Các tổ chức có thể sử dụng các đám mây riêng cho các ứng dụng nhạy cảm, trong khi các đám mây chung cho các ứng dụng không nhạy cảm. Các đám mây lai cung cấp các giải pháp linh hoạt, có thể mở rộng và tiết kiệm chi phí cho các tổ chức.
Lợi ích của đám mây
Có rất nhiều lợi ích của đám mây. Một số trong số họ được liệt kê dưới đây.
- Dịch vụ đám mây cung cấp khả năng mở rộng. Phân bổ và giảm phân bổ các nguồn lực được linh động theo nhu cầu.
- Nó tiết kiệm chi phí bằng cách giảm cơ sở hạ tầng vốn.
- Nó cho phép người dùng truy cập ứng dụng độc lập với vị trí và cấu hình phần cứng của họ.
- Nó đơn giản hóa mạng và cho phép khách hàng truy cập ứng dụng mà không cần mua giấy phép cho từng máy.
- Lưu trữ dữ liệu trên đám mây đáng tin cậy hơn vì nó không dễ bị mất.
SPI
Tiếp theo là cách các dịch vụ đám mây được phân loại. S là viết tắt của Phần mềm, P là viết tắt của Nền tảng và I là Cơ sở hạ tầng trong SPI. SaaS là Phần mềm như một dịch vụ; PaaS là Nền tảng như một dịch vụ và IaaS là Cơ sở hạ tầng như một Dịch vụ.
Sau đây là các ví dụ trực tiếp của các mô hình này.
- Mô hình SAAS – E-mail (Gmail, Yahoo, v.v.)
- Mô hình PAAS – Microsoft Azure
Mô hình IAAS – Amazon S3
Microsoft Azure – Windows
Có nhiều nền tảng điện toán đám mây được cung cấp bởi các tổ chức khác nhau. Windows Azure là một trong số đó, được cung cấp bởi Microsoft. Azure có thể được mô tả là các trung tâm dữ liệu được quản lý được sử dụng để xây dựng, triển khai, quản lý các ứng dụng và cung cấp dịch vụ thông qua một mạng toàn cầu. Các dịch vụ được cung cấp bởi Microsoft Azure là PaaS và IaaS. Nhiều ngôn ngữ lập trình và khuôn khổ được hỗ trợ bởi nó
Azure as PaaS (Nền tảng như một dịch vụ)
Như tên cho thấy, một nền tảng được cung cấp cho khách hàng để phát triển và triển khai phần mềm. Khách hàng có thể tập trung vào việc phát triển ứng dụng hơn là phải lo lắng về phần cứng và cơ sở hạ tầng. Nó cũng xử lý hầu hết các hệ điều hành, máy chủ và các vấn đề mạng.
Ưu điểm
- Chi phí tổng thể thấp vì tài nguyên được phân bổ theo yêu cầu và các máy chủ được cập nhật tự động.
- Nó ít bị tấn công vì các máy chủ được cập nhật tự động và được kiểm tra tất cả các vấn đề bảo mật đã biết. Toàn bộ quá trình không được nhà phát triển nhìn thấy và do đó không gây ra nguy cơ vi phạm dữ liệu.
- Vì các phiên bản mới của các công cụ phát triển được nhóm Azure thử nghiệm, nên các nhà phát triển sẽ dễ dàng chuyển sang các công cụ mới. Điều này cũng giúp các nhà phát triển đáp ứng nhu cầu của khách hàng bằng cách nhanh chóng thích ứng với các phiên bản mới.
Nhược điểm
- Có những vấn đề về tính di động khi sử dụng PaaS. Có thể có một môi trường khác tại Azure, do đó ứng dụng có thể phải được điều chỉnh cho phù hợp.
Azure as IaaS (Cơ sở hạ tầng như một dịch vụ)
Đây là một dịch vụ máy tính được quản lý cung cấp quyền kiểm soát hoàn toàn hệ điều hành và nền tảng ứng dụng cho các nhà phát triển ứng dụng. Nó cho phép người dùng tự mình truy cập, quản lý và giám sát các trung tâm dữ liệu.
Ưu điểm
- Điều này là lý tưởng cho ứng dụng cần kiểm soát hoàn toàn. Máy ảo hoàn toàn có thể được điều chỉnh phù hợp với yêu cầu của tổ chức hoặc doanh nghiệp.
- IaaS tạo điều kiện cho tính di động thời gian thiết kế rất hiệu quả. Điều này có nghĩa là ứng dụng có thể được chuyển sang Windows Azure mà không cần làm lại. Tất cả các phụ thuộc ứng dụng như cơ sở dữ liệu cũng có thể được chuyển sang Azure.
- IaaS cho phép chuyển đổi nhanh chóng các dịch vụ sang các đám mây, giúp các nhà cung cấp dễ dàng cung cấp dịch vụ cho khách hàng của họ. Điều này cũng giúp các nhà cung cấp mở rộng hoạt động kinh doanh của họ bằng cách bán phần mềm hoặc dịch vụ hiện có ở các thị trường mới.
Nhược điểm
- Vì người dùng được trao toàn quyền kiểm soát nên họ có xu hướng gắn bó với một phiên bản cụ thể cho các phần phụ thuộc của ứng dụng. Việc di chuyển ứng dụng sang các phiên bản trong tương lai có thể trở nên khó khăn đối với họ.
- Có nhiều yếu tố làm tăng chi phí hoạt động của nó. Ví dụ, bảo trì máy chủ cao hơn để vá lỗi và nâng cấp phần mềm.
- Có rất nhiều rủi ro bảo mật từ các máy chủ chưa được vá. Một số công ty có các quy trình được xác định rõ ràng để kiểm tra và cập nhật các máy chủ tại chỗ cho các lỗ hổng bảo mật. Các quy trình này cần được mở rộng cho các máy ảo IaaS được lưu trữ trên đám mây để giảm thiểu rủi ro tấn công.
- Các máy chủ chưa được vá có nguy cơ lớn về bảo mật. Không giống như PaaS, không có quy định về bản vá máy chủ tự động trong IaaS. Một máy chủ chưa được vá với thông tin nhạy cảm có thể rất dễ bị tấn công ảnh hưởng đến toàn bộ hoạt động kinh doanh của một tổ chức.
- Rất khó để duy trì các ứng dụng cũ trong Iaas. Nó có thể bị kẹt với phiên bản cũ hơn của hệ điều hành và ngăn xếp ứng dụng. Do đó, dẫn đến các ứng dụng khó bảo trì và thêm chức năng mới theo thời gian.
Cần phải hiểu ưu và nhược điểm của cả hai dịch vụ để chọn đúng theo yêu cầu của bạn. Tóm lại, có thể nói rằng, PaaS có những lợi thế kinh tế nhất định cho các hoạt động so với IaaS cho các ứng dụng hàng hóa. Trong PaaS, chi phí hoạt động phá vỡ mô hình kinh doanh. Trong khi đó, IaaS cho phép kiểm soát hoàn toàn hệ điều hành và nền tảng ứng dụng.
Cổng quản lý Azure
Azure Management Portal là một giao diện để quản lý các dịch vụ và cơ sở hạ tầng được ra mắt vào năm 2012. Tất cả các dịch vụ và ứng dụng được hiển thị trong đó và nó cho phép người dùng quản lý chúng.
Bắt đầu
Bạn có thể tạo tài khoản dùng thử miễn phí trên cổng quản lý Azure bằng cách truy cập liên kết sau – management.windowsazure.com
Màn hình bật lên như trong hình sau. Tài khoản có thể được tạo bằng tài khoản Gmail, Hotmail hoặc Yahoo hiện có của chúng tôi.
Sau khi đăng nhập, bạn sẽ được chuyển đến màn hình sau, nơi có danh sách các dịch vụ và ứng dụng trên bảng điều khiển bên trái.
Khi bạn nhấp vào một danh mục, chi tiết của danh mục đó sẽ được hiển thị trên màn hình. Bạn có thể xem số lượng ứng dụng, máy ảo, dịch vụ di động, v.v. bằng cách nhấp vào mục menu.
Chương tiếp theo có giải thích chi tiết về cách sử dụng cổng thông tin này để quản lý các dịch vụ
Microsoft Azure – Components
Việc phân loại các dịch vụ sẽ giúp bạn hiểu rõ hơn về Azure. Các danh mục này được gọi là ‘Thành phần’ trong hướng dẫn này. Các thành phần riêng lẻ được giải thích bằng hình ảnh chi tiết trong các chương tiếp theo.
Mô hình tính toán / thực thi
Đây là giao diện thực thi ứng dụng, là một trong những chức năng cơ bản của Azure
Như đã thấy trong hình trên, có các mô hình khác nhau như Ứng dụng web, Máy ảo, Dịch vụ di động, Dịch vụ đám mây và Dịch vụ hàng loạt. Các mô hình này có thể được sử dụng riêng biệt hoặc kết hợp tùy theo yêu cầu.
Quản lý dữ liệu
Quản lý dữ liệu có thể được thực hiện bằng cách sử dụng cấu phần Cơ sở dữ liệu máy chủ SQL hoặc mô-đun lưu trữ dữ liệu đơn giản do Windows Azure cung cấp. Cơ sở dữ liệu máy chủ SQL có thể được sử dụng cho cơ sở dữ liệu quan hệ. Mô-đun lưu trữ có thể lưu trữ các bảng không liên quan (không có khóa ngoại hoặc bất kỳ mối quan hệ nào) và các đốm màu. Các khối bao gồm dữ liệu nhị phân dưới dạng tệp hình ảnh, âm thanh, video và văn bản
Kết nối mạng
Trình quản lý lưu lượng Azure định tuyến các yêu cầu của người dùng một cách thông minh đến một trung tâm dữ liệu có sẵn. Quá trình liên quan đến việc tìm kiếm trung tâm dữ liệu gần nhất với người dùng đưa ra yêu cầu ứng dụng web và nếu trung tâm dữ liệu gần nhất không khả dụng do nhiều lý do khác nhau, trình quản lý lưu lượng sẽ chuyển yêu cầu sang một trung tâm dữ liệu khác. Tuy nhiên, các quy tắc được đặt ra bởi chủ sở hữu ứng dụng về cách người quản lý giao thông nên hành xử.
Mạng ảo là một tính năng khác là một phần của mạng trong các dịch vụ do Windows Azure cung cấp. Mạng ảo cho phép một mạng giữa các máy cục bộ tại trụ sở của bạn và máy ảo trong Trung tâm dữ liệu Azure. IP cho các máy ảo có thể được chỉ định theo cách làm cho chúng có vẻ như đang cư trú tại cơ sở của chính bạn. Mạng ảo được thiết lập bằng thiết bị Mạng riêng ảo (VPN). Hình ảnh sau đây cho thấy hai tính năng này thực sự trông như thế nào trong cổng Azure.
Dữ liệu lớn và Máy tính lớn
Lượng lớn dữ liệu có thể được lưu trữ và quản lý bằng Windows Azure. Azure cung cấp HDInsight là dịch vụ dựa trên Hadoop. Các tổ chức thường cần quản lý một lượng lớn dữ liệu mà không nhất thiết là quản lý cơ sở dữ liệu quan hệ. Hadoop là một công nghệ nổi bật được sử dụng ngày nay. Do đó, Azure cung cấp dịch vụ Hadoop trên nền tảng của họ cho khách hàng.
Thuật ngữ ‘Big Compute’ đề cập đến các tính toán hiệu suất cao. Điều này đạt được bằng cách thực thi mã trên nhiều máy cùng một lúc.
Nhắn tin
Windows Azure cung cấp hai tùy chọn để xử lý các tương tác giữa hai ứng dụng. Một thuộc thành phần lưu trữ của dịch vụ và được gọi là ‘Hàng đợi Tin nhắn’ . Chiếc còn lại thuộc dịch vụ ứng dụng và được gọi là ‘Xe buýt dịch vụ’ . Thông báo có thể được gửi để bắt đầu giao tiếp giữa các thành phần khác nhau của ứng dụng hoặc giữa các ứng dụng khác nhau bằng cách sử dụng hai tùy chọn này.
Bộ nhớ đệm
Microsoft Azure cung cấp hai loại bộ nhớ đệm là bộ nhớ đệm trong bộ nhớ và Mạng phân phối nội dung (CDN) để lưu vào bộ nhớ đệm dữ liệu được truy cập thường xuyên và cải thiện hiệu suất ứng dụng. CDN được sử dụng để lưu vào bộ đệm dữ liệu blob sẽ được người dùng trên khắp thế giới truy cập nhanh hơn.
Danh tính và Quyền truy cập
Thành phần này là về quản lý người dùng, xác thực và ủy quyền. Thư mục hoạt động lưu trữ thông tin của người dùng truy cập ứng dụng và cả thông tin của tổ chức. Nó có thể đồng bộ hóa với các thông tin liên quan trên các máy cục bộ nằm trên cơ sở. Dịch vụ Truy cập Đa yếu tố (MFA) được xây dựng để giải quyết các vấn đề về bảo mật chẳng hạn như chỉ người dùng phù hợp mới có thể truy cập ứng dụng.
Dịch vụ di động
Windows Azure cung cấp một nền tảng rất dễ dàng để phát triển ứng dụng di động. Bạn chỉ cần bắt đầu sử dụng các công cụ phát triển di động sau khi đăng nhập vào tài khoản của mình. Bạn không cần phải viết các mã tùy chỉnh lớn cho ứng dụng di động nếu sử dụng dịch vụ này. Thông báo đẩy có thể được gửi, dữ liệu có thể được lưu trữ và người dùng có thể được xác thực trong thời gian rất ngắn.
Sao lưu
Dịch vụ khôi phục trang sao chép dữ liệu tại vị trí phụ cũng như tự động hóa quá trình khôi phục dữ liệu trong trường hợp hết dữ liệu. Tương tự, sao lưu Azure có thể được sử dụng để sao lưu dữ liệu tại chỗ trên các đám mây. Dữ liệu được lưu trữ ở chế độ mã hóa trong cả hai trường hợp. Windows Azure cung cấp dịch vụ sao lưu rất hiệu quả và đáng tin cậy cho khách hàng và đảm bảo họ không gặp bất tiện trong trường hợp lỗi phần cứng
Phương tiện truyền thông
Dịch vụ này giải quyết nhiều mối quan tâm liên quan đến việc tải lên phương tiện và cung cấp nó cho người dùng cuối một cách dễ dàng. Người dùng có thể quản lý các tác vụ liên quan đến phương tiện như mã hóa, chèn quảng cáo, phát trực tuyến, v.v. một cách dễ dàng.
thương mại
Windows Azure mang đến cơ hội cho người dùng mua hoặc bán các ứng dụng và dữ liệu thông qua nền tảng của họ. Các ứng dụng được đưa vào thị trường hoặc cửa hàng Azure từ đó người dùng khác có thể truy cập và mua chúng.
Bộ phát triển phần mềm (SDK)
Các ứng dụng Azure có thể được tạo ra bởi các nhà phát triển bằng nhiều ngôn ngữ lập trình khác nhau. Microsoft hiện cung cấp các SDK dành riêng cho ngôn ngữ dành cho Java, .NET, PHP, Node.js, Ruby và Python. Ngoài ra còn có một Windows Azure SDK chung hỗ trợ ngôn ngữ, chẳng hạn như C ++.
Phương tiện truyền thông
Dịch vụ này giải quyết nhiều mối quan tâm liên quan đến việc tải lên phương tiện và cung cấp nó cho người dùng cuối một cách dễ dàng. Người dùng có thể quản lý các tác vụ liên quan đến phương tiện như mã hóa, chèn quảng cáo, phát trực tuyến, v.v. một cách dễ dàng.
thương mại
Windows Azure mang đến cơ hội cho người dùng mua hoặc bán các ứng dụng và dữ liệu thông qua nền tảng của họ. Các ứng dụng được đưa vào thị trường hoặc cửa hàng Azure từ đó người dùng khác có thể truy cập và mua chúng.
Bộ phát triển phần mềm (SDK)
Các ứng dụng Azure có thể được tạo ra bởi các nhà phát triển bằng nhiều ngôn ngữ lập trình khác nhau. Microsoft hiện cung cấp các SDK dành riêng cho ngôn ngữ dành cho Java, .NET, PHP, Node.js, Ruby và Python. Ngoài ra còn có một Windows Azure SDK chung hỗ trợ ngôn ngữ, chẳng hạn như C ++.