What Is Cloud Computing?

What is cloud computing? Everyone in the technology world is talking about it… and a lot of people in the business world are asking the same question, “What is cloud computing, and what does it mean for my business?”

Cloud computing platforms are growing in popularity, but why? What unique advantages does a cloud computing architecture offer to companies in today’s economic climate? And what just what is cloud computing, anyway?” Let’s explore the cloud computing infrastructure and its impact on critically important areas to IT, like security, infrastructure investments, business application development, and more.

Most IT departments are forced to spend a significant portion of their time on frustrating implementation, maintenance, and upgrade projects that too often don’t add significant value to the company’s bottom line. Increasingly, IT teams are turning to cloud computing technology to minimize the time spent on lower-value activities and allow IT to focus on strategic activities with greater impact on the business.


The fundamental cloud computing infrastructure has won over the CIOs of some of the world’s largest organizations—these once-skeptical executives never looked back after experiencing first-hand the host of benefits delivered by cloud computing technology.

  • Proven Web-services integration. By their very nature, cloud computing technology is much easier and quicker to integrate with your other enterprise applications (both traditional software and cloud computing infrastructure-based), whether third-party or homegrown.
  • World-class service delivery. Cloud computing infrastructures offer much greater scalability, complete disaster recovery, and impressive uptime numbers.
  • No hardware or software to install: a 100% cloud computing infrastructure. The beauty of cloud computing technology is its simplicity… and in the fact that it requires significantly fewer capital expenditures to get up and running.
  • Faster and lower-risk deployment. You can get up and running in a fraction of the time with a cloud computing infrastructure. No more waiting months or years and spending millions of dollars before anyone gets to log into your new solution. Your cloud computing technology applications are live in a matter of weeks or months, even with extensive customization or integration.
  • Support for deep customizations. Some IT professionals mistakenly think that cloud computing technology is difficult or impossible to customize extensively, and therefore is not a good choice for complex enterprises. The cloud computing infrastructure not only allows deep customization and application configuration, it preserves all those customizations even during upgrades. And even better, cloud computing technology is ideal for application development to support your organization’s evolving needs.
  • Empowered business users. Cloud computing technology allows on-the-fly, point-and-click customization and report generation for business users, so IT doesn’t spend half its time making minor changes and running reports.
  • Automatic upgrades that don’t impact IT resources. Cloud computing infrastructures put an end to a huge IT dilemma: If we upgrade to the latest-and-greatest version of the application, we’ll be forced to spend time and resources (that we don’t have) to rebuild our customizations and integrations. Cloud computing technology doesn’t force you to decide between upgrading and preserving all your hard work, because those customizations and integrations are automatically preserved during an upgrade.
  • Pre-built, pre-integrated apps for cloud computing technology. The Force.com AppExchange features hundreds of applications built for cloud computing infrastructure, pre-integrated with your Salesforce CRM application or your other application development work on Force.com.

A Cloud Computing Infrastructure: What’s the Value?

Cloud computing infrastructures and salesforce.com’s Force.com platform have won over the CIOs of some of the world’s largest organizations. These forward-thinking (yet extremely security-conscious) tech executives fully vetted Force.com and realized the value cloud computing technology offers.

Salesforce.com frees companies from traditional software and its hidden costs, high failure rates, unacceptable risks, and protracted implementations. All while providing a comprehensive, flexible platform that meets the needs of businesses of every size, from the world’s largest enterprises to small and mid-sized companies everywhere.

Salesforce.com minimizes the risk involved in application development and implementation. After all, technology should solve your business problems, not create more headaches. With salesforce.com and the Force.com cloud computing technology, you’ll be free to focus on solving strategic problems instead of worrying about infrastructure requirements, maintenance, and upgrades.

