cloud and existing enterprise applications technologies - amazon-ec2

What is the significance of new cloud platforms and databases like Microsoft Azure and Amazon EC2?
Is it a replacement for enterprise application platforms like .net or Java EE in a cloud environment?
Is it neccessary to use these or other cloud specific platforms, or can we implement .net or Java EE on a cloud based environment?

I think the comparison is not correct to some extent. Cloud is a deployment issue and J2EE Technologies is a development issue.
The idea of clouds was to take away the hardware costs for existing application which have been build on J2EE or .NET or any other application development framework.
Yes when you deploy your applications in clud, there are some changes and some deployment strategies which would enforce some change in your application but application would still be J2EE or .NET as was the case before

I see two kinds of clouds, those that offer their own programming model and those that host applications developed in an existing programming model. Give the choice I would prefer the latter, I don't want to redevelop my existing apps and I want to sure that I'm free to host my app on my choice of host.
As it happens I'm a Java EE developer and there are Java EE clouds, so I'm OK. So for me Azure has little immediate significance other that to reinforce the message that serious vendors see a future for cloud computing.
Now, what is Azure? Is it a hoster of .NET apps, or is it offering a different programmng model? Or Both? I'm finding it hard to determine from the various web sites and reviews. There's talk of .NET programming an C# and VB and maybe other languages and using existing tooling, so my current guess is that .NET developers will be at home, but perhaps need to adapt their style.
My tentative opinion: if I'm a doing .NET I'll keep doing it and expect to find a suitable cloud one day. If Azure is that cloud (and I'd want to find out) well and good, if not then I'll wait for something better.
In a serious enterprise space I don't need to back a winner in a market place that's still evolving. I probably will have sensitive apps that I'm not going to put in a public cloud anyway, so sticking to Java EE suits me fine, I've got private cloud capabilities if I need them.

EC2 is kind of a hybrid; at its root it's a hosted virtual machine service that lets you choose the operating system you want (most Linux distributions, Solaris or a couple of versions of Windows Server) and then configure them as you like without restrictions.
On top of that, Amazon has built services such as Simple DB, Simple Queue Service and Simple Notification Service that make it into more of a development platform, but it's important to note that these run cross-platform and can be programmed to in multiple languages.

A link to Windows Azure's Tomcat Solution Accelerator can be found on MSDN's "Windows Azure Platform" landing page where you will also find links to the following:
Windows Azure SDK for Java
Windows Azure SDK for PHP
Windows Azure Tools for Eclipse
AppFabric SDK for Java™ Developers
AppFabric SDK for Ruby Developers
AppFabric SDK for PHP Developers
As well as...
MySQL PHP Solution Accelerator
MediaWiki MySQL Solution Accelerator

Related

What's the drawback of using Camunda Community edition vs Enterprise, in a production environment?

I've recently started to get into Camunda (version 7). I have already develoiped a few workflows, and everything is running smoothly, including the basic Cockpit, which I find highly useful.
Now I want to put my workflows into production. What are the limitations of doing so, using only the Community edition, instead of the Enterprise one? Am I losing out on something important by not going for the full commercial service?
Will I encounter any limitations down the road that will block my workflows?
You can find a comparison of Camunda 7 CE and EE here:
https://camunda.com/enterprise/
There is no (e.g. volume) limitation on engine level you will be surprised by later on. Apart from commercial support, the additional Cockpit features are very useful and Optimize to add business analytics to your environment may also be of interest.

Cross Platform Desktop Application Development

I’d like to develop Windows 8 applications and have them hosted on Azure as if they were any other website, i.e. accessible to Macs, PCs, etc. I don’t want to be limited to people downloading Windows 8 applications to a Windows 8 PC or device. Can you explain how Azure achieves this?
I’d like to develop Windows 8 applications for desktops, but not be limited to running them on Windows 8 PCs and devices.
Thanks
Azure doesn't achieve this at all, other than providing a public endpoint for access to 'code'. What you have up in the cloud will depend on what you want to achieve and who you want to reach.
You mention web site and application, but those connote two very different architectures.
A web site will give you the most reach since you'll (presumably) be using standards like HTML5/JavaScript and CSS that are available on a multitude of platforms. As you can see by using applications like outlook.com, the user experience can be quite immersive. With a web site there's little to no client-side requirements other than a browser.
An application typically implies native installation on the target machine and provides the richest possible experience because you use techniques, frameworks, and APIs that are specific to a platform or a device. Applications also (arguably better than web sites) enable reach and monetization via marketplaces like Apple's App Store, Google Play, and the Window Store.
Technologies like Silverlight and Flash were part of the RIA wave (Rich Internet Application) that was a hybrid of both: use the web for reach, and a plug-in for richness. Those are still valid models, but the tide is shifting to HTML5 which is now much closer to reality and narrows the user experience gap that Silverlight and Flash filled. While Silverlight is definitely supported (in an out-of-browser mode as well), the choice of using a plug-in technology will limit your audience because of platforms supported and the need for an additional installation. That may or may not be acceptable given your target application.
What we are seeing now is a trend toward mobile application development paradigms - native still, of course, but also hybrid applications such as afforded by PhoneGap, AppMobi, Sencha, and other HTML5 frameworks and cross-platform options like Xamarin. Each of these allows you to develop in the language and constructs you know well for a given platform, but create applications which are partially or wholly 'native' and can run on multiple devices and platforms. Typically, you will reuse much of your 'back-end' and data integration layers across you targeted platforms, but rework the user interface to be in-line with the expectation for the device.
Windows Azure figures prominently in the development of such apps by providing infrastructure for data storage, services, identity management, push notifications, and other facilities that rely on centralization and scale.
And I suppose there's one other option in all this, virtualization, but that's a larger hurdle for end users and wouldn't recommend that as a general approach.
You can create Silverlight apps, it runs in browser. So it can be open Windows PC as well as in Mac. Do visit Microsoft Silverlight website. Here's few links regarding Azure with Silverlight.
Silverlight in the Azure cloud
Microsoft Silverlight 5 and Windows Azure Enterprise Integration
Windows Azure with Silverlight End To End Demo
More you google, more you will get results.

analytics tool on windows server

There are several tools that help to analyze the users behavior on your website. I would tend to divide them into ones that live on an own platform and which can be accessed through and API (like Google Analytics) and that ones that are to be installed on your own server (like Piwik).
I will launch a new web project soon, which requires such a tool and thus I wonder which one I should use. In my case I need to collect the data on my own server, so I will have to stick with the second type of tools. After playing around a little bit on my beta server I considered Piwik to be pretty nice to personalize, but until now, I had issues to set up piwik on the production server, because it is a windows server and the piwik version that is available at the webapp installer platform of windows server requires a different php version.
Installing Piwik on another - let's say - analytics server, is not an option for me, because I don't want to create all this https traffic, just because I am not able to set it up on my production server. And I also don't want to purchase another https certificate ;-).
I browsed the Windows Webapp Installer Platform in hope of something that just works out of the box in Windows. Similar questions like this also propose Google Analytics or Piwik. But this cannot be it, can it?
So..
Is there a tool which all you Windows Server people use?
Are there other tools that are used frequently?
Or even: Is it somehow possible to set up Piwik on a Windows Server without using The windows Web App Installer? I posted a related question here that focusses on the installation of piwik.
Logparser is a free tool from Microsoft that lets you throw direct SQL queries to the IIS Logs generated on your Web server. You may use it to query basic stats such as:
[1] From what ip-address range I get the maximum queries? (users' country-profile)
[2] What particular pages (aspx/html) are most frequently visited?
[3] At what time of the day, do I get the maximum requests?
I remember using this tool in one of my earlier projects, but the reason was to track down some performance issues. Also, the tool itself is console based, so you need to be familiar with command-line. However, a GUI front-end could be easily developed in a high-level language such as C#, I think there should be already some, that are free to download

Rackspace Cloud Sites and ASP.NET 4

I am looking at signing up for the Cloud Sites service from Rackspace, but I looking for practical experience anyone has had with their ASP.NET 4 'beta' program. I plan to develop in MVC3 moving forward and cannot consider the Cloud Sites service if ASP.NET 4 doesn't work well / correctly on their platform. Has anyone tried hosting an ASP.NET 4 / MVC 3 site on Cloud Sites? What was your experience like?
I've had Rackspace Cloud Sites for nearly a year now and it works very well for most client sites. However, I'm very disappointed that it has taken so long for them to support .Net 4.0, and forget about it if you want to use anything requiring anything above medium trust. I haven't found a single document database that will work yet, and when I've asked their support about this, the general answer they like to give is, "Upgrade to a Cloud Server". It's almost like they give you the bare minimum in the Sites option and then when something isn't supported they upsell you.
It doesn't sound like it but overall I'm pleased with most of their service. The .Net 4.0 Beta isn't bad -- I haven't had any issues with it and I have two sites on it. Just wish they'd open up their service a little and give us some real capabilities.
Just to update, Rackspace Cloud now supports .Net 4.0. You have to request this upgrade via a support ticket or live chat. I've actually done it, support can do it in just a couple of minutes and it works like a champ.
http://www.rackspace.com/cloud/cloud_hosting_faq/
Is .NET 4.0 supported on Cloud Sites™?
.NET 4.0 is currently available on our Cloud Sites environment. If you
would like to have .NET 4.0 enabled on your site, please contact
Support via ticket, chat, or phone.
UPDATE Q3 2012: You can now select .Net 4.0 as a default technology when you're setting up a Cloud Site. .Net 4.5 support is pending.
UPDATE Q3 2013: You can now select .Net 4.5 as a default technology. Pretty sweet!
I have used Rackspace for several clients' servers in the past, and they have proven to be a very reliable company with excellent support. I have not used the specific plan that you mentioned, but they have demonstrated competency in a variety of Microsoft hosting services. You can be confident that the product you are considering is at the standard to which it is presented to be.
I am hosting a site using the Rackspace Cloud Sites beta for .net 4.0 and haven't had any problems. All the apps I've published have behaved the same locally and on the Rackspace servers.

Is Azure an Operating System or a Framework?

MS is calling Azure an Operating System.
To me, it feels much more like a framework. I am having a bit of trouble defining the two separately. I have a general intuition, but I am not articulate enough to really say if Azure is really an OS or just a framework sitting on top of Operating Systems.
I've just been listening to the Deep Fried Bytes Podcast #20 wherein, they interview Steve Marx, the Windows Azure Program Manager, and he explains it all.
From what I can gather thus far (haven't finished all the podcast) it works like this:
Microsoft have a ton servers running Hyper-V which can run virtualized instances of windows server 2008
You can start/stop/reboot an arbitrary number of these virtual win2k8 servers using an API, and you get charged only based on what you use.
The platform which controls this start/stop/reboot/crash recovery/provisioning/billing/etc is Windows Azure. They jokingly refer to it as the 'windows server overlord'
You define roles for these VM's, which can be either
web-role, in which you can run any .NET code hosted inside IIS (eg: ASP.NET, httpHandler, etc),
worker-role, in which you run some standalone .NET code for background processing and so on
Perhaps more roles once they come out of CTP
You can use the windows azure API's to start/stop them - eg: "Give me 5 instances of my web role and 3 instances of my worker role"
Data gets stored by their storage services, and can be
Blobs (I'm assuming something like S3)
Queues (I'm assuming something like SQS)
Tables - marx mentioned a 'web scale non-relational data store' - something like SimpleDB or BigTable
These VM's have a bunch of other services available to them - Live Services for windows live stuff, .NET services, SQL Services if you need a full-blown SQL server for relational data, Sharepoint services if you want sharepoint, etc.
All this stuff rolled up together is the Windows Azure Services Platform
My take - Giant Marketing fail. Confusion abounds. MS seem to always do this kind of 'roll it all up into a single buzzword' thing though (.NET 5 years ago, anyone?). I really wish they would stop it
Another way I have heard Windows Azure pitched is "infrastructure as a service". Meaning that you don't have to think about the operating system in the same way as if using a server or VM that you tweak.
What is Windows Azure? seems to answer this, perhaps?
Quoting #daok:
Description
The Azure™ Services Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together. Azure’s flexible and interoperable platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. Its open architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises.
Azure reduces the need for up-front technology purchases, and it enables developers to quickly and easily create applications running in the cloud by using their existing skills with the Microsoft Visual Studio development environment and the Microsoft .NET Framework. In addition to managed code languages supported by .NET, Azure will support more programming languages and development environments in the near future. Azure simplifies maintaining and operating applications by providing on-demand compute and storage to host, scale, and manage web and connected applications. Infrastructure management is automated with a platform that is designed for high availability and dynamic scaling to match usage needs with the option of a pay-as-you-go pricing model. Azure provides an open, standards-based and interoperable environment with support for multiple internet protocols, including HTTP, REST, SOAP, and XML.
Features
Key components of the Azure Services Platform include the following:
Windows Azure for service hosting and management, low-level scalable storage, computation and networking
Microsoft SQL Services for a wide range of database services and reporting
Microsoft .NET Services which are service-based implementations of familiar .NET Framework concepts such as workflow and access control
Live Services for a consistent way for users to store, share and synchronize documents, photos, files and information across their PCs, phones, PC applications and Web sites
Microsoft SharePoint Services and Microsoft Dynamics CRM Services for business content, collaboration and rapid solution development in the cloud.
Technically, Azure is a set of services running on vanilla Windows 2008 Servers running virtually inside of Hyper-V. Your app runs on those services, abstracted away from the actual operating system. Because of this, they are calling Azure a "Cloud Operating System". Unfortunately, these answers don't answer my question... so...
I re-formatted my question to something more generic: What is the difference between an OS and a Framework?
Windows Azure is both, a framework and an OS. The main two things any OS provide for the developers are the CPU and the memory which Windows Azure provide in different ways, through the compute node. it also provides a scalable storage to store several types of storage whether structure, unstructured or even semi structure data. please notice that the storage node runs on a different hardware resources than the compute node, which provides the system with better efficiency and high availability and scalability. if your application faces any problem, the system will automatically create another instance of it plus your data is replicated three times.
As the Cloud Computing is a concept which consists mainly of three layers, the infrastructure, the platform and the software (as a service), each layer of them is targeting a specified segment. the windows azure is targeting the developers to build high available and scalable applications, it doesn't manage the infrastructure, it is installed on Windows Server which make the administration on the infrastructure, however as the Cloud Computing is based on Virtualization, Windows Azure has its own hypervisor it doesn't depend on Windows Server Hyper-V.
For the developers, which needs to build their applications on Cloud Computing they need a designed framework or platform that gives them the ability to do so.
that's why I think Windows Azure is not just a framework, and not just an OS it is both.

Resources