Đỉnh NGUYỄN

life's a journey not a destination


Leave a comment

AWS Essentials – Cloud Computing là gì?


"Cloud Computing", theo định nghĩa, đề cập đến việc cung cấp các nguồn lực (resources) và các ứng dụng (applications) công nghệ thông tin (IT) theo nhu cầu (on-demand) thông qua Internet với chi phí chỉ phải trả cho nhu cầu sử dụng (pay-as-you-go).

Sáu ưu điểm và lợi ích của điện toán đám mây

Cloud Benefits - Trade capital for variable expense icon

Trade capital expense for variable expense

Thay vì đầu tư mạnh cho trung tâm dữ liệu và máy chủ trước khi biết mình phải dùng chúng như thế nào. Bạn có thể chỉ cần phải trả cho những tài nguyên tính toàn nào mình sử dụng, và chỉ phải trả cho tầng suất sử dụng chúng.

 

 

Benefits of the cloud - Benefit from massive economies of scale icon

Benefit from massive economies of scale

Dùng điện toán đám mây, bạn có thể đạt được chi phí biến đổi thấp hơn việc sử dụng tài nguyên của chính bạn. Bởi vì lượng sử dụng từ hàng trăm ngàn khách hàng trong đám mây giúp đạt được một quy mô kinh tế cao hơn, và bạn sẽ phải trả giá trị sử dụng thấp hơn.

 

 

Cloud computing benefits - Stop guessing capacity icon

Stop guessing capacity

Loại bỏ việc đánh giá, ước lượng nhu cầu năng lực cơ sở hạ tầng. Khi bạn thực hiện một quyết định về khả năng trước khi triển khai một ứng dụng, bạn thường tạo ra nguồn lực nhàn rỗi đắc tiền hoặc phải đi đối phó với sự hạn chế của năng lực tính toán. Với điện toán đám mây, những vấn đề này sẽ bị loại bỏ. Bạn có thể sử dụng nhiều hay ít tài nguyên như nhu cầu bạn cần chỉ trong vài phút.

 

Benefits of cloud computing - Increase speed and agility icon

 

Increase speed and agility

Trong môi trường điện toán đám mây, việc tạo ra các tài nguyên IT mới chỉ bằng 1 cú nhấp cuột (thế giới IT trong tầm tay), nghĩa là bạn giảm đáng kể thời gian để tạo ra các nguồn lực có sẵn cho các nhà phát triển, từ vài tuần xuống còn vài phút. Điều này mang đến sự nhanh nhẹn, linh hoạt cho tổ chức, chi phí và thời giản để thử nghiệm và phát triển sản phẩm sẽ thấp hơn.

Cloud benefits - Stop spending money on running and maintaining data centers icon

 

Stop spending money on running and maintaining data centers

Tập trung vào các dự án mang lại khác biệt cho việc kinh doanh của bạn, không phải cơ sở hạ tầng. Điện toán đám mây cho phép tập trung vào khách hàng của bạn, hơn là hạ tầng tủ rack, máy chủ, năng lượng.

 

Benefits of the cloud - Go global in minutes icon

Go global in minutes

Dễ dàng triển khai ứng dụng ở nhiều khu vực (regions) trên thế giới với chỉ vài cái click chuột. Nghĩa là bạn có thể cung cấp độ trễ thấp, trải nghiệm tốt hơn cho khách hàng trên toàn thế giới với chi phí tối thiểu.

 

 

(Theo Amazon Web Services)

Advertisements


Leave a comment

AWS #2 – Giới thiệu về Amazon Elastic Compute Cloud (Amazon EC2)


Amazon EC2 là gì?

Amazon Elastic Compute Cloud (Amazon EC2) cung cấp khả năng tính toán có thể mở rộng trong Amazon Web Services (AWS) cloud. Dùng Amazon EC2 giúp loại bỏ nhu cầu đầu tư vào phần cứng trước tiên, vì vậy bạn có thể tập trung phát triển và triển khai ứng dụng nhanh hơn. Bạn có thể dùng Amazon EC2 để nhiều hoặc vài máy chủ ảo như bạn cần, cấu hình bảo mật và kết nối mạng, và quản lý lưu trữ. Amazon EC2 cho phép tăng/giảm nhu cầu tính toán, xử lý tùy theo nhu cầu bạn cần.

Đặc điểm của Amazon EC2

Amazon EC2 cung cấp các đặc điểm sau:

  • Môi trường tính toán ảo hóa, được biết như instances
  • Các mẫu được định nghĩa trước cho instances, được biết như Amazon Machine Images (AMIs), cung cấp các gói phần mềm cần thiết cho máy chủ (gồm hệ điều hành và các phần mềm)
  • Các cấu hình khác nhau của CPU, memory, storage, và networking cho instances, được biết như instance types
  • Bảo mật thông tin đăng nhập đến isntances dùng key pairs (AWS lưu public key, bạn sẽ lưu private key ở nơi an toàn)
  • Lưu trữ dữ liệu tạm thời, sẽ bị xóa khi dừng hoặc hủy instance, được biết như instance type volumes
  • Lưu trữ dữ liệu lâu dài dùng Amazon Elastic Block Store (EBS), được biết như Amazon EBS volumes
  • Tách biệt tài nguyên như instances và Amazon EBS volumes trên các vùng lưu trữ vật lý ở nhiều vị trí, được biết như regions và Availability Zones
  • Firewall cho phép chỉ định protocols, ports, và source IP ranges được phép truy xuất đến instances dùng security groups
  • Địa chỉ Static IP được biết như Elastic IP addresses
  • Metadata, được biết như tags, mà bạn có thể tạo và gán cho Amazon EC2 resources
  • Các mạng ảo mà bạn có thể tạo để cô lập với phần còn lại của AWS cloud, và bạn có thể tùy chọn kết nối đến mạng của riêng mình, được biết như virtual private clouds (VPCs)

Các dịch vụ liên quan

Bạn có thể sử dụng các tài nguyên Amazon EC2 như instances và volumes trực tiếp dùng Amazon EC2. Bạn cũng có thể dùng các tài nguyên Amazon EC2 dùng các dịch vụ khác trong AWS.

  • Auto Scaling
  • CloudFormation
  • Elastic Beanstalk
  • Elastic Load Balancing – tự động phân phối lưu lượng đến ứng dụng trên nhiều instances
  • CloudWatch – giám sát trạng thái instances và Amazon EBS volumes
  • CloudTrail – giám sát các cuộc gọi hàm đến Amazon EC2 API từ tài khoản của bạn, bao gồm cả các cuộc gọi hàm được thực hiện bởi AWS Management Console, command line tools, và các dịch vụ khác