The cloud computing infrastructure also promises significant savings in administrative costs—more than 50 percent in comparison to client/server software. The areas in which cloud computing saves administrative costs include:

  • Basic customization. The Force.com cloud computing technology’s point-and-click tools empower administrators and business users to perform basic customizations themselves.
  • Real-time reporting. Easy wizards step users through report and dashboard creation, so IT’s queue is free of report requests.
  • Security and sharing models. The sharing model built into the Force.com cloud computing infrastructure protects sensitive data while making the management of security profiles much less time-consuming.
  • Multiple languages and currencies. Included support for 13 languages and all currencies make managing a global application easier.

No wonder so many CIOs are restructuring their companies around a cloud computing infrastructure.

Cloud Computing Technology & Application Development

Cloud computing technology is sparking a huge change in application development circles. Just like the changes that moved publishing technology from paper to bits, making it possible for us to have information about anything in the world right at our fingertips in a flash, the move to a cloud computing infrastructure for application development is making it possible to build robust, enterprise-class applications in a fraction of the time and at a much lower cost.

The Force.com platform ushers in a new era of applications in the cloud that bring the power and success of Salesforce CRM to your whole company—not just sales, service, and marketing. New types of application innovation are now possible through a combination of “no programming” point-and-click wizards, toolkits for the most popular development languages for creating client-side applications, and Apex Code, salesforce.com’s programming language for our Force.com platform. Because the resulting applications will run natively on Force.com, developers gain many advantages.

  • Cloud computing technology boasts all the benefits of multitenancy, including built-in security, reliability, upgradeability, and ease of use.
  • Out-of-the-box features such as analytics, offline access, and mobile deployment speed application development.
  • There’s no need to worry about managing and maintaining any server infrastructure, even as applications scale to thousands of users.
  • You can join a community of thousands of developers also focused on business application development for cloud computing infrastructures.
  • The Force.com AppExchange marketplace provides an outlet for all your business application development and access to tens of thousands of salesforce.com customers.

By eliminating the problems of traditional application development, cloud computing technology frees you to focus on developing business applications that deliver true value to your business (or your customers). The Force.com platform lets IT innovate while avoiding the costs and headaches associated with servers, individual software solutions, middleware or point-to-point connections, upgrades—and the staff needed to manage it all.

What is cloud computing?

Everyone is talking about “the cloud.” But what does it mean?

Business applications are moving to the cloud. It’s not just a fad—the shift from traditional software models to the Internet has steadily gained momentum over the last 10 years. Looking ahead, the next decade of cloud computing promises new ways to collaborate everywhere, through mobile devices.

Life before cloud computing

Traditional business applications have always been very complicated and expensive. The amount and variety of hardware and software required to run them are daunting. You need a whole team of experts to install, configure, test, run, secure, and update them.

When you multiply this effort across dozens or hundreds of apps, it’s easy to see why the biggest companies with the best IT departments aren’t getting the apps they need. Small and mid-sized businesses don’t stand a chance.

Cloud computing: a better way

With cloud computing, you eliminate those headaches because you’re not managing hardware and software—that’s the responsibility of an experienced vendor like salesforce.com. The shared infrastructure means it works like a utility: You only pay for what you need, upgrades are automatic, and scaling up or down is easy.

Cloud-based apps can be up and running in days or weeks, and they cost less. With a cloud app, you just open a browser, log in, customize the app, and start using it.

Businesses are running all kinds of apps in the cloud, like customer relationship management (CRM), HR, accounting, and much more. Some of the world’s largest companies moved their applications to the cloud with salesforce.com after rigorously testing the security and reliability of our infrastructure.

As cloud computing grows in popularity, thousands of companies are simply rebranding their non-cloud products and services as “cloud computing.” Always dig deeper when evaluating cloud offerings and keep in mind that if you have to buy and manage hardware and software, what you’re looking at isn’t really cloud computing but a false cloud.

Cloud 2: Mobility and collaboration

The latest innovations in cloud computing are making our business applications even more mobile and collaborative, similar to popular consumer apps like Facebook and Twitter. As consumers, we now expect that the information we care about will be pushed to us in real time, and business applications in the cloud are heading in that direction as well. With Cloud 2, keeping up with your work is as easy as keeping up with your personal life on Facebook.


