In reality, open-source cloud computing, Part 1: not all clouds are the same

Source: Internet
Author: User
Tags cloud computing platforms db2 express hosting joyent

CTO wants to know your cloud computing strategy-
And we will hear it tomorrow. There are many cloud computing environments to choose from. They have similarities and differences. This article discusses some cloud computing environments and focuses on the open source cloud computing environment to help organizations use the cloud computing
Powerful capabilities. Describes Amazon, Microsoft, Google, IBM, Aptana, Heroku, mosso, Ning, and
Salesforce and other providers. Discuss the strengths and weaknesses of each platform, as well as open source code and proprietary technology types supported on each platform. Learn how to select a suitable platform.


About this series

In this three-part "Real open source cloud computing" series, learn how to determine whether cloud computing is helpful to you and how to develop a cloud computing strategy. In Part 1, learn about the benefits of cloud computing, cloud types, and available cloud computing platforms. Subsequent articles will discuss how to design and develop the cloud and how to manage applications in the cloud.

 



Back to Top

Cloud computing: is it just a marketing slogan?

For example
If you are engaged in technical work, you may have heard this question: "Is there anything we have never heard about cloud computing? Is Cloud computing just a marketing slogan ?" -
Is it a silver bullet that can solve all problems? Or better? The answer is yes. It is undeniable that there is indeed a publicity bubble around cloud computing. However, many vendors are trying to fulfill their commitments. Cloud computing is indeed very practical
Benefits. This article discusses several available cloud computing platforms, but the coverage is not comprehensive.

Before using cloud computing, pay attention to the characteristics of cloud computing. This article describes the benefits and challenges of cloud computing.

About cloud computing

Cloud Type

Wikipedia
Cloud computing is defined as "Internet-based development and use of computer technology ". This definition is very broad and many products can be classified as cloud computing. A considerable number of cloud products are
Software as a service (SAAS) variants. SAAS examples include: zoho (text processing, workbooks), Salesforce
(CRM), sliderocket (Display) and other Web applications; Google search, Yahoo! Weather or PayPal
Web service. These are good examples of cloud computing, but they may be useless for enterprises that intend to use cloud computing. However, they can complement other types of cloud computing.

