A Windows Azure Deployment with Node.js Video

I have been playing around with Windows Azure again, as it has gotten really solid and feature rich in the last year. So much so that it’s provided reasons for me to use it versus some of the default go to providers. One of the things that I’ve found immensely useful is the brain dead simple application deployment for Node.js using Github and Windows Azure.

Also, if you’d like to see other videos I’ve put together and see new videos I’ll be publishing, follow my Vimeo Account at https://vimeo.com/channels/shreddingcode/. This video is kind of a sneak peak of a full episode of the Shredding Code series I’m putting together. So follow my Vimeo or subscribe to the blog to catch the premiere episode and subsequent episodes I’ll be producing.

Cheers! Adron of Composite Code, Shredding Code.

New Relic, The King Makers, MS Open Tech, Riak VMs and Life Gets Easier Today

Today Microsoft released, with partnerships with a number of companies including Basho, Hupstream and Bitnami, the VM Depot. I’ve always followed Bitnami, so it’s really cool to see their VM releases for Jenkins (CI Build Server), WordPress, Ruby 1.9.3 stack,¬†Node.js and about everything you can imagine out their along side our Basho Riak CentOS image. If you want a great way to get kick started with Riak and you’re setup with Windows Azure, now there is an even easier way to get rolling.

Over on the Basho blog we’ve announced the MS Open Tech and Basho Collabortation. I won’t repeat what was stated there, but want to point out two important things:

  1. Once you get a Riak image going, remember there’s the whole community and the Basho team itself that is there to help you get things rolling via the mail list. If you’re looking for answers, you’ll be able to get them there. Even if you get everything running smoothly, join in anyway and at least just lurk. ūüôā
  2. The RTFM value factor is absolutely huge for Riak. Basho has a superb documentation site here. So definitely, when jumping into or researching Riak as software you may want to build on, use for your distributed systems or the Riak Key Value Databases, check out the documentation. Super easy to find things, super easy to read, and really easy to get going with.

So give Riak a try on Windows Azure via the VM Depot. It gets easier by the day, and gives you even more data storage options, distribution capabilities and high availability that is hard to imagine.

New Relic & The Rise of the New Kingmakers

In other news, my good friends at New Relic have released a new book in partnership with Redmonk Analyst¬†Stephen O‚ÄôGrady @, have released a book he’s written titled The New Kingmakers, How Developers Conquered the World. You may know New Relic as the huge developer advocates that they are with the great analytics tools they provide. Either way, give a look see and read the book. It’s not a giant thousand page tomb, so it just takes a nice lunch break and you’ll get the pleasure of flipping the pages of the book Stephen has put together. You might have read the blog entry that started the whole “Kingmakers” statement, if you haven’t, give that a read first.

I personally love the statement, and have used it a few times myself. In relation to the saying and the book, I’ll have a short review and more to say in the very near future. Until then…

Cheers, enjoy the read, the virtual images and happy hacking.

How Software Should Get Done, Continually Delivering!

Tonight I spoke at the PADNUG Meetup in Hillsboro, a suburb of Portland, Oregon. The ladies and gentlemen of PADNUG are a great crew, so I actually go out of my way to the suburbs to speak there. Tonight was an exceptionally good experience with a great talk, lots of back and forth between everyone there and great conversations continued late into the night at the local suburban watering hole. All in all a good topic of conversation and one that needs brought to more teams.

Continuous Delivery

How does this fold into my work on PaaS (Platform as a Service) and IaaS (Infrastructure as a Service)? Easy, with the cloud computing capabilities of PaaS and IaaS it makes continuous delivery a no brainer. At least 50% of the effort to get continuous delivery setup is already done with these technologies. Over the next few weeks I’ll be writing a lot about these technologies and the enablement of continuous delivery through these technologies. Just as important as the technology, I’ll also be talking about the processes, ideals and lean thinking that have birthed this tech.

In my presentation I covered a lot of these ideas and efforts. For now, here’s my slide deck with all the information to contact me. If you’d like me to pop into your town and present on these topics, just let me know and we’ll see about me getting onsite.

Coming up on the 20th I’ll be presenting some of this material plus a very hands on demo at the Software Craftsman’s meeting is Seattle titled “Coding in the Cloud, Kick Ass Continuously“. So if you live in the Seattle or are just in the area, drop in!