Tính toán và lưu trữ dạng “đám mây” chuyển các tài nguyên vật lý (như bộ vi xử lý và thiết bị lưu trữ) thành các tài nguyên mở rộng được và chia sẻ được trên Internet (tính toán và lưu trữ dưới dạng các “dịch vụ”). Mặc dù không phải là một khái niệm mới nhưng ảo hóa (virtualization) khiến cloud computing trở nên dễ mở rộng và hiệu quả hơn nhiều thông qua việc chia sẻ các hệ vật lý với sự ảo hóa server. Cloud computing cho phép người dùng tiếp cận đến các tài nguyên tính toán và lưu trữ khổng lồ mà không cần biết chúng ở đâu và được cấu hình như thế nào. Trong cloud computing Linux đóng một vai trò to lớn.

Ngày nay bạn khó có thể đọc một Website kỹ thuật nào mà lại không nhắc đến cloud computing. Cloud computing không gì khác chính là việc cung cấp các tài nguyên tính toán (máy tính và phương tiện lưu trữ) như là một dịch vụ. Cùng với đó là khả năng mở rộng các máy tính và phương tiện lưu trữ theo một cách đơn giản và “trong suốt”. Tất cả các điều này tương tự như ý tưởng của utility computing , trong đó các tài nguyên tính toán được xem như các dịch vụ “đo” được, chẳng hạn như trong các tiện ích truyền thống (điện, nước). Điều khác biệt chính là các công nghệ đã có sẽ kết hợp cùng nhau để biến cloud computing thành hiện thực.

Một trong nhưng xý tưởng quan trọng nhất của cloud computing là khả năng mở rộng và công nghệ chủ chốt là công nghệ ảo hóa. Ảo hóa cho phép sử dụng tốt hơn một server bằng cách kết hợp các hệ điều hành và các ứng dụng trên một máy tính chia sẻ đơn lẻ. Ảo hóa cũng cho phép di trú trực tuyến (online migration) để khi một server quá tải, một instance của hệ điều hành (và các ứng dụng trên đó) có thể di trú đến một server mới,ít tải hơn.

Từ góc nhìn bên ngoài, cloud computing đơn giản chỉ là việc di trú tài nguyên tính toán và lưu trữ từ doanh nghiệp vào “đám mây”. Người dùng chỉ định yêu cầu tài nguyên và cloud provider hầu như tập hợp các thành phần ảo này trong hạ tầng của nó. (xem hình 1)
H1 : Tính toán “đám mây” di trú tài nguyên trên Internet

Nhưng tại sao bạn lại sẵn sàng từ bỏ quyền kiểm soát tài nguyên của mình và cho phép chúng tồn tại ảo trong “đám mây” ? Có nhiều lý do nhưng theo tôi quan trọng nhất là tính dễ mở rộng và chi phí.

Ưu điểm mới của cloud computing là khả năng ảo hóa và chia sẻ tài nguyên giữa các ứng dụng. Hình 2 cho thấy một ví dụ.
H2 : Ảo hóa và sử dụng tài nguyên

Ở đây 3 nền tảng độc lập tồn tại cho các ứng dụng khác nhau , mỗi ứng dụng chạy trên server của nó. Trong “đám mây”, server có thể được chia sẻ (được ảo hóa) giữa các hệ điều hành và các ứng dụng để sử dụng server tốt hơn. Càng ít server thì càng cần ít không gian (giảm vùng bao phủ của các data center) và càng ít năng lượng làm mát (giảm tiêu hao nhiên liệu).

Nhưng vẫn có các trả giá và cloud computing có nhược điểm của nó (sẽ nói đến sau)

Bên trong cloud computing

Bên trong “đám mây” không chỉ có một dịch vụ mà là một tập các dịch vụ. Các tầng định nghĩa mức dịch vụ được cung cấp.
H3 : Các tầng của tính toán “đám mây”

