Cloud Services

November 12, 2008

So about these gathering cloud computing systems


Larry Ellison of Oracle thinks they're gibberish. Microsoft thinks they should look exactly like Microsoft products but skinned in the Clear October Sky. Sun thinks it's still a jump ball and would like your input . Amazon likes to call them by their Web 1.8 name: Web Services and Google thinks of them as just another engine for developing "do no evil" ... meanwhile a bunch cloud-minding developers flame each other into vaporocity over a TOS that claims "clouds should not and will not be owned". And yes, vaporocity.com was still available at the time of this writing.

As with a lot of tech buzzwords, cloud computing is fast becoming the one-size-fits-all-goto phrase for anything tech. And indeed Mr. Ellison was right in pointing out that cloud computing has been redefined to include everything we already do. But he fails to grasp or at least acknowledge that it's everything we already do to the nth degree ( at least for all practical purposes ). And for a fraction of the price to boot! So while Larry contemplates changing the verbiage in some of his ads, us developers should take a page from Thorsten over at rightscale.com to figure out where what we do on a day to day basis fits in because the bottom line, literally and figuratively, will someday reside in the cloud.

September 24, 2008

How Amazon Web Services needs to help Flex Developers

Or How Amazon Web Services can implement a Flash Proxy Service.

There’s been a thread at the amazon simpledb forums discussing that AWS should implment a crossdomain.xml file. I agree that AWS should open up their public facing services to flex developers by implementing a crossdomain.xml file however, simply implementing a crossdomain.xml file will not address the real problems of authentication and security.

The real problem facing flex developers is that it’s not secure to place your amazon secret key inside of a compiled swf. It can easily be decompiled. It’s been suggested that the best solution is to proxy calls through a server, such as an EC2 instance. For just wanting to store and recieve data in S3 or SimpleDB that is just way too much overhead.

The solution is for Amazon to implement a flash proxy service for flex developers. ( and silverlight )

  • Flex devs need to register the domains that are associated with thier access key. ( www.mydomain.com )
  • Flex devs then only need to send thier access key along with each request.
  • The amazon flash proxy service then verifies the domain the request is coming from is in the list of verified domains for that accessky and adds the secret access key to the request before sending the request on it’s way.
  • Any requests that come from domains that use an access key outside the list of domains gets denied.

 

AWSProxy

 

 

May 28, 2008

Google App Engine opens it's doors, shows cover charge

Google App Engine 

Google App Engine is now open to all developers. That’s really good news for those that didn’t get in to the beta program. But the bigger news is that they’ve offered up estimated costs. It’s going to be free to get started ( take notice Amazon ) but the expected pricing will be  

  • $0.10 - $0.12 per CPU core-hour
  • $0.15 - $0.18 per GB-month of storage
  • $0.11 - $0.13 per GB outgoing bandwidth
  • $0.09 - $0.11 per GB incoming bandwidth

That’s after you have run through your 500 MB of storage and 5M pageviews / month.  They seem like pretty reasonable rates. As always Google does it bigger and for cheaper.

There’s also two new apis being being opened up: image api and the google memcache api.

 

Fun.

May 20, 2008

Austin Flex User Group

I’m going to be giving a presentation this Wednesday, 5/21/2008, via Connect to the Austin Flex User Group. It will actually be two presentations. The first is a session on debugging from within Flex Builder. I’m going to focus on debugging techniques and also will explore remote debugging with ColdFusion, C# and Java. The second session will be a sneak peak on how you can leverage cloud services with a flex front end using the Smashed Apples framework, but specifically I’m going to be talking about Amazon Web Services and how you can leverage cloud services to make money. That’s always fun!

You can find out more info at: http://www.austinflex.org/.

If you’re in Austin, Texas I hope you can make it.

May 05, 2008

The Smashed Apples Open Source Development Platform

Smashedapples2

The Smashed Apples Development Platform is an open source development platform that aims to help flex developers easily and quickly develop flex applications on cloud services, like Amazon Web Services, Google App Engine, the Google Web Api’s.

Many Clouds, 1 App.

Flex is perfect for leveraging cloud services. It was designed to have multiple sources of data. Your data can be in an xml file, a web service, or come from remoting directly into backend code. You can use Google App Engine to host your database, store your images in Amazon S3 and deploy the messaging through BlazeDS running on an Ec2 instance.

Smashedapples1

Why not all, and more.

 

V 099 Beta

We’re still currently in version 099 beta. But we decided to go ahead and solicit help and feedback from the flex community. We have ideas about what other flex developers might want, but it’ll be better if you just tell us.

More than a swc

Smashed Apples is more than a swc. It’s a development platform. The SmashedApplesSDK is just one piece of a much bigger puzzle. For example on Amazon we created a public Amazon Ec2 ami  ( ami-5640a53f -) that starts up an apache web server that deploys blazeDS and a java project that allows you to access the Amazon SimpleDB from within flex. The swc just ties it all together from within flex. Also, with that image you can open up messaging ports and do push pulls off of Amazon Web Services.

