When should one use the following: Amazon EC2, Google App Engine, Microsoft Azure and Salesforce.com?

前端 未结 7 536
执念已碎
执念已碎 2021-01-29 18:08

I am asking this in very general sense. Both from cloud provider and cloud consumer\'s perspective. Also the question is not for any specific kind of application (in fact the in

相关标签:
7条回答
  • 2021-01-29 18:47

    The major points of cloud computing is to save on costs by paying for usage and enable immediate deployment of computing resources.

    The costs are not purely x amount of cents per instance per hour. The costs include maintenance, development, administration, etc. The huge benefit of cloud, in my mind is to liberate the customers from having to manage anything that is not within the realm of their core business competency. If I am an insurance business, I want my developers to concentrate on my insurance problems that help solve needs of my claims, rates, etc. I would rather avoid dealing with problems of email servers, file servers, document repositories, and administrating OS patches, service packs, etc.

    Thus, in my opinion, the biggest benefits are derived from the SaaS and PaaS cloud offerings. One should go to IaaS only when PaaS or SaaS have serious restrictions to specific needs (i.e. I need to install a set of proprietary COM components and Azure does not support them).

    SaaS is good for commodity type of applications that are not the core line of business for the client, but are more of a utility. These are your typical Messaging systems, Portals, Document Repositories, Email systems, CRMs, ERP's, Accounting, etc. etc. etc. Why reinvent the wheel by writing your own when you can customize a well supported third party product.

    PaaS is great for core line of business software that supports companies' main business offering. Abstracts clients from having to deal with OS management and lets clients concentrate on the business system development - something that noone else can do for the client.

    0 讨论(0)
  • 2021-01-29 18:48

    This is an excellent question. Full disclosure as I am partial to Azure but have experience with the others.

    Where I think Azure stands out from the others is the quick transition from on prem to the cloud. For example -

    • SQL Azure - change connection string, upload DB, go!
    • Queues work a lot like MSMQ.
    • Blobs are pretty much blobs any way you shake them but they scale like crazy.
    • The table storage component is good because it provides incredible scalability for name/value pairs - but takes some getting used to.
    • Service Bus is my favorite of the services because it allows for a variety of communications paradigms. Two SB endpoints first try to connect to each other, if they cannot, then they route through the cloud - makes for very secure and scalable processing when firewalls tend to get in the way.
    • Access control list - paired typically with the service bus to make sure the right people access the right things - think SAML in the cloud.

    I hope that helps!

    0 讨论(0)
  • 2021-01-29 18:54

    Good question! As you point out, the different offerings fit into different categories:

    EC2 is Infrastructure as a Service; you get VM instances, and do with them as you wish. Rackspace Cloud Servers are more or less the same.

    Azure, App Engine, and Salesforce are all Platform as a Service; they offer different levels of integration, though: Azure pretty much lets you run arbitrary background services, while App Engine is oriented around short lived request handler tasks (though it also supports a task queue and scheduled tasks). I'm not terribly familiar with Salesforce's offering, but my understanding is that it's similar to App Engine in some respects, though more specialized for its particular niche.

    Cloud offerings that fall under Software as a Service are everything from infrastructure pieces like Amazon's Simple Storage Service and SimpleDB through to complete applications like Fog Creek's hosted FogBugz and, of course, StackExchange.

    A good general rule is that the higher level the offering, the less work you'll have to do, but the more specific it is. If you want a bug tracker, using FogBugz is obviously going to be the least work; building one on top of App Engine or Azure is more work, but provides for more versatility, while building one on top of raw VMs like EC2 is even more work (quite a lot more, in fact), but provides for even more versatility. My general advice is to pick the highest level platform that still meets your requirements, and build from there.

    0 讨论(0)
  • 2021-01-29 18:56

    This keeps changing, now Windows Azure also supports VM, so it is also an IaaS provider now.

    0 讨论(0)
  • 2021-01-29 18:56

    Now how about Free Amazon EC2 for a year to do a better comparision. Check this out.

    http://www.buzzingup.com/2010/10/amazon-announces-free-cloud-services-for-new-developers/

    0 讨论(0)
  • 2021-01-29 18:57

    My cloud experience is currently limited to Salesforce.com

    For standard business operations and automation it provides a significant number of features that allow us to get apps up and running very quickly. We are particularly benefitting from the following:

    • Security (Administrators can control access to objects and fields)
    • Workflow & Approvals
    • Automatic UI generation
    • Built in reporting and dashboards
    • Entire system (including our custom changes) is accessible via web services
    • Ability to make the data in the system available through public sites (e.g. eCommerce)
    • Large library of third party apps to solve standard problems

    The platform does NOT solve every problem.

    I would not use the platform to model a nuclear power station or build the next twitter.

    0 讨论(0)
提交回复
热议问题