Day #2 => Cloud Expo, A Few Pictures & Associated Thoughts

This first one is of Effective UI a company out of Denver, Colorado. You’re probably asking yourself, why are they at a cloud conference? I asked the same question and they brought up a really good point. Most cloud computing interfaces are horrible. I have to agree, most are or at least have been pretty bad. User experience is fundamental to a good adoption and usability of the customer base, a solid user interface is the cornerstone of this experience.

Effective UI

Effective UI

I’m stil tripping on this one. I’m totally stoked that Windows Azure is providing Linux support. I however can’t stop laughing about how cold it must be in hell. For over a decade Microsoft oft repeated that it would be a “cold day in hell” before they where involved with, used, sold, or offered a Linux product of any kind. Now they offer Linux VMs on Windows Azure and employees of Microsoft actively and openly contribute to the Linux kernal! ¬†Truly awesome, and a little shocking.

SUSE offered on Microsoft's Windows Azure

SUSE offered on Microsoft’s Windows Azure

Jaspersoft, the open source BI Solution Company. A few people asked me about BI solutions and such for the cloud and for big data. Jaspersoft is one of the leading companies in this part of the industry. They even have the capability to build their service into a PaaS. ¬†Ok, I’ll admit I don’t exactly know what they mean by that, but it sounds really cool. Maybe I need to have a conversation with them about this and see about working on extending this PaaS BI Service?

Jaspersoft

Jaspersoft – Open Source Business Intelligence

I also had to give some Postgresl love. They even had their elephant mascot hanging around! Does anyone know what the elephant’s name is? Beers on me to whoever gets it. ¬†ūüėČ ¬†For anyone looking to get an RDBMS running in the cloud, Postgresql is easily one of your best options. Don’t even start thinking about Oracle these days… ¬†no seriously, don’t.

The Elephant is in the house...

The Elephant is in the house…

PaaS Help! Know any PaaS Providers?

I’ve been diligent and started a search of Platform as a Service Providers, so far my list includes:

  • EngineYard
  • Heroku
  • AWS Beanstalk
  • Windows Azure
  • AppFog
  • Tier3
  • CloudFoundry
  • OpenShift
  • IBM PaaS
  • Google App Engine
  • CloudBees

Who else is there? Help me out in creating a list of every possible offering we can find! ¬†Cheers! Please leave a comment or three below with any I’ve missed. ¬†Thanks!

Following Good Practice, The Negative Bits About Windows Azure First, But Gems Included! :D

Ok, I’ve used Windows Azure steadily over the last year and a half. ¬†I’ve fought with the SDK so much that I stopped using it. I decided I’d put together this recap of what has driven me crazy and then put together something about the parts that I really like, the awesome bits, the parts that have the greatest potential with Windows Azure. So hold on to your hats, this may be hard hitting. ¬†ūüėČ

First the bad parts.

The Windows Azure SDK

Ok, the SDK has driven me nuts. It has had flat out errors, sealed (bad) code, and is TIGHTLY COUPLED to the development fabric. I’m a professional, I can mock that, I don’t need kindergarten level help running this! If I have a large environment with thousands of prospective nodes (or even just a few dozen instances) the development fabric does nothing to help. I’d rate the SDK’s closed (re: sealed/no interfaces) nature and the development fabric as the number 1 reasons that Windows Azure is the hardest platform to develop for at large scale in Enterprise Environments.

Pricing¬†Competitiveness? Ouch. ūüė¶

Windows Azure is by far the most expensive cloud platform or infrastructure to use on the market today. AWS comes in, when priced specifically anywhere from 2/3rds the price to 1/6th the price. Rackspace in some circumstances comes in at the crazy low price of 1/8th as much as Windows Azure for similar capabilities. I realize there are certain things that Windows Azure may provide, but my not, and that in some rare circumstances Azure may come in lower – but that is rare. If Windows Azure wants to stay primarily, and only, an Enterprise Offering than this is fine. Nailing Enterprises on expensive things and offering them these SLA myths is exactly what Enterprises want, piece of mind of an SLA, they don’t care about pricing.