Me
The cloud computing type we want to find is a basic structure called platform as a service (PAAs. The most common PAAs
The example is a variety of cloud Data Storage types, such as Amazon simple storage service (S3) or IBM
Scale out file service (sofs ). They are all distributed file systems. You can access S3 through the Web Service Interface and NFS
And FTP. Amazon also provides structured data storage through the simpledb service. Simpledb supports Web
Service interfaces store and query structured data.

Computing must not only involve storage, so cloud computing platforms are required. The cloud computing platform allows you to place and execute code in it. They can certainly be combined with cloud storage and cloud Web Services. There are many available platforms with different advantages and disadvantages.

Benefits

Is
What should I run code on the cloud platform rather than on my own computer? There are several simple but practical reasons. By using the cloud platform, you do not need to purchase or set up all computers. If cloud computing only has this feature
It is no different from hosting services. The main advantage of cloud computing is that it can quickly open or close applications, or flexibly increase or decrease computing power as needed. Any cloud computing platform can seamlessly provide more
Computing resources. Some platforms also provide general development platforms based on-demand computing.

In short, cloud computing allows organizations to quickly deploy applications and expand them based on business needs. This sounds good, but cloud computing also has some challenges that need attention.

Challenges

Person
It is easy to pay attention to the benefits of cloud computing, but it has one drawback: One of the most significant problems of cloud computing is that the data used by applications is stored in the cloud together with applications. Data may be sensitive, for example, identifiable
Obtain the customer's personal information or their financial situation and transaction records. There may also be non-sensitive data that is also very valuable, such as user summary information and how they use applications. Due to weight
The required information is stored in the cloud, so you must know whether the platform is secure.

"Who accesses data in the cloud"
It is not the only issue to worry about. Data integrity is equally important. The computer will inevitably fail, so you must be able to back up data and recover it in the event of a fault. Whether the platform provides data backup and recovery (at least
Required users )? Application reliability is obviously very important. What types of service level agreements does the platform provide? This article discusses the features of some available platforms and other important issues.

Platform

There are currently many available cloud computing platforms. The Platform discussed in this article is not comprehensive, but involves popular platforms and basic differences between them. We will pay special attention to the programming languages and open source technology supported on each platform, and how each platform solves cloud computing problems. To help discuss so many platforms, they are roughly divided into two types: Basic Platform and specialized platform.

Basic Platform
Only basic functions are provided-only (virtual) hardware, and an operating system may exist. They have fewer restrictions, so they are often more flexible.

Dedicated Platform
Provides a programming environment and services on the basic platform. Specialized platforms are usually relatively simple and often provide some unique services.

 



Back to Top

Basic Platform

For example
If you want to configure the cloud system in the most flexible way, you need the basic platform. You can specify hardware-related specifications, such as the processor type, processor speed, and specific memory size. Then, you can freely
Create any system you need. It is very similar to hosting services, but it can quickly increase or decrease the capacity as needed. This section discusses Amazon, IBM, joyent, and mosso.
Provides four basic platforms.

Amazon Elastic Compute Cloud

Amazon's Elastic Compute Cloud (EC2) is one of the earliest cloud computing platforms and one of the most popular platforms. As the saying goes, "Follow Amazon, that is, follow the trend ." EC2 is a good example of a basic platform.

IBM and Amazon Web Services

IBM
We have started to work with Amazon Web services to allow users to access IBM middleware in a virtual computing environment. Amazon EC2
The experience plan allows users to evaluate and use software without installing software on their own systems. You can build enterprise-level applications in a reliable high-performance environment to adjust the computing capability in near real time.
The actual usage time and computing capability are charged. Middleware provided by IBM on EC2 includes:

  • DB2 express-C v9.5
  • Informix Dynamic Server Developer Edition V11.5
  • WebSphere Portal Server and Lotus Web Content Management Standard
    Edition
  • WebSphere smash

They are all production-level code with all features and options enabled. Learn more and download
Ami of these products. Cloud computing space on developerworks
To find more references.

Yes
To use EC2, you need an Amazon machine instance (AMI ). Ami
Is a complete machine image, including the operating system, applications, and so on. Amazon and EC2 communities provide many frequently-used AMI, including Microsoft Windows
Or Linux operating system and various open source software kits, such as Apache web server, MySQL and Python
Interpreter. If you cannot find an ami that suits your needs, you can also use the tools provided by Amazon to create your own Ami.
It can be used only by yourself or shared with the community.

The AMI can be deployed on "instances" of various scales. When writing this article, the small instance has
GHz core, 1.7 GB memory, and 160 GB disk space. Extremely Large instances have four 2 GHz cores, 15 GB memory, and 1.6 TB
Disk space. There is also a special scale specifically designed for computing-intensive tasks. You only need to select the desired scale and deploy the AMI. All instance management and control are implemented through the Web
Service. A lot of software has been developed around these web services, allowing you to easily manage EC2 instances. For example, you can use Firefox to expand elasticfox.
Manage and start the AMI directly in Firefox.

EC2 uses open source xen virtualization software. Use
EC2 can actually run any type of software. Linux is usually used as an AMI operating system. You can use any programming language: Java
Programming Language, PHP, Python, etc. You can use proprietary software on EC2, but EC2
The elasticity of open source software makes open source software very attractive. When using larger or more instances, you do not need to consider the license issue.

In addition to EC2, Amazon also provides many infrastructure services that can be used to solve problems such as data reliability and backup. Amazon S3 is a very suitable service for backing up data. It uses a self-help model. Management and access to Amazon cloud are only performed through Web Services. two-factor authentication is required.

IBM Blue cloud

When
Many people were surprised when Amazon first entered the cloud computing field. But no one was surprised when IBM entered this field. Blue cloud on 2008
Announced later in the year that this project promises to provide all basic cloud computing functions. Customers can choose General x86 hardware or power-based high-end hardware. Blue
Cloud uses IBM Tivoli
The software automatically supplies various resources (CPU/RAM/disk) to the system, which enables customers to gain powerful computing capabilities, but only pay as needed. IBM also advocates "private"
Cloud, which allows internal applications behind the firewall to benefit from cloud computing.

IBM Blue cloud is a developing technology, so you should check the latest information about the technology types it supports. IBM is one of the largest supporters of open source technology, so it is attractive to use the IBM platform for a large number of applications that use open source technology.

Joyent accelerator

Joyent
It may not be as famous as Amazon or IBM, but as a provider of cloud computing platforms for web-based startups, it has earned a good reputation. Joyent
Accelerator provides a lot of flexibility for traditional hosting service providers, while providing key features of cloud computing-on-demand computing. By using joyent
Accelerator, which can quickly start an instance, including pre-configured PHP, Java, or Ruby on
Rails. You can select the required computing power. All software runs on opensolaris, so common tools such as SSH and
FTP) access and manage the assets deployed in it.

The scalability of joyent's cloud computing was taken into consideration during design. Its most affordable product is designed to cope with the dramatic increase in usage. Therefore, joyent is a very popular choice for Facebook applications that generally do not require much computing power, but may encounter peak usage.

