Building For The New Generation Of Users

by 23. November 2009 19:19


I’ve recently been reading a few articles about the future of application development and IT infrastructure management.  I believe that one of the main issues that face most IT pros is that we get caught up in the buzz word factory.  Today’s latest: Cloud computing, Web 3.0, etc.  What we fail to realize when we speak about the future of our architecture is the changing dynamic of our end users.

We, as a profession, need to realize that the end user is really what keeps us working.  It used to be that the goal of any application was to cater to the least common denominator, the weakest user.  If we could get that person to be productive and make less mistakes while using the software we wrote, then it was a success.  I believe that the paradigm has shifted.

I attend meetings every day where a user has created an application using Excel or Access.  Typically these applications have a degree of sophistication that amazes me given the lack of formal training and IT processes.  I’ve come to realize that most of the folks that work on these have ‘grown up’ in a technology enabled life.  I’m not just talking about 20 something's here.  The level of sophistication spans all generations.  For example, my father called me the other day to inform me that he updated his weather station so that it automatically FTP’s data to his website.  We are talking about a guy who no less than five years ago would ask me how to configure his email account. 

As a technologists we need to start thinking about embracing this trend.  We need to stop thinking about the lowest common denominator and begin thinking about how to enable users to ‘mash up’ or create their own technology solutions.  We can see this trend in BI trends. Analytic capabilities are being pushed to the end user.  No longer is a static report acceptable.  Users need and want the ability to drill through data, create their own reports and share with their peers.

Perhaps we, as technologists, need to re-explore the promise of SOA.  Not as core architecture, but a way for end users to plug-in, utilize the centralized logic and resources so they can leverage tools to make applications that work for them.

My advice for IT pros and lowest common denominator of users is the same: Adapt, or become obsolete.

New Technology to Check Out

by 24. July 2009 10:14

 

The last few weeks I’ve used two new technology offerings that I thought were just fantastic.  Here are my reviews:

Google Voice 

I received an invitation to beta test the new Google Voice feature about a week ago.  Basically Google voice provides you with a phone number, a local one at that, that you use to hook all your phones up to.  When someone calls this number you can configure your settings to ring your cell, work and home phone.  Setup was a breeze!

Additional features include VM notifications via text message, gmail, etc.  They also let you call out using the phone number.  You select a contact, click call.  The service first calls your cell, then calls the other party.  Very cool.  However, my favorite feature is the voice to text.  I’m not sure about you but I hate listening to VM’s.  I can scan an email a lot faster than I can listen to a complete VM.

There is some room for improvement.  The voice to text is sketchy at best.  I found that during some limited testing  the VM to text missed more than it got correct.  The other thing I didn’t like was the fact that when someone first calls you (read the first time) from a number the service asks for the callers name.  A few people I had test the service found this annoying at best.

I’m looking forward to more testing…

 

Verizon Fios

The other offering is from Verizon Fios.  Verizon just release a new set of ‘widgets’ available via its Fios TV service.  They added widgets for Twitter and Facebook along with a few others.  I was a bit skeptical at first.  I mean how easy could surfing your Facebook be using a remote?  To my surprise Verizon’s developers made it easy and intuitive. 

Now for the really cool thing.  Verizon is taking applications to develop widgets for its service.  I’ve signed up and will post again when I get the SDK!

Hosting Options For Your New Application

by 23. April 2009 18:16


You’ve done it.  You’ve successfully created a new application and now you need to find a home for it.  There are plenty of hosting options out there.  Most at ridiculously low prices.  I’ve had great hosting experiences as well as some serious nightmares over the last 10 plus years.  Before deploying your ‘new hottest thing to hit the internet’ here are some things to consider and some options.

First and foremost I feel I should fully disclose my position on hosting.  I used to own a small hosting company from 2000 –2002.  I currently rent several servers at The Planet.  I have no financial stake in the hosting companies profiled in this article.

Now that we are clear let’s go through your hosting options.  You basically have the choice of the following:

  1. Host it at your place
  2. Shared Hosting
  3. Virtual Hosting
  4. Dedicated Server
  5. Cloud Hosting

Hosting it at your place

Basically you setup a machine at your house and host your application.  Ideally you have a static IP from your service provider with appropriate bandwidth.  Typically this is a business line.

Pros:

It’s at your place!  You have ultimate control and can scale just as easy as adding more memory, more machines, etc

Cons:

You only have one connection to the internet.  If it goes out your application goes down.  Your connection is the single point of failure.  Your also the sole provider of security.  You have to manage everything.  Perhaps the most important variable, Power!  A big storm rolls through and knocks out your power, your application goes down.  I once had a service provider change my static IP’s with out notification!

Shared Hosting

Shared hosting means that basically you share a small amount of resources with a ton of other people.  Some providers have strict guidelines about how many people they’ll pack on one machine.  Most don’t.  Because the more people they pack onto a machine, the more they make.

Pros:

It’s cheap.  I mean really cheap. I’ve seen it everywhere from free to $20+ a month.  It’s a great way to start out.  Additionally many companies will give you free email, site builders, etc.

Cons:

You’re at the mercy of the hosting company.  If another person on your machine writes bad code your application will be impacted.  Also there is no root or term serve access.  So implementing jobs or security tweaks are tough.  Typically you share an IP with all the people on the server.  So if you’re attempting to do some things in your code dealing with headers this might be difficult.