Tầng thấp nhất là Hạ tầng (Hạ tầng như một dịch vụ – IaaS). IaaS là việc cho thuê hạ tầng như một dịch vụ bao gồm các máy tính ảo hóa và băng thông dành riêng cho lưu trữ và truy cập Internet. Về cơ bản, đó là khả năng cho thuê máy tính hay data center với ràng buộc về QoS sao cho người dùng có khả năng chạy phần mềm hay hệ điều hành bào đó tùy ý.

Lên mức tiếp theo là Nền tảng (Nền tảng nưh một dịch vụ – PaaS). PaaS giống như IaaS nhưng gồm cả hệ điều hành và các dịch vụ cần thiết cho một ứng dụng chuyên biệt. Ví dụ PaaS ngoài server và lưu trữ ảo hóa cung hệ điều hành đặc biệt và tập các ứng dụng (như một máy ảo) cùng các dịch vụ cần thiết như MySQL…Nói cách khác, PaaS là IaaS với một software stack dành cho một ứng dụng.

Trên cùng của hình 3 là dịch vụ đơn giản nhất được cung cấp : ứng dụng. Tầng này được gọi là Phần mềm như một dịch vụ (SaaS) và nó là mô hình triển khai phần mềm từ một hệ tập trung sang chạy trên máy tính cục bộ. Dưới dạng dịch vụ “đo” được, SaaS cho phép bạn thuê một ứng dụng và chỉ trả tiền cho thời gian sử dụng.

Trên đây là cái nhìn sơ lược về cloud computing , bỏ qua một số khía cạnh như là Dữ liệu như một dịch vụ (DaaS ) cho phép người dùng trả tiền cho dung lượng lưu trữ và băng thông truy cập. Các dịch vụ “đám mây” cũng đang nối lên, chúng vừa có cơ chế nội để tương kết (interoperability) vừa cung cấp các API cho bên ngoài.

Toàn cảnh về cloud computing

Trong mấy tháng gần đây, có sự bùng nổ về đầu tư cho cloud computing và các hạ tầng liên quan. Các đầu tư lớn cho thấy nhu cầu ảo hóa các tài nguyên trong “đám mây”. Năm vừa qua chứng kiến nhiều dịch vụ mới (như hình 4)

Vai trò Linux và mã nguồn mở trong “đám mây”


SaaS là khả năng tiếp cận phần mềm trên Intenet như một dịch vụ. Cách tiếp cận trước đây của SaaS là ASP (Nhà cung cấp dịch vụ ứng dụng). Các ASP cung cấp các thuê bao đối với phần mềm được lưu trữ và phân phối trên mạng. ASP tính phí theo theo thời gian sử dụng. Theo cách này ,bạn không phải mua phần mềm mà chỉ thuê nó khi cần.

Góc độ khác về SaaS là việc sử dụng phần mềm chạy từ xa trên mạng. Phần mềm này có thể ở dạng Web services (các dịch vụ dùng bởi ứng dụng cục bộ) hay các ứng dụng từ xa mà có thể theo dõi kết quả thông qua trình duyệt web. Một ví dụ đó là Google Apps. Còn việc chạy ứng dụng từ xa thường dựa trên các application server (là một software framework cung cấp các API – như quản lý giao dịch hay truy cập CSDL). Lấy ví dụ như Red Hat JBoss Application Server, Apache Geronimo, và IBM® WebSphere® Application Server.


PaaS có thể mô tả như là một nền tảng được ảo hóa toàn bộ gồm một hay nhiều Server (ảo hóa trên một tập các server vật lý), các hệ điều hành và các ứng dụng chuyên biệt (như là Apache và MySQL cho ứng dụng web). Trong một vài trường hợp, các nền tảng này có thể được định nghĩa và chọn trước. Trong trường hợp còn lại, bạn có thể cung cấp file hình ảnh máy ảo (VM image) chứa tất cả các ứng dụng theo yêu cầu người dùng.