Joyent supports any technology compatible with opensolaris. This includes any open-source lamp technology and programming language, and other programming languages such as Java and Ruby. Joyent allows you to use any existing Linux or UNIX tools to protect and maintain sites and data.

Mosso

Mosso
Is a subsidiary of the famous hosting service provider the rackspace cloud, which provides several different cloud computing services. Mosso cloud site
It also provides basic platforms and specialized platforms. There are two basic cloud site configurations. A configuration uses open source software, which is a typical lamp setting. Another configuration is
Windows server, including the IIS web server and SQL Server database. You can select Configurations Based on the required bandwidth, storage capacity, and CPU
Pay-as-you-go.

Mosso has announced that it will also provide a new product called cloud servers. This product is Linux
System, but it provides full flexibility in configuration. Mosso cloud site
It is very popular to provide the basic build blocks required by many applications. They can be seen as basic specialized platforms. The next section discusses more specialized platforms.

 



Back to Top

Dedicated Platform

"
Special"
This word is obviously subjective. What are the characteristics of a dedicated cloud computing platform? All platforms discussed in this section provide additional features based on the basic platform. These features can be a unique development environment, integrated in the Platform
Or provide convenient features. This article discusses the following special platforms: Microsoft Azure, Google App Engine, Aptana
Cloud, Heroku, Ning, and Salesforce.

Microsoft Azure

Azure
The platform was published by Microsoft on April 9, fourth quarter of 2008. This platform is bundled with its own operating system, a special style
Windows. It contains a "System Manager" for dynamically supplying machine instances ". It can run any. NET application. Of course, server-based. net
The application is suitable for transferring to this cloud platform. Microsoft has begun offering many server-based products such as exchange in the azure cloud.

However
Yes, azure is not just a windows and. NET platform. The Azure platform also provides many other services, including SQL
Services (a highly scalable SQL Server database) and live services (many popular Microsoft
Applications use these Web Services for search, photo sharing, instant messaging, and so on ). Azure also provides IDE Visual
Studio is tightly integrated, so it is easy to run, test, and deploy applications on the azure platform.

Azure
It is a proprietary cloud platform, but if you are already using proprietary Microsoft technology, it is still somewhat attractive. Customers can only use Microsoft
Proprietary technologies, such as. NET and SQL Server-based databases. You can use many windows technologies to protect, access, and manage your services in azure
Any application running on.

Google App Engine

App
Engine was launched by Google in second quarter of 2008. It is very different from other cloud platforms. There is no hardware supply on it; you only need to deploy the application to it-
Deployment is free of charge. However, similar to other cloud platforms, App Engine has limits on usage. You can purchase more CPU usage, storage capacity, and bandwidth as needed. Google
App Engine has some convenient features, but this is only a small part of its special feature set.

Google App Engine
Provides a robust development environment that only supports python. It provides many services on top of Python. User Management and Google
Integration. For example, you can use the credential used to log on to Google Mail to log on to your application. It provides a data storage for storing structured data
API. Data storage and acquisition operations are similar to those used in relational databases, but they are completely proprietary to Google. It is based on Google's proprietary Distributed File System gfs.

In short, Google only supports open-source Python and uses proprietary technology extensively in other aspects (although Google may use many open-source technologies behind the scenes ). Google App Engine does not provide any data backup solutions, but the underlying database is highly fault tolerant.

Aptana cloud

Aptana
The most famous product may be Aptana Studio, which is based on dynamic programming languages such as JavaScript, PHP, Python, and Ruby.
Eclipse IDE. Aptana announced its cloud platform on April 9, second quarter of 2008. Aptana cloud is actually in joyent
A set of features provided by the cloud computing platform.

By using Aptana cloud, you can easily deploy applications to Linux or
MySQL environment, including PHP, jaxer (server-side JavaScript Implementation of Aptana) or Ruby on
Rails. Aptana cloud deployment has all the features of joyent accelerator deployment and includes Aptana
Additional features provided. You can directly deploy and manage cloud applications through Aptana Studio. You can use Aptana Studio
Execute all tasks, including supplying hardware to applications and monitoring log files. The simplicity of Aptana is unprecedented. Development, testing, deployment, and management are all done in one place.

Aptana inherits the support for open source technology and programming languages from joyent. It also inherits the open source code tools used for management and backup. Aptana Studio integrates many management functions, but can also build more advanced systems.

Heroku

Yes
People said, "the startup company Y-Combinator's Heroku provides the Google app as a feature of Ruby on Rails.
The engine is provided by python ." However, this statement is not fair to Heroku. It is not just a Ruby on Rails
Cloud Platform. Heroku only supports rails and makes a lot of adjustments to rails. By using Heroku, you only need to add a ruby
You can deploy and run applications on the Heroku cloud immediately. You can also deploy it from the GIT repository. You can even directly access the Web
Use a browser to access and edit your own code. Any Ruby gem or rails plug-in can be used in applications.