Truy xuất đến Amazon EC2

Amazon EC2 cung cấp giao diện người dùng dựa trên web, Amazon EC2 console. Nếu bạn đã đăng nhập với tài khoản AWS, bạn có thể truy xuất Amazon EC2 console bằng cách vào AWS Management Console và chọn EC2.

Nếu bạn dùng giao diện command line, có 1 số tùy chọn:

AWS Command Line Interface (CLI)

Cung cấp các lệnh cho hầu hết các sản phẩm của AWS, được hỗ trợ trên Windows, Mac và Linux.

Amazon EC2 Command Line Interface (CLI) Tools

Cung cấp các lệnh cho Amazon EC2, Amazon EBS, và Amazon VPC, được hỗ trợ trên Windows, Mac và Linux.

AWS Tools for Windows PowerShell

Cung cấp các lệnh cho hầu hết các sản phẩm của AWS cho môi trường Windows PowerShell.

Amazon EC2 cung cấp Query API. Các yêu cầu gọi hàm thuộc dạng HTTP và HTTPS dùng HTTP verbs GET và POST và Query parameter tên Action.

Nếu bạn muốn xây dựng ứng dụng dùng 1 ngôn ngữ cụ thể thay vì gọi các yêu cầu thông qua HTTP hoặc HTTPS, AWS cung cấp các thư viện, mã nguồn, các bài tự học, và các tài nguyên khác cho người phát triển phần mềm. Đây chính là AWS SDKs and Tools.


Leave a comment

AWS #1: AWS Certified Solutions Architect – Associate Level (Exam Blueprint)


Giới thiệu

AWS Certified Solutions Architect – Associate Level dành cho cá nhân đang hoặc muốn làm việc như 1 Solution Architect. Chứng chỉ này xác nhận khả năng của thí sinh để:

  • Xác định và thu thập các yêu cầu để đề ra giải pháp dựa trên hiểu biết và các kỹ năng tốt nhất̀ về kiến trúc.
  • Có khả năng cung cấp các hướng dẫn tốt nhất về kiến trúc cho người phát triển và người quản trị hệ thống trong suốt vòng đời của dự án.

Các kiến thức và kỹ năng cần thiết ở cấp độ này bao gồm các lĩnh vực dưới đây. Mức độ kiến thức được định nghĩa phải có các thành phần chính sau đây:

Kiến thức về AWS

  • Kinh nghiệm thực tiễn với dịch vụ compute, networking, storage, và database AWS.
  • Kinh nghiệm chuyên môn về kiến trúc các hệ thống phân tán quy mô lớn.
  • Hiểu biết về các khái niệm Elasticity và Scalability.
  • Hiểu biết về các công nghệ mạng có liên quan đến AWS.
  • Hiểu biết tốt về tất cả các tính năng và công cụ bảo mật mà AWS cung cấp và mối quan hệ với các dịch vụ truyền thống.
  • Hiệu biết rất vững về cách tương tác với AWS (AWS SDK, AWS API, Command Line Interface, AWS CloudFormation).
  • Kinh nghiệm thực tiễn với các dịch vụ triển khai và quản lý của AWS.

Kiến thức về IT

  • Hiểu biết rất tốt về kiến trúc nhiều tầng (multi-tier): web servers (Apache, Nginx, IIS), caching, application servers, load balancers.
  • RDBMS (MySQL, Oracle, SQL Server), NoSQL
  • Kiến thức về hàng đợi thông điệp (message queuing) và Enterprise Service Bus (EBS).
  • Quen thuộc với loose coupling và stateless systems.
  • Hiểu biết về các mô hình nhất quán (consistency model) khác nhau trong các hệ thống phân tán.
  • Có kinh nghiệm với CDN và các khái niệm về hiệu suất (performance).
  • Kinh nghiệm về mạng với route tables, access control lists, firewalls, NAT, HTTP, DNS, IP và mạng OSI.
  • Kiến thức về RESTful Web Service, XML, JSON.
  • Quen thuộc với vòng đời phát triển phần mềm.
  • Kinh nghiệm làm việc với bảo mật thông tin và ứng dụng bao gồm mã hóa với khóa công khai, SSH, access credentials, và X.509 certificates.

Các khóa đào tạo hoặc các phương pháp tương đương khác sẽ hỗ trợ nhiều cho việc chuẩn bị kỳ thi:

  • Architecting on AWS (aws.amazon.com/training/architect)
  • Kiến thức hoặc đào tạo chuyên sâu về ít nhất 1 ngôn ngữ lập trình cấp cao.
  • AWS Cloud Computing Whitepapers (aws.amazon.com/whitepapers)
    • Tổng quan về Amazon Web Services
    • Tổng quan về Security Processes
    • AWS Risk & Compliance Whitepaper
    • Storage Options in the Cloud
    • Architecting for the AWS Cloud: Best Practices
  • Kinh nghiệm triển khai các hệ thống lai (hybrid) với on-premise và các thành phần AWS.
  • Dùng website của AWS Architecture Center (aws.amazon.com/architecture)
    Chú ý: Bảng kế hoạch này bao gồm các phần nội dung quan trọng, mục tiêu thử nghiệm, và các nội dung ví dụ. Các chủ đề và khái niệm ví dụ chỉ nhằm để làm rõ các mục tiêu thử nghiệm; chúng không nên được hiểu như là 1 danh sách toàn diện của tất cả các nội dung trong kỳ thi này.
    Bảng dưới đây liệt kê tỷ lệ của từng lĩnh vực kiến thức trong kỳ thi.
    Domain % of Examination
    1.0 Designing highly available, cost effective, fault tolerant, scalable systems 60%
    2.0 Implementation/Deployment 10%
    3.0 Data Security 20%
    4.0 Troubleshooting 10%
    TOTAL 100%

Các giới hạn trả lời

Thí sinh lựa chọn từ bốn (4) hoặc nhiều hơn các tùy chọn trả lời mà cho là tốt nhất để hoàn thành câu hỏi. Bỏ qua hoặc trả lời sai xem như là chưa hoàn thành kiến thức hoặc kỹ năng cần thiết.

Dạng thức thi được sử dùng là:

  • Multiple-choice: thí sinh chọn 1 lựa chọn tốt nhất để trả lời cho câu hỏi hoặc câu khẳng định. Các tùy chọn có thể được nhúng vào hình đồ họa để thí sinh có thể "points and clicks".
  • Multiple-response: thí sinh chọn nhiều hơn 1 lựa chọn để trả lời cho cẩu hỏi hoặc câu khẳng định.
  • Sample Directions: đọc câu hỏi hoặc câu khẳng định và từ các tùy chọn trả lời, chỉ chọn 1 đáp án đại diện cho câu trả lời tốt nhất.