But if Windows Azure wants to play in new business, startups especially, mid-size business, or even small enterprises than the pricing needs a fix. ¬†We’re looking at disparities $500 bucks vs. $3500 bucks in other situations. This isn’t exactly feasible as a way to get into cloud computing. Microsoft, unfortunately for them, has to drop this dream of maintaining revenues and profits at the same rate as their OS & Office Sales. Fact is, the market has already turned this sector into a commoditized price.

Speed, Boot Time, Restart, UI Admin Responsiveness

The Silverlight Interface is beautiful, I’ll give it that. But in most browsers aside from IE it gets flaky. Oh wait, no, I’m wrong. It gets flaky in all the browsers. Doh! This may be fixed now, but in my experience and others that I’ve paired with, we’ve watched in Chrome, Opera, Safari, Firefox, and IE when things have happened. This includes the instance spinning as if starting up when it is started, or when it spins and spins, a refresh is done and the instance has completely¬†disappeared! ¬†I’ve refreshed the Silverlight UI before and it just stops responding to communication before (and this wasn’t even on my machine).

The boot time for an instance is absolutely unacceptable for the Internet, for web development, or otherwise. Boot time should be similar to a solid Linux instance. I don’t care what needs to be done, but the instances need cleaned up, the architecture changed, or the OS swapped out if need be. I don’t care what OS the cloud is running on, but my instance should be live for me within 1-2 minutes or LESS. The current performance of Rackspace, Joyent, AWS, and about every single cloud provider out there boots an instance in about 45 seconds, sometimes a minute, but often less. I know there are workarounds, the whole leave it running while you deploy methods, and other such notions, but those don’t always work out. Sometimes you just need the instance up and running and you need it NOW!

Speed needs measurement to prove out in tests. Speed needs to be observed. I need¬†analytics¬†on my speed of the instance I’m choosing. I don’t know if it is pegged, I don’t know if it is idle and not responding. I have no idea in Windows Azure with any easy way. The speed, in general, seems to be really good on Windows Azure. Often times it appears to be better than others even, but rarely can I really prove it. It’s just a gut feeling that it is moving along well.

So, those are the negatives; speed, boot time, admin UI responsiveness, pricing, and the SDK. Now it is time for the wicked awesome cool bits!

Now, The Cool Parts

Lock In With Mort

This topic you’d have to ask me about in person, many people would be offended by this and I mean no offense by it. The reality is many companies will continue to get and hire what they consider to be plug and play replaceable developers – AKA “mort”. This is really bad for developers, but great for Windows Azure. In addition Windows Azure provides an option to lock in. It is by no means the only option – because by nature a cloud platform and services will only lock you in if YOU allow yourself to be. But providing both ways, lock in or not, is a major boost for Windows Azure also. Hopefully, I’ll have a presentation in regards to this in the near future – or at least find a way to write it up so that it doesn’t come off as me being a mean person, because I honestly don’t intend that.

Deploy Anything, To The Platform

Have a platform to work with instead of starting purely at infrastructure is HUGE for most companies. Not all, but most companies would be¬†benefited¬†in a massive way to write to the Azure Platform instead of single instances like EC2. The reason boils down to this, Windows Azure abstracts out most of the networking, ops, and other management that a company has to do. Most companies have either zero, or very weak ops and admin capabilities. This fact in many companies will actually bring the (I hate saying this) TCO, or Total Cost of Ownership, down for companies building to the Windows Azure Platform vs. the others. Because really, the real cost in all of this is the human cost, not the services as they’re commodotized. Again though, this is for small non-web related businesses – as web companies need to have ops, capabilities, their people absolutely must understand and know how the underpinnings work. If routing, multi-tenancy, networking and other capabilities are to be used to their fullest extent, infrastructure needs to be abstracted but the infrastructure needs to be accessible. Windows Azure does a good deal of infrastructure, and it looks like there will be more available in the future. This will be when the platform actually becomes much more valuable for the web side of the world that demands control, network access, SEO, routing, multi-tenancy, and other options like this.

