Archive for virtualization

Windows Azure versus Amazon EC2

http://news.techworld.com/data-centre/3228389/windows-azure-versus-amazon-ec2/

Windows Azure versus Amazon EC2

Microsoft cloud official says infrastructure and platform cloud lines will blur

By Jon Brodkin | Network World US | Published: 10:36 GMT, 28 June 10

Microsoft’s Windows Azure and Amazon’s Elastic Compute Cloud tackle two very different cloud computing technology problems today, but are destined to emulate each other over time, Microsoft cloud official Tim O’Brien says.

Whereas Windows Azure is a platform-as-a-service cloud, giving developers the tools they need to build and deploy web applications, Amazon EC2 is primarily an infrastructure-as-a-service cloud, offering on-demand access to customisable virtual machine instances.

Azure simplifies the building of web applications in a way that Amazon does not, but Amazon’s cloud-based virtual machines have the benefit of working with multiple programming models, O’Brien says, predicting that over time Microsoft will move more into infrastructure-as-a-service and Amazon will cross over into platform-as-a-service (PaaS).

O’Brien, senior director of Microsoft’s Platform Strategy Group, discussed his take on the cloud market in an interview with Network World, as well as a public presentation at the recent Cloud Leadership Forum, hosted by IDC and IDG Enterprise.

“It’s a double-edged sword,” O’Brien said in the interview. “The reason people like infrastructure-as-a-service is because it’s programming model agnostic. The bare metal VM doesn’t care what language you wrote the application in, it doesn’t matter what tools you use and what run times you’ve targeted. If it runs on Windows or Linux, give it a virtual machine and it will run just fine. The problem is it’s a lot of extra work. You’re responsible for that virtual machine the same way you’re responsible for a server sitting under your desk. You’re responsible for turning it on. You’re responsible for turning it off. You’re responsible for applying a patch or an update. If Red Hat applies a Linux patch, and you have a Linux VM running on Amazon, you have to apply that patch yourself. They won’t do that for you.”

But there are shortcomings in the platform-as-a-service model as well, O’Brien acknowledges. The biggest problem with PaaS may be difficulty migrating existing applications from the internal data centre to the cloud.

“Platform-as-a-service has a different set of trade-offs,” O’Brien says. “All of that stuff is completely abstracted away, it’s a friction-free development, you basically code up an application, you hit deploy and it’ll go run on the platform that’s supplied by those run times. So in our case its PHP, C Sharp, in the case of Google App Engine it’s Python and Java.” While building new applications is easy, and removes the need for owning internal hardware and software, other than a Web browser, “part of the challenge there is it’s not necessarily optimal for migrating existing applications.”

Microsoft has already announced that “at some point [in the next 12 months] we will be offering the ability to provision a bare-metal VM, and run your application on that,” O’Brien says. While Amazon provides a variety of Windows and Linux virtual machine images through EC2, the company’s Web Services business offers a variety of other tools that might be useful to developers, including databases, storage services and load balancing.

O’Brien predicts that just as Microsoft moves into IaaS, Amazon will build a PaaS offering that more closely resembles Azure than anything Amazon offers today. Amazon’s public relations department could not be reached for comment Friday.

“It’s not a matter of one is better than the other; they accomplish different things,” O’Brien says. “But I think what you’ll see happen in the marketplace is a convergence of those two, where infrastructure-as-a-service providers like Amazon will move up the stack toward platform-as-a-service. You’ll also see PaaS providers like Microsoft provide some of that infrastructure-like capability, just so we can handle those migration scenarios much easier, and the lines will get blurred.”

In his speech at the Cloud Leadership Forum, O’Brien said public cloud services are generally not providing as much customization as customers want, but the cloud model is gaining popularity both among users who want to sidestep their companies’ IT departments, and from small businesses that want to get out of the IT business.

Many small businesses “don’t want to be in the IT business,” O’Brien said. “Private cloud is not in their vocabulary. They want to run their businesses on PCs and mobile phones and get out of the IT business entirely.”

Private clouds simply don’t offer the same economies of scale as public clouds do, he said, claiming that per-server TCO in a 100,000-server data centre is less than half the per-server TCO in a 1,000-server data centre.

Microsoft’s goal in the cloud is to offer customers the same functionality they would expect if they install the software themselves, he said. “If you can write an app for Windows Server you should be able to write an app for Windows Azure,” O’Brien said.

  • Share/Bookmark

Comments off

Hypervisor Brief Intro

View of Avi Kivity By Irfan Habib, http://www.linuxjournal.com/article/9764?page=0,1

In many ways, VMware is a ground-breaking technology. VMware manages to fully virtualize the notoriously complex x86 architecture using software techniques only, and to achieve very good performance and stability. As a result, VMware is a very large and complex piece of software. KVM, on the other hand, relies on the new hardware virtualization technologies that have appeared recently. As such, it is very small (about 10,000 lines) and relatively simple. Another big difference is that VMware is proprietary, while KVM is open source.