Các giới hạn nội dung

1.     Domain 1.0: Designing highly available, cost efficient, fault tolerant, scalable systems

1.1   Xác định và nhận xét kiến trúc điện toán đám mây, như các thành phần cơ bản và các thiết kế hiệu quả.

Nội dung bao gồm:

  • Cách thiết kế các dịch vụ cloud
  • Lập kế hoạch và thiết kế
  • Giám sát
  • Quen thuộc với:
  • Best practices
  • Phát triển Client Specifications gồm pricing/cost (e.g. on Demand vs. Reserved vs. Spot, RTO and RPO DR Design)
  • Các quyết định kiến trúc (high availability vs. cost, Amazon Relational Databas Service (RDS) vs. cài đặt CSDL của riêng bạn trên Amazon Elastic Compute Cloud (EC2)).
  • Tích hợp với các môi trường phát triển hiện có và xây dựng kiến trúc có khả năng mở rộng.
  • Elasticity và scalability.

2.     Domain 2.0: Implementation/Deployment

2.1   Xác định các kỹ thuật và phương pháp thích hợp dùng Amazon EC2, Amazon S3, Elastic Beanstalk, CloudFormation, Amazon Virtual Private Cloud (VPC), và AWS Identity and Access Management (IAM) để viết mã và cài đặt 1 giải pháp cloud.

Nội dung bao gồm:

  • Cấu hình Amazon Machine Image (AMI)
  • Vận hành và mở rộng dịch vụ quản lý trong private cloud
  • Cấu hình hợp lý trong private và public cloud
  • Khởi chạy các instances trong nhiều geographical regions.

3.     Domain 3.0: Data Security

3.1   Nhận diện và cài đặt các thủ tục bảo vệ cho việc triển khai và duy trì cloud được tối ưu

Nội dung bao gồm:

  • Cloud Security Best Practices
    • Cách xây dựng và dùng threat model
    • Cách xây dựng và dùng data flow diagram để quản lý rủi ro (risk management)
      • Use cases
      • Abuse Cases (Negative use cases)
  • Security Architecture with AWS
    • Shared Security Responsibility Model
    • AWS Platform Compliance
    • AWS security attributes (customer workloads down to physical layer)
    • Security Services
    • AWS Identity and Access Management (IAM)
    • Amazon Virtual Private Cloud (VPC)
    • CIA và AAA models, ingress vs. egress filtering, and which AWS services and features fit
    • "Core" Amazon EC2 and S3 security feature sets
    • Incorporating common conventional security products (Firewall, IDS:HIDS/NIDS, SIEM, VPN)
    • Design Pattern
    • DDOS mitigation
    • Encryption solutions
    • Complex access controls (building sophisticated security groups, ACLs, etc.)
    • Amazon CloudWatch for the security architect

3.2   Nhận diện các kỹ thuật khắc phục thảm họa nguy hiểm và cách cài đặt chúng

Nội dung bao gồm:

  • Disaster Recovery
    • Recovery time objective
    • Recovery point objective
    • Amazon Elastic Block Store
  • AWS Import/Export
  • AWS Storage Gateway
  • Amazon Route53
  • Testing the recovered data

4.     Domain 4.0: Troubleshooting

Nội dung bao gồm:

  • Xử lý sự cố về các thông tin và câu hỏi nói chung


1 Comment

Giới thiệu tổng quan về điện toán đám mây


Giới thiệu chung

Điện toán đám mây (Cloud computing), còn gọi là điện toán máy chủ ảo, là mô hình tính toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet.

Thuật ngữ "cloud computing" ra đời giữa năm 2007 không phải để nói về một trào lưu mới, mà để khái quát lại các hướng phát triển của cơ sở hạ tầng CNTT vốn đã và đang diễn ra từ những năm qua. Quan niệm này có thể được diễn giải một cách đơn giản: các nguồn tính toán khổng lồ như các phần cứng (máy chủ ), phần mềm, và các dịch vụ (chương trình ứng dụng), … sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần.

Nói cách khác, ở mô hình tính toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ thông tin từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải biết về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó.

Theo tổ chức Xã hội máy tính IEEE, “Điện toán đám mây là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, …".

image

Điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing) và phần mềm dịch vụ (SaaS).

Các thành phần của điện toán đám mây

Điện toán đám mây có thể chuyển đổi các chương trình ứng dụng diện rộng theo kiến trúc và phân phối các dịch vụ.

image

– Cơ sở hạ tầng (Infrastructure)

– Lưu trữ đám mây (Cloud Storage)

– Nền tảng đám mây (Cloud Platform)

– Ứng dụng (Application)

– Dịch vụ (Services)

– Khách hàng (Client)

Các tầng kiến trúc của điện toán đám mây

Điện toán đám mây cung cấp các dịch vụ ở tất cả các tầng, từ phần cứng tới các phần mềm.

Kiến trúc do Sun đề xuất đầu tiên gồm 6 tầng:

– Các máy chủ thực (Physical Servers)

– Các máy chủ ảo (Virtual Servers)

– Hệ điều hành (Operating System)

– Phần mềm trung gian (Middleware)

– Các chương trình ứng dụng (Applications)

– Các dịch vụ (Servers)

Kiến trúc trong các tài liệu của Microsoft chia thành rất nhiều tầng như sau:

image

Các dịch vụ có thể chia thành 3 lớp chính: Phần mềm dịch vụ (software as a service), nền dịch vụ (platform as a service), và cơ sở hạ tầng dịch vụ (infrastructure as a service). Các lớp này có thể tập hợp thành các tầng kiến trúc khác nhau, có thể chồng chéo, gối nhau.

Mô hình dịch vụ trong điện toán đám mây

image

image

Phần mềm hoạt động như dịch vụ (SaaS – Software as a Service)

Phần mềm hoạt động hướng dịch vụ hoặc gọi tắt là Phần mềm dịch vụ, là mô hình triển khai phần mềm, một nhánh của điện toán đám mây, theo đó các nhà cung cấp phần mềm như là các dịch vụ theo yêu cầu cho khách hàng. Theo định nghĩa của hãng nghiên cứu toàn cầu IDC là: "phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và cho phép người sử dụng truy cập từ xa".

image

Nền tảng hướng một dịch vụ (PaaS – Platform as a Service)