Virtual Hosting

Virtual hosting is a virtual server (Think VM Ware).  Similar to shared hosting except that they give you root or term server access.  You still share a single machines resources.

Pros:

It’s basically your own server.  Typically they give you root access (to your virtual machine).  This is really great if you want to do more than just host a website or install other software or services (Email, etc).

Cons:

You are still sharing a machine.  Many places will guarantee you allocations of memory or processor, but you can still be impacted by other users.

Dedicated Server

Basically you rent a server from The Planet or places like Go Daddy.  I’m biased and run enough sites and apps that I always use this option.

Cons:

It’s typically more expensive.  Overages on bandwidth can be expensive.  Adding additional services such as backups and firewalls can really add to the monthly cost.

Pros:

It’s your server to use as you want. 

Cloud Hosting

This is a new offering.  Amazon, Microsoft, and a host of other companies are in the space.

Cons:

It’s probably the most expensive of the hosting options.  It’s a new offering and portability is an issue.  No one has a standard yet.

Pros:

It’s the easiest to scale.  You can typically add servers (or resources) by simply tweaking a configuration file.

There are a lot of options out there but as I stated before I’m a huge fan of dedicated hosting.  If you run multiple sites or services it’s the best option.  You can typically find a good deal if you keep your eye out.  I often check The Planets bargain bin for deals.

Microsoft’s Private Cloud Strategy?

by 13. February 2009 18:02

 

Today I was speaking with some co-workers about the various Cloud players out there.  Specifically we were talking about Microsoft's Azure service vs. other offerings like Amazon.  Amazon will actually give you full control over a virtual OS like Microsoft Server 2008 or Linux.  Essentially a VM.  Where as Microsoft’s offering requires you to code against an API to take advantage of its architecture.   The initial gut reaction to Microsoft’s implementation is why in the world would someone spend the time to specifically build an application to fit Microsoft’s Cloud?   You could just as easily make a VM and upload it to Amazon’s service?  Microsoft could easily implement the same with their Hyper-V virtualization technology.

Let’s assume for a second that Microsoft is looking beyond the public cloud.  Now this starts to make sense.  At the enterprise level there has to be some reservations about opening up applications to the public cloud.  I work in Healthcare and there is no way I could go to the CIO with a straight face and say that it’s a good idea to put all of our applications and data in the public cloud.  I imagine it’s much the same for banking, government, etc, etc. 

So let’s now look at what could be Microsoft’s strategy in terms of a private cloud.  Setup a cluster of Windows Servers, SQL Servers, and some cloud management servers and now you have a private cloud.  To deploy additional application resources you don’t need to spin up a new VM or physical box that needs to be named, patched, copied, assigned an IP or managed.  Your Production Support staff or automated system simply scales the application.  Additionally, license management for these resources is already taken care of at the cluster level.  How about licensing around CPU usage?  Now when your web apps run heavy between 9am and 8 pm they automatically scale out.  At night they are reduced.  SQL processes that run at night then scale up.  Disaster planning becomes a breeze.  Your large machines with tons of memory and cores should be fully utilized, not sitting idle eating up electricity and cooling resources.  It’s a great scenario, the OS and infrastructure are completely abstracted from the applications.  Now building applications that use the API make complete sense.

Microsoft swears that this will never happen.  Their current position is that Azure should be another ‘choice’ and should never be implemented at the clients site.  I would argue that there might be a high demand for it.  Enterprise application providers will eventually demand it.  I think Microsoft has an opportunity to introduce a real game changer in Enterprise Architecture because if they don’t, someone else will.

As an Enterprise Architect, would you ever be interested in a private cloud, or would you always use the public cloud?

Categories: Cloud | Microsoft

Windows Azure: Into the Cloud

by 23. January 2009 08:55

First Look

I finally had the time to site down and take a look at Microsoft’s Cloud platform Azure.  Initially when I first received my ‘Tokens’ I logged on to the site and was intimidated.  I would say it’s a little less then straight forward.  Tonight I actually took the time to look up some tutorials and read up on the offering.  So here you go My first application in the Cloud.  Not much to look at, but it was relatively simple to create a basic web application and deploy.

I’m still viewing and learning about the ‘Storage’ concept.   Stay tuned, I’m sure I’ll have a ‘Hello Cloud….I pulled [Insert Random Data here…] from the Cloud storage’.  Speaking of storage, one of the tutorials I was watching talked about state, and how Azure handles it.  My impression was that it’s very much like a state service you might create while building any old web farm. 

Improvements

Microsoft clearly needs to brand Azure a little better.  You have several choices of solutions, but nothing is clear as to what those services include, or their capabilities.  Additionally these services are not ‘hobbyist’ friendly.  I’m not sure they are even meant to be.  Perhaps they are marketing this to the Enterprise, but all their literature points to ‘If you have a startup or an idea…’.  The problem is, at least in the CPT, you have to build (read: plan) to use these services up front.  And converting from using straight ADO providers, or even the more recent MVC is not easy. Amazon offers a virtual Windows machine with Remote Desktop capabilities.  Much easier to use and port apps if you’re really looking for quick scalability.

Price

Microsoft’s position on pricing will be key to making inroads in this space.  I imagine eventually they’ll move to an OS agnostic capability so price will be the deciding factor.  If you know of any good price comparisons between the cloud providers  let me know!

Tags:
Categories: Cloud | Microsoft | Software