Xen is a fairly large project, providing both paravirtualization and full virtualization. It is designed as a standalone kernel, which only requires Linux to perform I/O. This makes it rather large, as it has its own scheduler, memory manager, timer handling and machine initialization.

KVM, in contrast, uses the standard Linux scheduler, memory management and other services. This allows the KVM developers to concentrate on virtualization, building on the core kernel instead of replacing it.

QEMU is a user-space emulator. It is a fairly amazing project, emulating a variety of guest processors on several host processors, with fairly decent performance. However, the user-space architecture does not allow it to approach native speeds without a kernel accelerator. KVM recognizes the utility of QEMU by using it for I/O hardware emulation. Although KVM is not tied to any particular user space, the QEMU code was too good not to use—so we used it.

  • Share/Bookmark

Comments off

Decided to Switch KVM

Choosing a hypervisor in #Cloud projects always costs me time, between Xen & Kernel-based Virtual Machine (KVM). After an interesting discussion with one of Cloud Computing architect @ IBM, we get a deal – use KVM for future #Cloud implement. My considerations:

  1. IBM announced to boost KVM @ Cloud initiatives since March this year. This indicates IBM’s strategy @ hypervisor on Intel machines leans to KVM, rather than Xen. And more official development, test and support are coming after.
  2. Virtio project to support better network IO performance. http://kbase.redhat.com/faq/docs/DOC-25441

More resources:
KVM vs Xen, dates back in 2006, but telling some basic > http://www.gridvm.org/xen-vs-kvm.html
Xen vs KVM by Xen > http://blog.xen.org/index.php/2010/05/07/..kvm-linux-..community/
KVM @ IBM InfoCenter > http://publib.boulder.ibm.com/../kvminstall/liaaikvminstallstart.htm
Securing KVM @ IBM InfoCenter > http://publib.boulder.ibm.com/../kvmsec/kvmsecguest.htm
Benchmark by Xen > http://wiki.xensource.com/..Quantitative+Comparison+of+Xen+and+KVM.pdf
KVM vs VMware > http://www.workswithu.com/2009/04/27/kvm-vs-vmware-a-case-study/

They’re all @ http://delicious.com/j3ffyang/kvm

Notice: since I only consider #OpenSource virtualization solution @ my #Cloud projects on Intel, there is #proprietary #VMware in my solution design. But integration with VMware is always available.

  • Share/Bookmark

Comments off

Virtualized Windows Hangs when Shutdown on VirtualBox 3.0

Stack

Host OS > Ubuntu 9.04

Guest OS > Windows XP

VirtualBox > 3.0.0

Hardware > ThinkPad T43, single CPU, 2G memory

Symptom: Windows XP hangs during shutdown

Resolution: Change the setting as the followings

VT – Enabled

Nested Paging – Disabled

ACPI – Enabled

IO ACPI – Disabled

PAE – Disabled

virt_console1virt_acpi0virt_pae02

  • Share/Bookmark

Comments off

Fix Virtualized Windows XP on VirtualBox 3.0 over Ubuntu 9.04

Configuration:

  • Host OS > Ubuntu 9.04
  • Guest OS > Windows XP
  • VirutalBox > 3.0.0

Symptom: Windows XP crashes very frequently and the dump shows

virtbox_crash3

As well as the message >

DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS

Solution:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Processor

Or

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Intelppm

And changing the ‘Start’ value to ’4′.

The detail @ http://blogs.msdn.com/virtual_pc…

  • Share/Bookmark

Comments off

Thoughts on Cloud Architecture in Open Source

Recently one of my friends I met from LinkedIn sent me several questions, about Cloud Computing, which looks like a Request for Proposal (RFP). I post my very personal response here for a mindshare.

About Cloud, Cluster/ Load Balancing, Data Center and Open Source, I could talk day and night without stop. I’m giving my personal but confident thoughts upon my friend’s email in brief.


Cloud Computing is a big topic. People have their own definitions depending on their view and objective.

- Open Source / Operating System / Framework
I’m Unix/ Linux guy. Other than Unix, Linux is the only operating system in Cloud management and Cloud resource pool, in terms of efficiency, green security, cost, and manageability. No Windows, No Mac… Certainly Windows could be one of computing services in resource pool as a kind of computing resource, that Infrastructure_as_a_Service (IaaS) provides and delivers.

Microsoft .Net framework doesn’t make much sense to Cloud @ IaaS, as Cloud is Open. That’s a defacto rule in Cloud. Windows isn’t “royal free” either, nor brings satisfied ROI in fact.

Most/ major components in Cloud are supposed to be operating system independent, like Java, Xen, Apache, MySQL, Linux/ Unix, JDBC, Mozilla/ Firefox, Eclipse, Tomcat… etc. As long as a software depends on a specific OS as a pre- requisite, it doesn’t fit in Cloud.