Heroku
Very convenient. It runs on Amazon EC2, so it can elastically expand computing capabilities. Heroku uses its Heroku Garden
Free services are provided. You can deploy and test applications on the cloud for free. When you are ready to handle more traffic or need Fault Tolerance capabilities, you can transfer the application to the primary Heroku platform.

Ning

Ben
The cloud platforms discussed so far are universal. Whatever your application is, they can be processed. Some of these platforms are mainly applicable to Web
Application, but this category is still quite broad. Popular site Ning
Allows users to create their own social networks. This is often done by purely configuring, adding pages, adding components to pages, and configuring components. Use
Ning, You can also download the source code of your social network, modify the code as needed, and then run it on the Ning cloud. The social network code is a simple PHP
Therefore, it is easy to create your own social network applications.

Similar to Google App Engine, Ning
Provides a data storage API instead of a relational database. It also uses many Ning APIs
Provides access to the social network infrastructure. You can upload code for deployment and provide hardware supply functions. Ning
Attaches advertisements to the user's network and limits the storage capacity and bandwidth. If you want to remove ads or increase storage and bandwidth, you need to pay.

Ning
It is obviously a very specialized cloud platform. However, if you plan to build social network features in your applications (even if they are only auxiliary features other than the main features) and are familiar with PHP programming
Ning is an attractive choice. Ning is similar to Google App Engine. You can only use one Programming Language
(PHP), and other software cannot be installed as needed. However, it is highly scalable.

Salesforce

Another
A very dedicated cloud computing platform is provided by Salesforce. The most famous result of Salesforce is the use of SAAS models to innovate customer relationship management.
(CRM) software. On force.com, you can create your own applications and run their cloud infrastructure types and Salesforce to run their CRM
The cloud infrastructure types of applications are the same. Enterprises use appexchange to find and "Install" applications so that their users can use them. And Facebook
Similar applications allow applications to run seamlessly as an integral part of the main Salesforce application.

In addition, you can use one or more applications.
Create a custom force.com site. This is more similar to the cloud computing model. When using force.com
The site is not charged based on hardware, but based on the number of users. There are different rates based on the amount of storage required by each user. To create
The application running on needs to be programmed using apex, which is a proprietary language similar to the Java programming language. Salesforce
Engineers also use this language to develop their own CRM applications.

Salesforce
It also provides many platform-related services for managing user, account, role, and data access. Force.com
Websites are attractive choices. Salesforce is quite limited in open source technology and programming options. However
Like Ning, Salesforce provides proprietary technology with high scalability.

 



Back to Top

Conclusion

This article discusses some important benefits of cloud computing. Describes many cloud computing platforms and their similarities and differences. This information helps you select a suitable platform.

Continue with the subsequent articles in this "Real open source cloud computing" series. We will discuss how to develop, deploy, and manage applications on the cloud computing platform.

References

Learning

  • "Using Amazon Web Services for cloud computing, Part 1: Introduction
    "Describes the cloud computing environment provided by Amazon.
  • "Use eclipse to create mashup on Google App Engine, Part 1: Create an application
    "Discusses in detail how to build applications for Google App Engine.
  • "Connecting Google's cloud computing capabilities to Apple's iPhone
    "Discusses how to access the cloud on a mobile device.
  • Read "using eclipse for Ruby development easily
    "To learn about some plug-in features. Whether using Aptana cloud or Heroku for Ruby on Rails Applications, you need to understand Aptana's radrails.
  • "Data Integration with Salesforce CRM using IBM Infosphere Information Server
    "Discusses how Salesforce provides data to your application.
  • Many cloud computing platforms rely on xen to virtualize the Linux environment. "Use xen: Virtual Linux environment to test your application
    This key technology is discussed.
  • Developerworks cloud computing space
    Discuss the importance of cloud computing, how to get started with cloud computing, and provide more information.
  • For interesting interviews and discussions between software developers, refer to the developerworks podcasts
    .
  • Stay tuned to developerworks Technical Events
    And network broadcast
    .
  • Learn more about developerworks on Twitter
    .
  • Check out recent seminars, trade exhibitions, network broadcasts and other activities for IBM open source code developers to be held globally
    .
  • Visit the developerworks Open Source Area
    There are a wealth of how-to information, tools, and project updates, which can help you develop and use open source code technology for IBM products.
  • View the free developerworks demo Center
    , Watch and learn about IBM and open-source technologies and product features.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.