Đây cũng là một biến thể của SaaS nhưng mô hình này là một nhánh của điê ̣n toán đám mây (cloud computing), mang đến môi trường phát triển như một dịch vụ: người sử dụng xây dựng ứng dụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người sử dụng thông qua máy chủ của nhà cung cấp đó . Người sử dụng sẽ không hoàn toàn được tự do vì bị ràng buộc về mă ̣t thiết kế và công nghệ . Một số ví dụ điển hình về PaaS là Force.com của Salesforce.com, Google App Engine, Yahoo Pipes …

image

Hạ tầng hướng dịch vụ (Iaas – Infrastructure as a Service)

Infrastructure as a service (IaaS) Là tầng thấp nhất của ĐTĐM, nơi tập hợp các tài sản vật lý như các phần cứng máy chủ, hệ thống lưu trữ và các thiết bị mạng, được chia sẽ và cung cấp dưới dạng dịch vụ IaaS cho các tổ chức hay doanh nghiệp khác nhau. Cũng giống như dịch vụ PaaS, ảo hóa là công nghệ được sử dụng rộng rãi để tạo ra cơ chế chia sẽ và phân phối các nguồn tài nguyên theo yêu cầu. Ví dụ về các dịch vụ IaaS như IBM BlueHouse, Vmware, Amazon EC2, Microsoft Azure Platform, Sun Parascale Cloud Storage…

image

