Saturday, January 5, 2013

Cloud Software as a Service, Platforms | a computer hobbyist's ...

This is an overview of technologies that presently deliver software as a service over "the cloud", aka the internet. It partially answers the question of what platforms to buy for today and future needs, and compares with hosted apps versus operating a server internally. The use case is implementing a LAN for a call center, with predictive dialing.

Two buzzwords define the present and future of how software is sold: Software as a Service (SaaS) and "the cloud". They both mean delivering software services over the internet, and billing by use (rather than by selling the user a copy of the software). It's rented software that's operated remotely - but that's not quite as cool sounding as "sass" or "the cloud." I'll call it saas for this article.

Some History


Saas was the logical extension of the trend toward "thin clients" or "client server computing" or "remote desktop" where the user's PC doesn't run the software anymore, and the software is run on a central server. Organizations moved in this direction because it's cheaper to manage dozens of virtual desktops on one server computer than it is to send someone to a dozen offices to install software and fix computers.

(Because it was cheaper, Microsoft decided to price it's Terminal Services product dearly. At one time, it seemed to cost over $300 per user to have a thin client. So all the money saved by buying a slightly less expensive "thin client" ended up going to these license costs.)

Well, it turned out that with fast internet, you could do remote desktop over the internet, and instead of talking to a server in the office, you could use a server across the country. The next logical step was renting out software over the internet.

The three dominant technologies or companies involved in remote desktop are Microsoft's RDP, Citrix, and VNC. They all do basically the same thing - they shoot a picture of a remote desktop to your computer. RDP and VNC are pretty much generic commodity software today. Citrix has moved toward using VNC.

Web Browsers

At the same time that, web browsers were becoming better platforms for delivering software. Early web-based applications like Hotmail and ecommerce websites proved that it was possible to deliver software through a web browser. The breakthrough web application was Google Maps, which showed it was possible to create interactive, graphical software similar to traditional desktop software, and deliver it through a web page.

Due to the huge numbers of users familiar with web browsers over anything else, web-based software is the main platform for delivering saas.

Platform Differences

One big difference between remote desktop and web apps is that remote desktop uses very few computing resources, while web apps use a lot. You can run remote desktop on any PC built after 2000, and there are numerous cheaper ways to go (like Raspberry Pi). Web applications have varying requirements, but generally, if an app is new, it'll use more resources. Older apps that aren't upgraded with more features will use fewer, of course. I'm using a 4-core AMD running at around 1.6Ghz, with 4 Gigs of RAM, and it runs everything fine. In short, you need a real PC of some kind, and at least 1 Gig or RAM.

The other big difference between remote desktop and web apps is platform diversity. There are only two remote desktop platforms: RDP and VNC. Both are old and stable, and sometimes interchangeable. In contrast, there are at least four major web browsers, and three operating system platforms (if we ignore mobile platforms). There are also three different application development technologies. So there are many potential permutations of platforms!

Here are the lists of each:
Web Browsers: Internet Explorer, Firefox, Chrome, Safari
Operating Systems: Windows, Mac OS X, Linux
Application Technologies: HTML 5, Flash, Java

The market today favors Windows, Internet Explorer, Firefox, HTML 5, and Flash. Flash is declining, however, as HTML 5 has emerged as the platform of choice. HTML 5 basically works okay on all the browsers, but not totally identically. What is HTML 5? Read What is HTML 5.

(As noted above, Flash is in decline. So is Java - it's become a niche technology at best, despite many efforts. It's a technology that will have appeal mainly to enterprises with staff who know Java, and with Java server applications.)

When saas companies or web app companies decide what platforms to target, they balance the cost of developing for a platform against the number of users who use the platform and the overall quality of the platform.

They basically end up supporting Firefox or maybe Chrome browsers, and Internet Explorer. The former are chosen because the application developers like those browsers, and Internet Explorer is supported because it reaches the widest market of people who either buy cheap computers and don't install software, or who operate enterprise LANs and have software budgets.

Safari on OS X, and likewise Firefox and Chrome on Linux, are supported fairly well for platforms with a small fractions of the market, mainly because developers like these operating systems. Each platform has, at best, 5% of the market, but are popular with developers.

The general customer should use Windows, because there's no guarantee of support for the niche browsers, while there is always going to be support for IE on Windows, if you're willing to pay for it. You maximize your options by using the dominant platform.

If you get the impression that many web developers don't like Internet Explorer and Windows, you would be correct.

Web development companies that wish to make money, however, like supporting Internet Explorer and Windows, because they're popular. It's all about money.

So, unless your goal is to hire web developers or computer geeks, there's not much point to using anything but Windows. (Conversely, if you want to attract talent, you should consider not forcing them to use Windows.)

Performance

One other reason why web-based apps are leading against remote desktop hosted apps is that web based apps require fewer server resources. Most of the work is done in the web browser. To host a remote desktop, you basically need around 512,000,000 bytes of RAM, some disk, and maybe 1/10th of a CPU's time. To host a web app, you need a lot less, like maybe 100,000 bytes of RAM, some disk behind a database, and maybe 2 seconds of the CPU's time every minute (and really, probably a lot less than that).

That's all related to the relative needs of the computer for the two types of platforms, as listed above: in remote desktop, the server does most of the work; in web apps, the browser does most of the work.

If you're a development company, it's obviously better to have the customer's computer do more work, while leaving your server free to handle more customers. That means you can price your service cheaper, and attract more customers. The web browser wins. Deploying new applications to a general market via a remote desktop just doesn't make economic sense.

Internal Cloud

You can flip the situation by buying your own server and hosting internally. One product like that is Vicidialer, the open source dialer. You spend thousands of dollars up front, but then you don't pay the costs of renting software. It can make sense in the long term. The main risk is that you'll need to hire someone to service the hardware and network, and that will be expensive.

If you host your own service, it might make sense to use remote desktop. It saves you from buying expensive computers and Windows. You can avoid having hard disks, and just netboot off a server, and run RDP or VNC to virtual instances on a server.

My sense, though, is that the market is moving towards renting software. Being able to change vendors quickly is an advantage to the customer. Over time, more specialist vendors may emerge to service your niche.

The trade-off is cost: in the long run renting may cost more than buying outright.

Source: http://riceball.com/d/content/cloud-software-service-platforms

BCS Standings 2012 carrie underwood American Music Awards 2012 oregon ducks oregon ducks rob gronkowski Coughing

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.