Showing posts with label windows azure. Show all posts

Azure forming a cloud: Ask Why, What, Where, When, and How

Join me at the kick-off lunch event of the Azure in the Cloud user group on Thursday, March 3rd at Microsoft in Irving. Register at http://azureinthecloud.blogspot.com/ or  https://www.clicktoattend.com/invitation.aspx?code=153957

It will be a great introduction to Azure; and even if you are quite experienced, my hope is that you will find it interesting and inspiring.


.
Join us for our
Kick-off Lunch Event


Date:
Time:

Location:
Thursday, March 3, 2011
11:30am – 1:30pm
Lunch will be provided
Microsoft Office, Irving - Visual Basic 4060 Conf. Room

 

Register Today! Click Here





Azure Forming a Cloud: Ask Why, What, Where, When, and How
   By Greg Cowin


Be a part of the premier User Group featuring Windows Azure.

Come for lunch and meet with others as we seek to:
+ Understand Windows Azure as it evolves
+ Share techniques, patterns, trends, and practices
+ Connect with people that have a cloud strategy






Top 3 reasons why cloud computing is unstoppable

In my view, here are the top 3 reasons why cloud computing is unstoppable:

1. Business Continuity
2. Operational Agility
3. Cost


Business Continuity
Business continuity is about ensuring that critical business functions can continue smoothly not only in the event of disaster, but other events such as acquisitions, moves, bankruptcies, getting a large customer, loss of key personnel, loss of a large customer, etc. All can cause havoc on business continuity. These events are critically important to business stakeholders—the people ultimately in charge of how IT money is spent.

Today, the pace of business change is significant: new product offerings, uptakes, downturns, acquisitions, geographic expansion, moves, exponential growth, spikes, campaigns, etc.

Imagine a scenario: you acquire a company with a mess of servers, network, cabling, and software installs. It takes time to move these systems and components into a parent company—many times failing completely. The desire of the parent company is to incorporate the acquisitions and hit the gas pedal, but it is often slow and affects business continuity.

Some companies are financed in hopes of being acquired as an exit strategy, but the back end simply is not structured for it. You could be a lot more desirable to be acquired if you have standard deployments in the cloud.

Imagine that you are a small to medium-sized business and your biggest customer, a Fortune 50 company, wants to use your solution for their entire company. In this kind of deal, a software escrow agreement will not be enough; they will want your solution to be in the cloud. So that in the event that your company goes under, they can just take ownership. They acquire this virtual property as opposed to trying to figure out a mess of software and hardware that is hard-coded to a particular location with odd configuration and deployment.

The cloud, particularly Platform as a Service (PaaS), provides key mechanisms to help with business continuity: elasticity, redundancy, standard deployments, etc. You are protected against disaster, able to scale up or down within minutes, not weeks, months, or years. The standardized deployments are easily understood and can be smoothly transitioned to a new team—not a mess of custom scripts, installs, and manual error-prone magic.

For example, Windows Azure provides triple redundancy of the Azure Storage and SQL Azure. It keeps three synchronized copies. This is often never done even for critical systems because of the complexity and expense of having redundant data centers. Azure maintains three copies of your data and can failover to another geographic location. It is built into their Cloud OS—really the fabric of the cloud.

In my view, the killer benefit of cloud computing is business continuity.

Operational Agility
Especially with Platform as a Service (PaaS) such as with Microsoft Azure, operation agility is achieved by providing an architecture that can easily scale horizontally. You can dynamically allocate these containers of services up or down. You can be much more efficient with just the capacity that you need with a pay-for-use model.

If you are deploying on virtual machines or physical machines, you must plan for peak capacity. Planning for peak capacity can be manageable if your load is consistent, but is usually a challenge. Ideally, you plan for an efficient amount of over capacity. This can be very difficult—impossible to estimate. Often times driven by fear, systems are dramatically over deployed—not efficiently over deployed.

This kind of operational agility will change business models. My understanding is that Pixar has recently deployed RenderMan into the cloud and is able to burst it when needed to make a movie and make it available as a service to smaller studios.

The ability to burst out to 1000's of computing containers then back to zero will create new business opportunities—even for the little guys.

Cost
It is easy to spend 1/2 million bucks on a few servers, SANs, load balancers, network equipment, racks. Make it redundant and then double that along with your provider rates. It is a big capital expenditure and it will still have to wait weeks until it is ready to be used and much longer for complex issues to be resolved.

With the cloud, it is a pay-for-use model without the huge upfront capital expenditures. You can leverage economies of scale and best practices. Microsoft has invested 8 billion in their cloud initiative. Based on a platform briefing that I attended at Microsoft, they are buying 1 out of 4 servers in the US and 1 out of 3 servers world-wide. How can you compete with this economy of scale.

The starting retail price for Windows Azure currently costs 5 cents per computing hour. Everyone that I have dealt with has a 70%+ savings in total cost of ownership. It is significant.

Closing
Manufacturing companies used to maintain their own power plants in the early days of the industrial revolution, now, everyone uses and trusts power as a utility. In my view, Windows Azure is far closer to utility computing than any other cloud provider. You do not have to maintain the stack. It provides elasticity of demand. You have a utility of computing and storage containers.

The same will be true for industrial computing, it will take a while, but it will happen. Don't wait too long, because someday you might have a 30% cut in your IT budget and it will hurt because you will be upside down.

I have been working with Microsoft Azure. Microsoft Azure has all three. In my view, Microsoft is the clear leader in cloud computing or more broadly, IT as a Service that includes SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service). Microsoft is "all-in" with the cloud.

Does your environment provide you with all three?

Let me know what you think about the key benefits of cloud computing.

What kills great design?

The killer is complexity. Complexity kills design, projects, products, and companies. Many teams struggle to produce version 1.0 of a product. Other teams can produce version 1.0, but within a few versions, the product is stuck in a quagmire of complexity—unable to move the product in a strategic direction.

Managers and stakeholders see it in the form of rising issues and inability to do anything new. Meanwhile, more distance is created between what you are and what you want to be.

Complexity is the true enemy for companies, teams, and developers.

How can you fight it?

1. Don't hire complexifiers: On the surface, they seem smart because they point out every possible thing that could go wrong or that you might have to worry about someday; with it comes a load of conceptual weight; complexifiers are people that create over-abstracted designs and make everything too complicated. Like a tick, once they have dug-in, they are difficult to get rid of because they have produced a pile of code that is not understood or modified easily. One way to identify complexifiers is that they tend to write a lot of defensive and complex code with no test cases.

2. Use simple design and embrace change: Always strive for simply design and use automated test cases to embrace change. Do not overdesign. You can't predict the future so be ready to change when the future changes—seems inevitable. The idea is easy: to change a simple design should be simple and you will be able to have trust in the system because you have a suite of automated tests to validate change. Reduce conceptual weight.

Be agile not just in development but also operationally. Windows Azure provides the best operational agility that I have seen so far.

3. Be a champion for simplicity: Do not add stupid features and do not let others kill your product. Don’t listen to your lizard brain.

The best weapon against our common enemy, complexity, is simplicity. It is a powerful form of Kung Fu.

One last thing: complexity even kills people: http://www.amazon.com/Fatal-Defect-Chasing-Killer-Computer/