Một số mô hình dịch vụ khác

  • Network as a service (NaaS) – Mạng lưới như một dịch vụ.
  • Storage as a service (STaaS) – Lưu trữ như một dịch vụ. Cung cấp không gian lưu trữ trực tuyến trả tiền theo nhu cầu, như Google Drive, Amazon S3, Fshare, Dropbox, …
  • Security as a service (SECaaS) – Bảo mật như một dịch vụ. Cung cấp các giải pháp bảo mật trực tuyến trả tiền theo nhu cầu, như McAfee, Trend Micro, …
  • Data as a service (DaaS) – Dữ liệu như một dịch vụ. Cung cấp dữ liệu (chỉ đọc) trả tiền theo nhu cầu thông qua các APIs, như Google Maps, Bing Maps, Amazon Public Data Sets (dữ liệu khoa học về trái đất của NASA, gồm cả thời tiết và bản đồ, dữ liệu biến đổi di truyền ở người, dữ liệu nhân khẩu học – điều tra dân số của Hoa Kỳ), Freebase (dữ liệu các sự kiện và khẳng định rất lớn trên thế giới).
  • Desktop as a service (DaaS) – Desktop như một dịch vụ. Cung cấp môi trường desktop ảo qua web hoặc thin client, như VMWare Horizon DaaS.
  • Database as a service (DBaaS) – Cơ sở dữ liệu như một dịch vụ. Cung cấp CSDL trả tiền theo nhu cầu, như MongoDB, Oracle, …
  • Test environment as a service (TEaaS) – Môi trường kiểm tra như một dịch vụ. như Sauce Labs, Perfect Mobile,
  • API as a service (APIaaS) – Giao diện lập trình ứng dụng (Application Programming Interface) như một dịch vụ. Là nền tảng cho phép tạo và host các APIs (REST, XML, Web Services), như PhantomJs.Cloud, …
  • Backend as a service (BaaS) Back-end (phần dành cho người quản trị) như một dịch vụ. như Backendless, Telerik Backend Services, Parse, …
  • Integrated development environment as a service (IDEaaS) – Môi trường phát triển tích hợp như một dịch vụ.
  • Integration platform as a service (IPaaS), see Cloud-based integration – Nền tảng tích hợp như một dịch vụ, xem thêm …..

    Các mô hình triển khai điện toán đám mây

    Đám mây công cộng (Public cloud): được 1 bên thứ 3 (người bán) cung cấp. Tồn tại ngoài tường lửu công ty và được nhà cung cấp quản lý.

    Đám mây cộng đồng (Community cloud): được chia sẽ bởi một số tổ chức và hỗ trợ một cộng đồng cụ thể có mối quan tâm chung. Nó có thể được quản lý bởi các tổ chức hoặc bên thứ ba.

    Đám mây riêng (Private cloud): được sở hữu bởi cá nhân hoặc tổ chức. Những đám mây này tồn tại bên trong tường lửa công ty và chúng được doanh nghiệp quản lý.

    Đám mây lai (Hybird cloud): là sự kết hợp của Public cloud và Private cloud.

    Một số nhà cung cấp dịch vụ

    Nhà cung cấp Iaas

    clip_image001clip_image002clip_image003clip_image004clip_image005clip_image006clip_image007clip_image008clip_image009clip_image010clip_image011clip_image012clip_image013clip_image014clip_image015clip_image016clip_image017clip_image018clip_image019clip_image020

    Nhà cung cấp PaaS

    clip_image001[4]clip_image002[4]clip_image003[4]clip_image004[4]clip_image005[4]clip_image006[4]clip_image007[4]clip_image008[4]clip_image009[4]clip_image010[4]clip_image011[4]clip_image012[4]clip_image013[4]clip_image014[4]clip_image015[4]clip_image016[4]clip_image017[4]clip_image018[4]clip_image019[4]clip_image020[4]

    Nhà cung cấp SaaS

    clip_image001[6]clip_image002[6]clip_image003[6]clip_image004[6]clip_image005[6]clip_image006[6]clip_image007[6]clip_image008[6]clip_image009[6]clip_image010[6]clip_image011[6]clip_image012[6]clip_image013[6]clip_image014[6]clip_image015[6]clip_image016[6]clip_image017[6]clip_image018[6]clip_image019[6]

    (Theo http://Cloud360.com và 1 số trang khác)


Leave a comment

Điện toán đám đông


 

Sự cộng tác người-máy sẽ tạo nên nền tảng siêu việt tập hợp tri thức và nguồn lực tính toán toàn cầu?

Trong chương trình trò chơi truyền hình “Ai là triệu phú?” có một trợ giúp dành cho thí sinh: hỏi khán giả đáp án. Thống kê cho thấy 95% đáp án của khán giả là đúng.

Điện toán đám đông
Ảnh mang tính minh họa.

Giải pháp “nhờ đám đông” không mới, đây chính là nền tảng của phần mềm nguồn mở. Nhưng nó chỉ được biết đến rộng rãi với thuật ngữ “crowdsourcing” (kết hợp từ “crowd” – đám đông và “outsourcing” – thuê ngoài) sau khi được Jeff Howe giới thiệu trong bài báo “The Rise of Crowdsourcing” đăng trên tạp chí Wired vào tháng 6/2006.

Tuy nhiên phải đến gần đây, nhờ sự phát triển của công nghệ và nền tảng web, việc “nối mạng” trở nên dễ dàng và rộng khắp, ứng dụng crowdsourcing mới trở nên hấp dẫn. Có thể nói hiện nay nhà nhà đua nhau “chạy theo đám đông”, từ thiết kế thời trang (Threadless.com, Fashionstake.com) đến huy động vốn (Kickstarter.com, Marketocracy.com) và cả sản xuất ô-tô (Rockwellautomation.com), … Và có cả “chợ đám đông” – Mechanical Turk (www.mturk.com, thuộc Amazon), nơi đây bạn có thể đưa yêu cầu công việc cùng mức phí, sẽ có “đám đông công nhân trí thức” hoàn tất công việc cho bạn.

Thuật ngữ liên quan – Social computing

Social computing hay điện toán xã hội nói chung bao hàm bất kỳ công nghệ nào có liên quan đến việc giao tiếp và tương tác giữa người với người thông qua máy tính (trực tiếp hay gián tiếp). Theo nghĩa “hẹp”, điện toán xã hội dùng để chỉ các công nghệ hỗ trợ các hoạt động xã hội như blog, email, IM (chat), wiki, v.v… Sâu xa hơn, nó bao hàm bất kỳ công nghệ nào cho phép thực hiện tính toán bởi cộng đồng “thành viên chủ động” – những người không chỉ sử dụng (thụ hưởng) ứng dụng mà còn tạo ra giá trị thông qua đóng góp nội dung, gán thẻ (tag), xếp hạng, liên kết và thậm chí thành phần phần mềm.

Đám đông không chỉ có … đông!

Mạng xã hội – một mô hình ứng dụng crowdsourcing. Cộng đồng người dùng các mạng xã hội như Facebook, Twitter, LinkedIn… không chỉ dùng mà còn tham gia tạo nên giá trị cho các mạng này thông qua việc đóng góp nội dung, phân tích, đánh giá và cả làm việc cộng tác. Thậm chí, cộng đồng mạng còn giúp cho việc ra quyết định hay giải quyết những vấn đề phức tạp.

Câu “chạy theo đám đông” có lẽ phải xét lại. Nếu số liệu thống kê ở trò chơi truyền hình trên không thuyết phục được bạn thì Wikipedia – Bách khoa toàn thư mở – là một minh chứng hùng hồn của trí tuệ đám đông.

Trong cuốn sách “The Wisdom of Crowds”, xuất bản năm 2004, James Surowiecki đưa ra nhiều dẫn chứng cho thấy tập hợp tri thức của số đông có thể cho kết quả tốt hơn tư duy của số ít người, thậm chí là các chuyên gia.

Tuy nhiên, chính Surowiecki và nhiều học giả khác cũng chỉ ra những tình huống trí tuệ đám đông bị gài bẫy. Đặc biệt, nếu một vài cá nhân có ảnh hưởng quá lớn với những người xung quanh, có thể kích hoạt bản năng “bầy đàn".

Điện toán đám đông Nhưng “chân lý” vẫn thuộc về đám đông! Các nhà nghiên cứu của học viện công nghệ Massachusetts (MIT) đã chứng minh khi đám đông càng mở rộng (số lượng thành viên càng lớn) thì càng có khả năng “hội tụ” được chính xác thông tin rải rác trong cộng đồng, ngay cả khi từng thành viên chỉ quan sát được những gì gần họ (trong phạm vi hẹp).

Bạn có nhớ câu chuyện bốn thầy mù sờ voi? Nếu được “nối mạng”, tập hợp “tư duy” của cả bốn thầy sẽ cho “cái nhìn” chính xác về con voi.

Hãy hình dung trí tuệ của “bộ não” nối mạng hàng trăm triệu người hiện nay (mạng xã hội Facebook hiện có trên 500 triệu người dùng). Còn quá sớm để nói đến siêu máy tính tập hợp nhiều “tế bào” tương tự não người, nhưng “trí tuệ tập thể” hay CI (Collective Intelligence) không phải điều xa vời.

Khái niệm CI đầu tiên được Pierre Lévy giới thiệu trong cuốn sách “Collective Intelligence: Mankind’s Emerging World in Cyberspace” xuất bản năm 1997. Pierre Lévy đi trước thời đại hơi sớm, khi mà Internet chưa phổ biến rộng khắp, chưa có các “công cụ” hữu hiệu để mọi người kết nối và đóng góp trí tuệ của mình.

Gần đây một số hãng cung cấp giải pháp bảo mật đã nhanh nhạy ứng dụng CI để phát hiện phần mềm mã độc. Nhưng CI được dùng trong các giải pháp này chỉ ở nghĩa hẹp.

Trong bài thuyết trình “Information Technology in 2020: Building a Collective Intelligence” hồi tháng 7/ 2010, giáo sư Srini Devadas thuộc phòng thí nghiệm khoa học máy tính và trí tuệ nhân tạo của MIT cho cái nhìn rộng hơn: CI dựa trên hai trụ cột là điện toán đám mây (cloud computing) và điện toán đám đông (crowd computing). Điện toán đám mây cung cấp hạ tầng tính toán và thông tin sẵn có cho mọi người truy cập; Điện toán đám đông phân tích và tổng hợp thông tin thành trí tuệ siêu việt.

“Chúng ta đang chìm trong biển thông tin, nhưng lại thiếu sự thông thái. Thế giới sẽ thuộc về những ai có khả năng tổng hợp đúng thông tin và đúng lúc…” (Consilience: The Unity of Knowledge, E.O. Wilson).

Cùng tính trên mây

Công nghệ đã phát triển đến mức dễ dàng cho mọi người khai thác mọi lúc, mọi nơi. Mạng xã hội lan toả toàn cầu, kết nối hàng trăm triệu người, không chỉ cho phép thực hiện các cuộc thảo luận, tranh luận và trao đổi thông tin một cách tức thời; mà còn cho phép người ta đóng góp chất xám thực hiện những dự án phức tạp mà các nhà nghiên cứu đơn lẻ hoặc nhóm nhỏ khó có thể thực hiện. Đây là kết quả của sự hội tụ nhiều tiến bộ công nghệ trong các lĩnh vực như hệ thống mạng, thiết bị thông minh, điện toán đám mây, web và mạng xã hội.

Điện toán đám đông Người ta có thể tham gia trực tiếp bằng các phản hồi, đánh giá, hay tham gia “chợ” crowdsourcing như Amazon Mechanical Turk; hoặc cũng có thể tham gia gián tiếp với việc “lướt web” khi tìm kiếm, đọc tin, mua sắm hoặc chơi game trực tuyến. Với hàng trăm triệu người dùng nối mạng, lượng thông tin trao đổi cực lớn. Làm sao chúng ta (và máy tính) có thể khai thác, phân tích và tổng hợp thông tin tập thể này? Nền tảng Web thế hệ mới cùng với điện toán đám mây có thể cho phép thực hiện điều đó.

Hình bên là một mô hình minh hoạ “cỗ máy-người” tạo nên điều kỳ diệu – trí tuệ tập thể. Dữ liệu thô đầu vào là nguồn thông tin dồi dào của các mạng xã hội dựa trên nền tảng công nghệ Web 2.0. Các dịch vụ dựa nên công nghệ Web tri thức (3.0) sẽ khai thác hàng tỷ gigabyte dữ liệu thô và tổ chức thành dữ liệu có “chất lượng” phục vụ xử lý và tổng hợp. Tiếp theo dữ liệu “tinh” này sẽ được “bộ lọc” con người xử lý và đánh giá. Kết quả sẽ cho ra các kho thông tin tri thức chuyên biệt.

Nền tảng điện toán mới đưa mối quan hệ người-máy lên một tầm mức mới. Con người không chỉ nhập và tiêu thụ thông tin mà còn đóng vai trò xử lý thông tin (thuật ngữ “bộ xử lý” có lẽ cần được định nghĩa lại).

Đây là điều thú vị nhất của điện toán đám đông: con người góp phần tạo nên sức mạnh tính toán. Nói cách khác, bộ não con người được xem như bộ xử lý trong hệ thống tính toán phân tán, mỗi người có thể thực hiện một phần (có thể là phần nhỏ, đơn giản) trong tác vụ tính toán phức tạp.

Bạn có nhớ dự án SETI@Home hơn 10 năm trước? Dự án này nhờ hàng triệu người dùng đóng góp nguồn lực tính toán của máy tính cá nhân lúc rảnh rỗi (thông qua phần mềm tiết kiệm màn hình) để thực hiện chương trình tìm kiếm trí tuệ ngoài Trái đất. Một dạng crowdsourcing và crowd computing.

Trí tuệ ngoài Trái đất chưa tìm thấy, nhưng dự báo trong 10 năm tới chúng ta sẽ có … trí tuệ của cả thế giới.

Với sự phát triển của Internet và điện toán đám mây, một hệ thống xử lý và tổng hợp tri thức của cộng đồng người dùng khắp nơi trên thế giới không phải là điều không tưởng.

Mở rộng hơn, đừng giới hạn điện toán đám mây chỉ ở máy chủ (server). Hãy nghĩ đến “đám mây tính toán” bao gồm cả đám đông hàng tỷ thiết bị thông minh (năng lực tính toán có khi còn mạnh hơn máy tính lớn trước đây) và tri thức của hàng tỷ “siêu máy tính” (con người) trên toàn cầu.

Với trí tuệ tập thể, có gì là không thể?

Web mới cho điện toán đám đông

Trước thời đại Web, thập niên cuối cùng của kỷ nguyên máy tính (1980-1990) chủ yếu liên quan với sự đổi mới ở “bề mặt” máy tính cá nhân: máy tính để bàn và giao diện người dùng máy tính. Trọng tâm của giai đoạn này là làm cho máy tính dễ dùng hơn với những cải tiến như Microsoft Windows, Macintosh, giao diện người dùng nhất quán hơn và tích hợp các ứng dụng với nhau.

Thập niên đầu của thời đại Web ("Web 1.0", 1991-2000) tập trung vào hạ tầng: các công nghệ cốt lõi và nền tảng của Web như HTML, HTTP, máy chủ web, công cụ tìm kiếm, công nghệ thương mại và quảng cáo, các kiến trúc cơ bản và mô hình kinh doanh của ứng dụng Web. Phần lớn đầu tư cho Web trong thập niên này chỉ có các nhà phát triển nhìn thấy.

Ngược lại, thập niên thứ hai của Web ("Web 2.0", 2001-2010) chủ yếu tập trung vào “bề nổi”. Nhiều cải tiến không hẳn là công nghệ mà chỉ là các mô hình thiết kế và giao diện người dùng nhằm cải thiện trải nghiệm người dùng về Web. Trong thập niên này người ta chú trọng đến các mô hình như AJAX, đây là tập hợp các công nghệ và phương thức thiết kế để làm cho trang web trực quan, hấp dẫn và có tính tương tác hơn.

Một tiêu điểm của Web 2.0 đó là nội dung do người dùng tạo ra, đặc biệt là việc "gắn thẻ" chủ đề cho nội dung. Việc gắn thẻ đã dẫn đến khái niệm "folksonomies" (biến thể từ “taxonomy”) chỉ việc phân loại và tổ chức dữ liệu nhờ cộng đồng người dùng.

Sự phát triển của Internet và mạng xã hội đã dẫn đến sự bùng nổ thông tin trên Web, chủ yếu là dạng phi cấu trúc. Các công cụ tìm kiếm dựa trên từ khoá cung cấp khả năng tìm kiếm thông tin này, nhưng chỉ là các truy vấn đơn giản. Tìm kiếm trên Web hiện nay không thể sánh với khả năng truy vấn chính xác của cơ sở dữ liệu. Điều này sắp thay đổi.

Hiện người ta nói đến thập niên thứ ba của Web ("Web 3.0", 2011-2020) chuyển trọng tâm trở lại nền tảng bên dưới. Thập niên này sẽ tập trung vào việc nâng cấp hạ tầng kỹ thuật và nội dung của Web, nhằm làm cho Web hoạt động giống như cơ sở dữ liệu.“Web tri thức” – một khái niệm được Nova Spivak đưa ra có khả năng làm cho thông tin trên web trở nên “có nghĩa”, cho phép phần mềm có thể “hiểu” tri thức của con người.

Theo PC World VN


Leave a comment

Oslo: Đường lên mây


Con đường mà Microsoft đi lên điện toán đám mây "chạy" qua Oslo, một nền tảng mô hình có thể làm thay đổi bộ mặt của lĩnh vực phát triển phần mềm trong tương lai.

Phần mềm trên mạng (Internet) nói chung và ứng dụng phân tán nói riêng đều phức tạp. Một phần là vì chúng có nhiều thành phần biến động – các dạng dữ liệu khác nhau, các máy chủ và môi trường khác nhau và các dạng ứng dụng nghiệp vụ khác nhau chạy trên các nền tảng khác nhau – tạo nên một môi trường khó quản lý. Ngoài ra, thường có nhiều tác nhân tham gia vào ứng dụng phân tán như: người phân tích nghiệp vụ, người thiết kế hệ thống, người phát triển ứng dụng và các chuyên gia CNTT – tất cả những người này phải làm việc với nhau để thực hiện các mục tiêu của hệ thống. Tuy nhiên, các tác nhân tham gia có các mối quan tâm và định mức ưu tiên khác nhau. Điều này gây khó khăn cho việc đạt các mục tiêu chung.

Ví dụ, khi có một yêu cầu quan trọng không được đáp ứng, làm sao phân tích vấn đề trong một ứng dụng phân tán lớn: Qui trình nghiệp vụ liên quan? Người nào chịu trách nhiệm về qui trình này?

Ứng dụng nào hỗ trợ qui trình này và nó chạy trên server nào?… Với các công nghệ hiện có, các tình huống như thế này rất khó giải quyết – nhưng chúng lại rất phổ biến trong thế giới ứng dụng phân tán.

Cái mà người ta cần là một nền tảng "nhìn thấy" được những vấn đề phức tạp này, một nền tảng cho phép lập mô hình dữ liệu và qui trình nghiệp vụ, thiết kế hệ thống và triển khai các thành phần hệ thống, đồng thời kết hợp một cách hiệu quả với tác nhân khác trong tiến trình dự án. Và có lẽ quan trọng hơn, người ta cần một nền tảng có khả năng "nhìn thấu" các ứng dụng và công cụ để quản lý hệ thống khi có vấn đề xảy ra. Nó giúp nhận diện vấn đề dễ dàng, tìm ra nguyên nhân và giải quyết sự việc nhanh chóng. Người ta cần một nền tảng để quản lý chu trình của ứng dụng phân tán hiệu quả hơn. Đây chính là điều mà nền tảng mô hình Oslo hứa hẹn cung cấp. Oslo cung cấp nền tảng kỹ thuật cho việc thiết kế, xây dựng và quản lý các ứng dụng phân tán, đồng thời cải thiện việc cộng tác giữa nhiều tác nhân tham gia. Quan trọng hơn hết, tầm nhìn Oslo toàn diện sẽ được hiện thực bởi nhiều sản phẩm khác nhau được xây dựng trên nền tảng Oslo như Windows Application Server (Dublin), Microsoft System Center, Team Foundation Server và BizTalk Server.

Mục tiêu chính của Oslo là xây dựng các mô hình có vai trò nền tảng phục vụ cho việc tạo, triển khai và quản lý ứng dụng. Trong Oslo, mô hình đại diện cho nhiều thứ như qui trình nghiệp vụ, ứng dụng hay luồng công việc… Oslo cho phép tạo nên mô hình thực sự là một phần của ứng dụng, chứ không đơn thuần là lược đồ chỉ được dùng trong quá trình thiết kế. Thuật ngữ "mô hình" (model) ở đây có ý nghĩa khác với "mô hình" được dùng trong những ngữ cảnh khác như UML (Unified Modeling Language).

Mô hình – trung tâm của Oslo

Thuật ngữ "mô hình" có nhiều nghĩa khác nhau. Microsoft sử dụng thuật ngữ này với nghĩa rộng nhất – đại diện cho nhiều thứ và có thể có nhiều dạng như hình ảnh, văn bản hay định nghĩa lược đồ. Do thực tế có nhiều vấn đề liên quan đến thuật ngữ "mô hình" nên Microsoft thường dùng thuật ngữ "lược đồ” (schema) thay thế.

Có thể xem mô hình trong Oslo như là siêu dữ liệu của ứng dụng phân tán hay nói cách khác là dữ liệu mô tả chính ứng dụng phân tán. Siêu dữ liệu có vai trò quan trọng vì mở ra nhiều hướng đi cho chương trình lúc thực thi.

Khả năng có thể "chạy" mô hình là điểm khác biệt quan trọng của nền tảng Oslo so với các nền tảng khác trước đây. Khả năng này xóa đi khoảng cách giữa mô hình và chương trình, cho phép nhiều tác nhân khác nhau có thể làm việc cộng tác trên cùng mô hình có thể thực thi. Oslo tạo một con đường trực tiếp hơn để người ta hiện thực các ý tưởng.

Tóm lại, mô hình có vị trí trung tâm trong nền tảng Oslo. Mô hình được lưu trong kho Oslo và các tác nhân tương tác với mô hình trong hệ thống thông qua công cụ trực quan (Quadrant). Và khi cần mở rộng kho Oslo với các mô hình cho chuyên ngành cụ thể nào đó, nhà phát triển sẽ sử dụng ngôn ngữ mô hình Oslo (M).

Kho Oslo

Tôi cho rằng một trong những xu hướng quan trọng nhất trong lĩnh vực phát triển phần mềm đó là… mô hình. Thực tế, người ta cần khả năng tạo mô hình theo chuyên ngành nhưng không bị cô lập mà tồn tại trong một không gian chung…"
Bill Gates

Đây là đầu não của nền tảng Oslo, nơi mà các tác nhân và các thành phần hệ thống khác nhau "nhìn" vào để biết điều gì cần làm. Nó cho phép mọi người làm việc với 1 tập thông tin chung, nhờ đó cải thiện việc liên lạc và làm việc cộng tác giữa các tác nhân.

Thực ra kho là CSDL SQL Server có chứa các bảng và mẫu tin. Nhà phát triển dùng ngôn ngữ mô hình Oslo (xem phần "Ngôn ngữ M") để định nghĩa các mô hình và đưa vào kho. Oslo đã có sẵn các mô hình thông dụng cho tất cả ứng dụng phân tán. Kho này cho phép các tác nhân khác nhau, tham gia ứng dụng phân tán, làm việc cộng tác suốt chu trình của ứng dụng.

Ví dụ, người phân tích có thể định nghĩa các mô hình dữ liệu và qui trình nghiệp vụ mà không cần quan tâm đến các chi tiết kỹ thuật (bằng cách dùng công cụ lập mô hình Oslo sẽ được đề cập bên dưới). Người này cũng có thể định nghĩa các sự kiện cần giám sát. Tất cả thông tin này được lưu vào kho. Cùng lúc, chuyên gia CNTT có thể mô tả cơ sở hạ tầng (ví dụ các trung tâm dữ liệu, cụm máy chủ, máy tính…) và cũng lưu thông tin đó trong kho. Nhà phát triển sau đó có thể truy xuất các mô hình này trong kho và hiện thực chúng với Visual Studio dùng mã lệnh WCF và WF. Khi thực hiện xong, nhà phát triển sẽ lưu trở lại kho các mô hình theo định dạng XAML. Sau đó, người thiết kế hệ thống tổng thể định nghĩa mô hình ứng dụng với cách thức triển khai các mô hình phần mềm khác nhau và lưu mô hình kết quả vào kho.

Oslo là nền tảng lập mô hình do phân bộ CSD (Connected Systems Division) của Microsoft phát triển. CSD chịu trách nhiệm về Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), BizTalk Server và các công nghệ liên quan khác.