Besides being a swc to leverage cloud services, I’ve also been incorporating enterprise-level dynamic flex computing components that will help you create flex apps faster. Forms that know how to submit themselves. DataQuery objects that allow you to consistently create dynamic queries on backend resources.

Harnessing Cloud Services as Needed

Last August at Flex 360 Seattle I had the simple idea of using flex with Amazon Web Services to build a photo viewer using Amazon S3. The problem was I knew nothing about using Amazon Web Services. I wasn’t a linux administrator and every time I tried to use Amazon Web Services from within flex I just got frustrated. (What’s up with that freaking SSH KeyPair!!) I mentioned it to long time friend Jeremy Mooer and it turns out he knew everything about using linux on amazon web services that I didn’t. That simple idea turned into a full blown open source project. As I started looking into Cloud Services, I found there were alot more out there than I suspected. Jeremy Got busy creating Ec2 ami’s and I went about creating the flex sdk, and the smashed apples java ec2 java api. BlazeDS went Open Source, Google came out with AppEngine and it became very apparent to me that the applications of tomorrow are going to be built off of cloud services. ( Get ready to dump your RDBMS btw ). Businesses are going to create thier own mini cloud services. Relational Database Management Systems are going to give way to Object Persistent Systems. Words like Hadoop, MapReduce, Erlang and Mnesia are going to be found on more and more resumes. Smashed Apples has turned into my goto for being able to harness cloud services from within flex applications. Pay for what you use, right?

 

 

Future Development

We’ve already been looking into ways to incorporate Google App Engine, and more code will be coming soon. 

But in the future, we’d also like to support:

 

Learn More

Site: http://www.smashedapples.com/

Code: http://smashedapples.googlecode.com/

 User Group: http://groups.google.com/group/smashedapples

Simple Explorer: http://www.smashedapples.com/samples/explorer/SmashedExplorerApp.html

It currently runs off of the public smashed apples ami, it use blazeds for remoting, to the smashed apples java api that stores data in SimpleDB.

Help is Welcome

We are an open source project! If you’re a flex developer with some free time and would like to get involved please email me. There’s plenty to do. We’re easy to get along with, like to joke around and doing an open source project is a great way to get your name out there. We give credit where credit is due. 

Corporate Sponsors

Finding corporate sponsors has not been our goal when we created this project. That being said, I have received several inquiries about whether or not we have corporate sponsors for the project and we are open to the idea of having a corporate sponsor(s). If you would like to become a corporate sponsor please contact me.

 

 

 

April 30, 2008

Amazon Web Services SimpleDB Survey

If you feel like I do about Amazon Web Service’s SimpleDB, that’s it’s not “Simple” at all, you should fill out the this survey and let the SimpleDB guys know how you feel. … Er. I guess you don’t have to feel like I do at all. If you feel like SimpleDB is great, let them know that as well.. 

April 17, 2008

Amazon Service Health Dashboard

Monitor AWS services from your browser. You can find more info here. There’s even rss feeds for those of us that are addicted to rss feeds.

April 15, 2008

PyAMF 0.3 released

The guys at PyAMF released version 0.3. It fixes some of the hacks i hacked out to get up and running with Google App Engine. You can read more about it over at their blog. Also, here’s their tutorial for getting  setup.

April 14, 2008

The Cloud Moves Fast

Hope you didn’t blink when Google released App Engine. You might’ve missed that they just released version 1.0.1. You can get the new download at the google code page. Looks like (at least on windows) you have to uninstall the previous version.

The few issues fixed can be found here and here.

It’s good to know that the code base is actively being developed. Also, it’s encouraging developers to get involved with the project. Us developers really don’t have much of an excuse anymore. If you want to get your bugs fixed you better create an issue and star it.

 

 

Every little -as3 namespace bit helps ... I think

While trying to eke out every little last bit of performance in my flex app I ran across the -as3 compiler option. The LiveDocs state

Defines methods and properties of the core ActionScript classes that are fixed properties instead of prototype properties. When you set the "-as3" compiler option to true, the AS3 namespace is automatically opened for all the core classes. This means that an instance of a core class will use fixed properties and methods instead of the versions of those same properties and methods that are attached to the class's prototype object. The use of fixed properties usually provides better performance, but at the cost of backward compatibility with the ECMAScript edition 3 language specification (ECMA-262). 

I added it to my app, and ran some profiling. Not sure what to look for. If you have experience using it feel free to chime in now. Otherwise I guess I'll get back to trying to out-fox myself  doing nothing because there is no more hope.

 

— UPDATE : hat tip to josh for pointing this out. The -as3 compiler is automatically turned on. You’re supposed to use the -es compiler option if you do turn it off. Here’s a current link to the livedocs that gives more info.