With the newer generation of developers and others coming out of colleges there is a great idea here and a very bad one. Many new generation developers, if they want web, are jumping right into Ruby on Rails. Microsoft isn’t even a blip on their radar, however there still manage to be thousands that give Microsoft .NET a look, and for them Windows Azure provides a lot of options, including Ruby on Rails, PHP, and more. Soon there will even be some honest to goodness node.js support. I even suspect that the node.js support will probably be some of the fastest performing node.js implementations around. At least, the potential is there for sure. This later group of individuals coming into the industry these days are who will drive the Windows Azure Platform to¬†achieve¬†what it can.

.NET, PHP, and Ruby on Rails Ecosystem (Note, I don’t support of the theft of this word, but I’ll jump on the “ecosystem” bandwagon, reluctantly)

Besides the simple idea that you can deploy any of these to an “instance” in other environments, Windows Azure (almost) makes every one of these a first class platform citizen. ¬†Drop the SDK in my advice, my STRONG advice, and go the RESTful services usage route. Once you do that you aren’t locked in, you can abstract for Windows Azure or any cloud, and you can utilize any of these framework stacks. This, technically, is HUGE to have these available at a platform level. AWS doesn’t offer that, Rackspace doesn’t even dream of it yet, OpenStack doesn’t enable it, and the list goes on. Windows Azure, that’s your option in this category.

The Other MASSIVE Coolness is not Core Windows Azure Features, but They Provide a HUGE Plus for Windows Azure

The add ons to SQL Server are HUGE for enterprises with BI Reporting, SQL Server Reporting, etc. These features are a no brainer for an enterprise. Yes, they provide immediate lock in. Yes, it doesn’t really matter for an enterprise. But here’s the saving grace for this lock in. With the Service Bus and Access Control you can use single sign on to use this and OTHER CLOUD SERVICES in a very secure and safe nature with your development. These two features alone, whether you use other Windows Azure Features or not, are worth using. Even with AWS, Rackspace, or one of the others. The Service Bus and Access Control actually add a lot of capabilities to any type of cloud architecture that comes in useful for enterprise environments, and is practically a requirement for on-premise and in cloud mixed environments (which it seems, almost all environments are).

Other major pluses that I like with Windows Azure includ:

  • Azure Marketplace¬†– Over time, and if marketed well, this could become a huge asset to companies big and small.
  • SQL Azure – SQL Azure is actually a pretty solid database offering for enterprises. Since a lot of Enterprises have already locked themselves into SQL Server, this is a great offering for those companies. However I’m mixed on its usage vs. lower priced mySQL usage, or others for that matter. It definitely adds to the overall Windows Azure Capabilities though, and as time moves forward and other features (such as SSIS, etc) are added to Azure this will become an even greater¬†differentiation.
  • Caching – Well, caching is just awesome isn’t it? I dig me some caching. ¬†This offering is great. It isn’t memCached or some of the others, but it is still a great offering, and again, one of those things that adds to the overall Windows Azure capabilities list. I look forward to Microsoft adding more and more capabilities to this feature. ¬†ūüôā
Summary
Windows Azure has grown and matured a lot over the time since its release from beta. It still however has some major negatives compared to more mature offerings. However, there is light at the end of the tunnel for those choosing the Windows Azure route, or those that are getting put into the Windows Azure route. Some of those things may even help leap ahead of some of the competition at some point. Microsoft is hard core in this game and they’re not letting down. If anyone has failed to notice, they still have one of the largest “war chests” on Earth to play in new games like this – even when they were initially ill prepared. I do see myself using Windows Azure in the future, maybe not extensively, but it’ll be there. And win a large share of the market or not, Microsoft putting this much money into the industry will push all ships forward in some way or another!

Big News on Day #3 of OS Bridge

Microsoft announced today that they’ll be supporting an effort to get Node.js working on Windows. Mary Foley picked it up quick, but also so did Node creator Ryan Dhal. This, being the explosion of support for Node.js, is excellent news. This further enables JavaScript for the whole stack, on any operating system stack. Getting a good solid, stable, and supported version on Windows will enable some serious performance on that platform. Up until the release of the support, Node.js is primarily limited to Windows via software called CYGWIN, which emulates (or runs on?) Windows and simulates a Unix/Linux Environment.

I’ll have more information regarding Node.js, Node Package Manager, and the whole suite of packages to get started with Node Development over the next couple of days. So stay tuned if you’re interested in getting started!