Sau khi kho có các mô hình cần thiết, chuyên gia CNTT có thể dùng Windows Application Server (Dublin) để triển khai, thực thi, giám sát và quản lý ứng dụng trên cụm máy chủ. Trong khi ứng dụng chạy, người phân tích nghiệp vụ sẽ có thể thu thập thông tin giám sát và phân tích. Và khi có vấn đề phát sinh, chuyên gia CNTT có thể nhận diện vấn đề thông qua các chức năng giám sát và theo dõi, cũng như xác định người có trách nhiệm xử lý bằng cách truy vấn kho.

Công cụ lập mô hình

Một thành phần quan trọng khác làm nên nền tảng Oslo là công cụ lập mô hình có tên mã "Quadrant". Công cụ này có nhiệm vụ cung cấp giao tiếp trực quan để tương tác với các mô hình trong kho. Cụ thể, có thể dùngQuadrant để xem các mô hình dữ liệu, qui trình nghiệp vụ và cả mô hình hạ tầng CNTT với các "góc nhìn" thích hợp. Công cụ này còn thể hiện mối quan hệ giữa các mô hình, cho phép tìm kiếm và khai thác thông tin giá trị trong kho một cách dễ dàng.

Quadrant được thiết kế với khả năng tùy biến cao cho các tác nhân khác nhau tham gia vào ứng dụng phân tán. Mỗi mô hình trong kho đi kèm một thể hiện mặc định nhưng người dùng có thể tạo các thể hiện riêng có ý nghĩa nhất đối với mình.