Một ví dụ thú vị của PaaS là Google App Engine. App Engine là một dịch vụ cho phép bạn triển khai ứng dụng web của mình trên kiến trúc rất khả mở của Google. App Engine cung cấp một sandbox cho ứng dụng Python của bạn (các ngôn ngữ khác sẽ hỗ trợ sau) như là các API Python để lưu trữ và quản lý dữ liệu (dùng Google Query Language) bên cạnh các hỗ trợ về xác thực người dùng, thao tác hình ảnh và gửi email.

Một ví dụ khác về PaaS là 10gen, nó vừa là một nền tảng “đám mây” vừa là một gói phần mềm nguồn mở cho phép bạn download để tạo ra “đám mây” của riêng mình. Software stack của nó cũng giống như App Engine nhưng cũng có vài điểm khác : hỗ trợ các ngôn ngữ Java,Python, Ruby. Nền tảng của nó cũng dùng khái niệm sandbox để cô lập các ứng dụng và cung cấp một môi trường đáng tin cậy trên nhiều máy tính (sử dụng Linux).


IaaS là việc phân phối hạ tầng máy tính như một dịch vụ. Tầng này khác với PaaS ở chỗ : phần cứng ảo được cung cấp không kèm theo software stack. Thay vào đó, người dùng tự đưa ra VM image của mình. IaaS là dạng “thô” nhất của “computing as a service”. Nhà cung cấp IaaS thương mại nối tiếng nhất là Amazon Elastic Compute Cloud (EC2). Trong EC2 , bạn có thể chỉ định máy ảo (VM) đặc biệt của mình và triển khai các ứng dụng trên đó hay là cung cấp VM iamge của bạn và chạy nó trên server. Bạn chỉ phải trả tiền cho thời gian tính toán, dung lượng lưu trữ và băng thông mạng.

Dự án Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) là một bản thực thi mã nguồn mở của EC2, trong đó tương thích về giao diện với dịch vụ thương mại. Giống như EC2, Eucalyptus dựa trên Linux với Xen dùng cho ảo hóa hệ điều hành. Eucalyptus được phát triển tại đại học California cho mục đích nghiên cứu cloud computing. Bạn có thể download về hay thử nghiệm nó thông qua Eucalyptus Public Cloud (với một số hạn chế).

Một thực thi khác theo kiểu của EC2 là nền tảng tính toán đám mây Enomalism (cũng là nguồn mở). Enomalism dựa trên Linux với hỗ trợ cho cả Xen và Kernel Virtual Machine (KVM). Nhưng không giống các giải pháp IaaS thuần túy khác, Enomalism cung cấp một software stack dựa trên TurboGears Web application framework và Python.

Các phát triển “đám mây” khác

Nói thêm một vài gói nguồn mở dựa trên Linux khác. Hadoop là một Java™ software framework nguồn mở tương tự như PaaS nhưng tập trung vào thao tác các tập dữ liệu lớn trên các server nối mạng với nhau (lấy ý tưởng từ Google MapReduce cho phép xử lý song song trên các tập dữ liệu lớn). Như thế thì nó sẽ tìm được các ứng dụng trong tìm kiếm và quảng cáo. Hadoop cũng cung cấp các dự án con phỏng theo các ứng dụng của Google. Ví dụ Hbase đưa ra chức năng giống như CSDL Google BigTable và Hadoop Distributed File System (HDFS) đưa ra chức năng giống như Google File System (GFS)

Các vấn đề và thử thách

Các vấn đề của tính toán “đám mây” trở nên rõ ràng khi mà tính riêng tư và bảo mật là 2 trong số những vấn đề quan trọng nhất. Tính riêng tư có thể dựa và mã hóa nhưng vẫn cần được chú ý khi chọn dịch vụ tính toán đám mây. Ngay cả e-Commerce cũng bị hoài nghi khi Web bắt đầu phát triển. Trên quy mô toàn cầu, hàng nghìn tỉ đôla của các giao dịch thương mại điện tử diễn ra hằng năm vì thế tính toán “đám mây” hưởng lợi từ mọi công nghệ đã có (như SSL) để khiến cho Web ngày nay trở nên an toàn.

Anh Ngọc (Nguồn Internet)