- Cloud Architecture
Several open source projects to recommend
http://www.opennebula.org > this is being used @ http://nebula.nasa.gov/
http://open.eucalyptus.com > this is a very AWS EC2- like open source cloud which I personally installed several time for Proof_of_Concept (PoC).

April 23rd, 2009, Ubuntu released 9.04 Server edition, which includes OpenNebula and Eucalyptus open source projects and supports Cloud environment >
http://doc.ubuntu.com/ubuntu/serverguide/C/opennebula.html
http://doc.ubuntu.com/ubuntu/serverguide/C/eucalyptus.html

5 cost- efficient flexible open source resources for Cloud

http://ostatic.com/blog/5-cost-efficient-flexible-open-source-resources-for-cloud…

Cloud hosting & storage toolbox

http://www.webresourcesdepot.com/cloud-hosting-storage-toolbox-options-tools/

- Virtualization and Virtual Machine Manager (VMM)
Virtualization is a key player in Cloud, but not all in Cloud. Virtualization technology is a carrier of computing resource dynamically managed and delivery in Cloud. In my opinion, its importance has been exaggerated in market. The keys of Virtualization are (1) standard (2) simple (3) easy to manage. You can’t deploy and manage multiple virtualization technologies within one Cloud environment.

Hyper-V doesn’t comply with the rule I mentioned earlier – Cloud is open. VMWare solution is expensive, isn’t it? Xen / XenSource is open source / free and recommended. Xen has been widely adopted in Cloud service provider in Internet. Xen is also compatible with monitoring system to be discussed below.

I’ve a blog describing the comparison between XenSource and VMWare > http://tr.im/mFFa

- Monitor
The ability of monitor determines how precisely and automatically Cloud detects from Cloud, and how fine- grained (granular) computing resource could be deployed to customer.

I recommend Ganglia and Nagios that are popular in Cloud, data center, server farm/ cluster, and widely adopted in many enterprises.

developerWorks > http://www.ibm.com/developerworks/opensource/library/l-ganglia-nagios-1/index.html
Nagios homepage > http://www.nagios.org/

- Request Driven Deployment / Provisioning
Deployment driven by request means the end user decides how much computing resource s/he needs from Cloud. Such as you specify number of CPU, # of gigabyte of memory and size of disk (priced @ http://aws.amazon.com/ec2 ) from Amazon Web Services (AWS) Elastic Compute Cloud (EC2). Very simple. We may learn a lot from AWS architecture > http://highscalability.com/amazon-architecture

Provisioning means that a specific software, like JVM or middleware software, or database, to be installed and configured in an deployed / existing virtual system on demand.

The scenario: eg. in AWS, you’re given a Linux operating system with 2 CPUs and 4G memory. But you can do nothing in a blank OS. You might need an Oracle database 11 or a middleware like JBoss or perhaps WebSphere. Then provisioning function will install and configure on the deployed virtual machine unattended.

For now, in that case @ AWS, you have to install by your own or you can select one available image from AWS image pool, with pre-loaded software you need, in which if someone else made one and published previously. Amazon doesn’t have provisioning service so far. That results that AWS has to manage thousand images in its image repository so that implies it is a challenge.

- SLA / Service Policy / Automation
An example of Service Policy: when an instance is running 80% disk utilization, a pre- defined service policy triggers a configured action – to add another 100G disk into such instance.

This is done by Service Policy, not by system operator and administrator. We can see how this differentiate from mainframe’s virtualization since 60′s.

In another word, Service Policy = Automation!

This kind of policy could be very specific in many and many scenarios. It does require customization effort to fit requirement. I do have some experience/ skill of elastic JVM/ JavaEE computing resource as being engaged with a banking customer now, @ Platform as a Service (PaaS) project.

- Load balancing (not F5)
Load balancing is a must in large enterprise and busy traffic internet. F5 is popular. But F5 throws URL (a request from web) as a token to go into web server cluster. In fact, URLs are not equal. F5 doesn’t know how much resource behind one URL might need from JVM in middleware. So F5 can round- robin requests / URLs, but not granularly down to CPU utilization level.

Cloud Computing @ each layers – IaaS, PaaS & SaaS – needs monitoring to know how much resource remains, how much needed, how much to deliver, how much to remove after use.

- Security/ Authentication / LDAP
Security is a big concern in Cloud, as well as alert and audit, in term of authentication, authority, data integrity, encryption/ decryption, etc.

LDAP (OpenLDAP) could be used @ Cloud portal where end user applies computing resource in resource pool, while Cloud operator manages in management portal. As long as a computing resource is deployed, end user is received an authority to access the delivered resource and doesn’t need LDAP authentication.

- Languages
Java is preferred as global languange
C is used in Eucalyptus Cloud Management
Ruby on Rail used to display @ Portal & UI
XML in data transaction, Python, etc.

- Approach
Have to have Proof_of_Concept – to build a small system to prove all works prior to production

  • Share/Bookmark

Comments off