Ngoài việc xem thông tin trong kho, Quadrant còn cho phép người dùng "chỉnh sửa" thông tin. Đây sẽ là phương tiện giao tiếp chính để người dùng không chuyên về CNTT (chẳng hạn những người phân tích nghiệp vụ) thêm thông tin vào kho hay để thực hiện các thay đổi cần thiết mà không phải làm việc trực tiếp với ngôn ngữ mô hình (M). Quandrant còn cho phép nhà phát triển dễ dàng phân tích vấn đề và tìm ra các mô hình liên quan trong kho.

Ngôn ngữ mô hình

Ngôn ngữ mô hình Oslo – được gọi là M – là ngôn ngữ dành cho nhà phát triển, dùng để định nghĩa mô hình mà không phải dùng công cụ đồ hoạ cũng như không phải đi quá sâu vào các chi tiết. M được thiết kế đặc biệt để nhà phát triển nhập và đọc, nghĩa là tạo nên một lớp trung gian giữa thế giới của các công cụ lập mô hình đồ hoạ (mà nhiều nhà phát triển không thích) và thế giới của T-SQL và XAML. M cho phép nhà phát triển định nghĩa hàng loạt mô hình.

Điều quan trọng cần lưu ý là M không ràng buộc cách thức lưu trữ hay truy cập dữ liệu, cũng không ràng buộc công nghệ hiện thực cụ thể. Thay vì vậy, M được thiết kế để cho phép người dùng "ghi" ra điều muốn làm với dữ liệu mà không phải xác định cách thức thực hiện dựa trên một công nghệ hay nền tảng cho trước. Tuy nhiên, các mô hình này nhất thiết phải được lưu trong kho Oslo, đó là CSDL SQL Server vì vậy chúng ta sẽ cần một vài công cụ để dịch các định nghĩa dùng ngôn ngữ M thành các câu lệnh SQL.

Sau khi đã định nghĩa mô hình dùng M, bạn có thể dùng các công cụ có trong bộ công cụ phát triển Oslo để sinh ra lệnh SQL và gói cài đặt vào kho. Bộ công cụ phát triển (SDK) có nhiều công cụ để làm việc với các mô hình. Có 1 công cụ để biên dịch file M thành gói cài đặt và 1 công cụ khác để cài mô hình vào kho. SDK còn có trình soạn thảo dạng NotePad gọi là Intellipad (Ipad) để nhà phát triển làm việc với file M (thật sự công cụ này giống Emacs hơn là Notepad).

Nếu rành SQL, thực sự bạn có thể bỏ qua M và viết dữ liệu trực tiếp vào kho nhưng có lẽ điều này không phổ biến do phức tạp. Ngoài ra, kho Oslo có sẵn nhiều mô hình thông dụng với các ứng dụng phân tán, làm giảm nhu cầu tạo mô hình riêng. Do đó, việc xây dựng các ứng dụng Oslo không nhất thiết dùng M.

Bạn chỉ cần dùng M khi muốn mở rộng nền tảng Oslo với các mô hình thuộc chuyên ngành nào đó. Bạn có thể dùng M để định nghĩa nhiều mô hình khác nhau – mô hình dữ liệu mới, mô hình qui trình nghiệp vụ và cả mô hình hạ tầng CNTT (mô tả thiết bị phần cứng). Thậm chí bạn có thể dùng M để định nghĩa ngôn ngữ riêng để làm đơn giản hơn nữa việc tạo mô hình theo lĩnh vực cụ thể.

Kết luận

Dự án Oslo của Microsoft nhằm tạo nên một nền tảng thống nhất cho các ứng dụng phân tán, hướng dịch vụ và dựa trên mô hình. Cách tiếp cận mới này sẽ ảnh hưởng đến các phiên bản kế tiếp của nhiều sản phẩm và công nghệ, bao gồm Microsoft .NET Framework, Microsoft Visual Studio, Microsoft BizTalk Server, Microsoft System Center…

Ban đầu, Misrosoft đưa ra Oslo như một phần của kiến trúc hướng dịch vụ (SOA – Service Oriented Architecture), tuy nhiên Oslo giờ đây có ý nghĩa nhiều hơn thế. Nó là công nghệ mô hình nền tảng và sẽ giúp Microsoft bước hẳn vào lĩnh vực ứng dụng trên môi trường Internet hay điện toán đám mây.

Phương Uyên

Tham khảo: • Introducing "Oslo", Aaron Skonnard • Microsoft Oslo website: http://www.microsoft.com/soa/products/oslo.aspx

(Theo pcworld.com.vn)