Why OpenStack matters to me

I’d like to start off with an apology to everyone out there that over the past 9 months if I didn’t reply to your email, didn’t answer your phone call, or made your life less interesting by disappearing from Twitter and from sharing my thoughts on this blog.  I’ll be out, alive and available again now that OpenStack is a reality.

Life is about priorities and hopefully at some point in your life you have already had or will have in the future an opportunity to work on something that has the ability to really make an impact.  At Rackspace we are a Strengths based organization.  My top 5 are Learner, Achiever, Competition, Analytical, and Focus.  I’ll use my strengths as a way to explain the past ~9 months.

When we started exploring the strategy around this all of us had lots to learn.  We’d all used open source software.  Some of us on the team had contributed to projects, but we all knew we had a lot to learn if we were going to get this right.  The great thing about open source, the full history of all of it is on the Internet.  You can go back and read mailing list archives, you can find out who contributed to a project, who led them, who had influence and you can reach out to those people and they’re often happy to talk about it.  This is very different from trying to do research on businesses where information is hard to find — no corporation will share their full mailing list archive that covers the history of their decision making (heck most don’t even have one).  The openness and ability to learn about things easily was a huge motivator for me.

So began the Learner->Analytical->Focus->Achiever “death spiral”, well the “death” of my learning anything not involved on this project that is.  The good news is those 4 strengths together make it so I really enjoy learning about new complex systems and figuring the best way to navigate, the bad news is the Focus->Achiever half may let me chase Alice all the way down the rabbit hole to Wonderland.  Sometimes this is counterproductive where a decision could have been made “good enough” with less analysis but in this case I’m really happy about it.  When forming an open source community you have a lot of choices to make and all of them have different benefits or drawbacks and the perception of is it a benefit or drawback varies from the perspective of the individual or group.

Forming this community is important enough to go all the way down the rabbit hole because thousands of people will become part of it and each potential member of the community is worth more than an hour of my time.  This gives me a good segway to talk about scale — If you’re only going to use a piece of software once to solve a single need then you should make it just good enough to get the job done — you should optimize for min(time coding + time for code to run[where you have to pay attention to it]).  The opposite end of the spectrum is a project like Linux (or like OpenStack will be — I dream big!) that runs on millions of machines 24/7 all around the globe.  If you can make an operation one minute faster on something that runs on a million machines you save 2 years worth of system time.  With that same idea we spent all the time we could making sure we got the community started the right way because every hour we spent will be multiplied by each of you that join it.

So now here is where my Competition kicks in.  I don’t want to make just an average community and then go watch reruns of “Everybody Loves Raymond” (Ray, hopefully you aren’t offended, you shouldn’t be, you were the first show that I know made it to rerun syndication that popped into my head!) on local TV — I want to make the best community ever.  The problem is… the bar is really high.. it isn’t like I said, “I want to make the biggest ball of rainbow yarn a person with a 9 letter long name made on a Tuesday afternoon” — I want to make the best open source community around a distribution of projects out there — and a lot of people have done an excellent job at this.  So to do this we’ve learned as much as we could from past projects to lay the proper foundation.  With that let me lay out the “4 opens” (I’d like to credit Rick Clark on our team for summarizing these thoughts into a concise and clear manner we can all hopefully understand)…

Open Source: We are committed to creating truly open source software that is usable and scalable. Truly open source software is not feature or performance limited and is not crippled. We will utilize the Apache Software License 2.0 making the code freely available to all. [Personal commentary: What this means is "we accept patches", the project won't block a feature contribution because it competes with a commercial feature a community member has.  This doesn't mean all of those commercial entities have to contribute all of their code -- it just means they aren't guaranteed exclusivity.]

Open Design: Every 6 months the development community will hold a design summit to gather requirements and write specifications for the upcoming release.  [Personal commentary: The design summits have been great (so far we've had 2) to get people aligned and to really get the complicated items solved.  An example on this is the large object support for Object Storage, members of the community had a number of different implementation ideas and through discussion we've come up with a great way to do it.]

Open Development: We will maintain a publicly available source code repository through the entire development process.  This will be hosted on Launchpad, the same community used by 100s of projects including the Ubuntu Linux distribution. [Personal commentary: Getting code and designs out in the open as early as possible in the process allows everyone to benefit from the power of a community in the biggest way possible.  This also makes finding and fixing big problems much easier as each patch can be tracked and its individual impact measured.]

Open Community: Our core goal is to produce a healthy, vibrant development and user community.  Most decisions will be made using a lazy consensus model.  All processes will be documented, open and transparent. [Personal commentary: Everyone should have a seat at the table at a level that corresponds to the effort and contributions they're putting into the project.  With all of the decision making done in IRC meetings (with transcripts) and over mailing lists members of the community can see "how the sausage was made" rather than just the end result of the decision -- this is really important to build and maintain trust.]

We’re off to a fun and exciting start.  Looking at the stats from this week I’m amazed at the amount of contribution we’re seeing from such a large group of developers (stats for the week of 12/3 to 12/9):

  • OpenStack Compute (NOVA) Data
    • 17 Active Reviews
    • 97 Active Branches – owned by 34 people & 4 teams
    • 472 commits by 26 people in last month
  • OpenStack Object Storage (SWIFT) Data
    • 5 Active Reviews
    • 41 Active Branches – owned by 19 people & 2 teams
    • 184 commits by 15 people in last month

This shows me what we’re doing is working and given the time to continue to grow and bloom OpenStack Compute can help IT make the move to automation the same way manufacturing has over the past 50 years.  Yes, I’m saying IT isn’t automated right now. IT automates other tasks inside the Enterprise but they haven’t really automated many of their own tasks (this probably deserves a full post of it’s own).

Object Storage is potentially more important even than the automation.  This is a topic I’ve been presenting on frequently because I’m very passionate about it (see the Strengths above) as it allows us to see an order of magnitude increase in efficiency over the TCO of “the average storage solution”.  It doesn’t serve every storage use case but the use case it does serve is growing rapidly and over the next decade it’ll be clear to everyone that their largest storage platform (in terms of GB stored) will be object based.

I expect we’ll see additional projects as part of OpenStack over the next year but we should keep that bar high as a community on what is a major project.  Both Compute and Object Storage are providing software for ubiquitous problems that are growing in importance to everyone.  Some items that clear the bar for me (these are critical issues to all users and operators of clouds a decade from now):

“Networking as a Service” — This should be abstracting from the end-point computing service as it can be utilized by all projects and to provide connection points to other inter-cloud and non-cloud services.  Here we can define, routing, switching, and filtering network devices and we can automate their integration with other cloud services.

“Inter-cloud Services” — As different clouds become available with varied services we need an automated way to discover and catalog them the same way routing protocols advertise network availability so we can have a loosely coupled global network (you may be familiar with it.. the Internet).  OpenStack is a great place to define a reference implementation of the directory and advertising capabilities as all interested parties can have a seat at the table to contribute their needs.

Some items I’m on the fence about (the reason I’m on the fence isn’t that they aren’t extremely important to some implementations, it is that they aren’t important to all implementations):

“Host Provisioning Automation” — For service providers that are constantly growing and re-provisioning assets automating these tasks is critical.  For a SMB that is going to build a 2-6 cabinet cloud solution once this isn’t nearly as important.

“Security & Compliance Services” — Everyone wants “some level” of security but what that level is and what amount of the resources that get dedicated to providing them varies widely.

“Network Block Storage Services” — As the performance and size of local storage continues to increase the need for network block storage decreases.  I’m still a big believer in the benefits here for many use cases; it just doesn’t apply for every use case.

I really believe 2011 our community has a chance to really deliver “the promise of cloud” to the masses through the efforts and commercial implementations created by the members of our community.  As exciting as getting things off the ground in 2010 I’m even more excited about the future to come.

Reinventing elementary education for the 21st century

I’ll come right out and give my theory up front and then explain why… We need to stop teaching young children “facts” and we need to start teaching them how to learn.  The only reason we teach young children “facts” is to shape their world view into what we want it to be while their minds are easily influenced because they haven’t learned logic, critical/deductive reasoning, and other associated fundamentals required to think independently.

Elementary education in the US is typically half “learning to learn” and half “learning facts”.  You can search and look through many online class schedules across the country and see this.  The “learning to learn” — reading, music, math, art make up part of the day.  The rest of the day — spelling, science, social studies, history is filled with teaching children “facts” and shaping their world view.  Even a fundamental like reading is focused on content over skills to increase speed and comprehension.  Almost none of the public schools offer foreign language even though a number of studies show significant benefits.

Is standardized testing to blame?  Perhaps as it is hard to test for the ability to learn especially in a multiple choice format.  Tests make sure you know “facts”.  Because of these tests and constant measuring we’re afraid to spend time building a foundation so children can learn faster as they age.  Linear progression is “safe” and teaching the ability to answer a question (often through memorization) is favored over teaching the understanding of how to figure out the answer.  Laws like the No Child Left Behind Act focus dollars on ensuring everyone can reach “average” rather than allowing most of the class to move at an accelerated pace (if the effort is spent on getting students below SD -1 to average 80%+ of the students in the class are effectively held back).

My call to action — get social studies and fact memorization science out of elementary schools.  Use social studies to stimulate debate allowing children to discuss issues and form their own opinions.  Use science as a chance to teach critical thinking and problem solving skills.  Resist the temptation to tell children what to believe — make them understand how to formulate an opinion.  This applies to math as well as social studies.  We typically wait until the second hear of high school to teach proofs in geometry.  One example is instead of having children memorize their times tables with no understanding as to why have them figure out multiplication as a better way to do some addition problems.

At some point it is important to learn facts — history, geography, etc. — but by waiting to teach these facts they can be learned in a fraction of the time.  You could spend an hour a day teaching a middle school child all of the facts they’d learn in 5 years of elementary school.  Stop wasting an hour a day on spelling, teach latin and children will learn to spell naturally.

Imagine the following schedule for your child instead of what they have today…

7:50-8:25: Arrival – Pledge, announcements, and a critical thinking logic problem we’ll discuss as a group.

8:25-9:00: Latin – Replace spelling memorization with fundamentals that enable good spelling and a foreign language

9:00-9:40: Math – Teach problem solving, proofs, word problems

9:40-10:50: Reading – Teach concepts to increase speed and comprehension

10:50-11:20: Lunch

11:30-12:00: Recess

12:10-12:40: Music  (M, W, F) / Art (Tu, Th) – Encourage creativity and original thinking

12:40-1:20: Science (M, W, F) / Social Studies (Tu, Th) – Lessons focused on problem solving and critical thinking

1:25-1:55: P.E. (M, W, F) / Library (Tu, Th) – Focus on teamwork and leadership skills

2:00: Dismissal

Our education system isn’t an abysmal train wreck like some people will scream.  It does a good job but it could be better.  Like compound interest builds wealth over time a 10% increase annually in the amount of learning a child does  more than doubles the amount they learn by the time they graduate from high school.  Also by continuing to teach kids how to learn you’ll lower drop out rates — at some point when a child falls too far behind in memorizing facts they give up or start to cheat to fake their way until they reach 16 (or 18, whatever the minimum age in your state) and can stop going.

Local papers die first, local radio to follow

The local paper is coming to an end...

The local paper is coming to an end...

The Internet and the plethora of news sources it contains gives you better and more timely information than reading your local paper.  “The paper” still had a chance when we could only use “The Internet” on big fixed location desktop computers.  Now that I can read the WSJ content on a mobile application on my BlackBerry I no longer need to have “a paper” if I’m out and want access to news.  It isn’t just about the better content on the Internet, it is about ease of consumption of that content as well.  What we all see happening right now to the newspapers will hit radio next.

This is where Pandora comes in to threaten local FM music radio.  I’ve recently acquired a new car that happens to have an AUX jack.  With that AUX jack I can hook up my  BlackBerry Bold with Pandora and play music, music relevant to me, music without commercials (I’m sure this will change over time), and it is easy to use.  As smartphones continue their proliferation and cars with AUX jacks (thank you Apple for the iPod success and it pushing automakers to add AUX jacks) do the same we’ll see more and more people doing what I’m doing now — listening to Internet streamed radio in their car for free.

This not only kills off local radio, it nukes satellite radio long before the local radio dies.  My new car came with a free 6 month Sirius/XM subscription and I’m not even going to activate it.  I’m a fan of the concept and I was actually an early subscriber to XM during my days commuting in the Bay Area during “the bubble”.  Sirius/XM is doing the right thing in coming out with smartphone based applications to consume their service.  This not only lowers their customer acquisition costs (I suspect they had to subsidize the hardware deployment in autos) but increases the ease in which I can use their offering.  They need to get all of their content over to the smartphone version yesterday and they need to start pushing this as their primary marketing effort.

Clear Channel, owner of over 1,200 local radio stations, is another player in the mix — and probably the player with the most to lose.  They’re experimenting in the smartphone space with iheartradio that currently supports both BlackBerry and iPhone with content from over 350 of their stations.  I haven’t tried this out yet personally so after I do I’ll come back and add more detailed thoughts.

Olympic golf: skill games + tournament = spectacle

August 13th, 2009 the Olympics made their best decision so far this century, adding golf as a sport in 2016.  The PGA Tour needs to work with the IOC so golf can go for two full weeks of the games, here’s why….

We watch the players week in and week out play in stroke play tournaments.  Sometimes they play match play now thanks to the WGC, and every once in a while they have a team event with the President’s Cup and Ryder Cups.  The Olympics has the opportunity to outshine all of these.

Here is my proposed schedule which I’ll follow by event descriptions:

long_drive

Don't just have another stroke play tournament

Day 1 – Skill games qualifying round

Day 2 – Match play event practice round

Day 3 – Match play event seeding round

Day 4-7  – Match play medal tournament

Day 8 – Rest day

Day 9 – Skill games medal round

Day 10 – Stroke play event practice round

Day 11-14 – Stroke play medal tournament

For the skill games this will allow a much more wide variety of people to participate.  The qualifying rounds will be used to narrow the field down to the top 16 so you can make a good hour long TV event from the medal round of each.  Skill events descriptions:

Long Drive: This is pretty clear, many of you have probably seen the Long Drivers of America on ESPN, under the lights — with a gold medal on the line the finals will be epic.

Putting Challenge: We’ve all done this with our buddies out on the practice green, play “18 holes” of par 2.  Cities build huge stadiums for the Olympics, the golf course they’re holding it at can build “the best practice green ever” with plateaus, ridges, bowls, and more.

Sand Saves: Tee off from 18 different bunkers around a green, up to 60 yards out, play each as a par 3 which should lead to very low scores (if you did it as a par 2 the scores would be high and that isn’t as good for the viewership).  You can use the tournament course for this as each hole should have a fitting bunker.

Pin Seeker: Varied approach shots into flags on the driving range up to ~220 yards out.  The score for this event is measured in total feet from the pin to where the first shot comes to rest.

For the match play tournament you play a seeding round of stroke play where the top 16 qualify to play in the match play tournament.  This will be a high drama day even though a medal isn’t on the line — much like tournament week leading up to March Madness.  With the cut to 16 you can have 4 days of 18 holes going 16->8, 8->4, 4->2, and then on the final day 1 vs. 2 and 3 vs. 4.

For the stroke play tournament let all of the players from each country participate, cut the field in half (or within 10 strokes of the lead) after two rounds are complete.  This can have some added drama because we’ll also have “overall team medals” so we’ll need a point system for finishing positions in each event and with the stroke play tournament going last even if a player isn’t in position to medal in it, they may be in position to score enough points giving their team an overall medal.

To promote diversity each country should only be able to enter 3 players per event.  Yes, some countries will be leaving better players at home than others will enter but if those other countries don’t get to have an Olympic golfer how will that country ever get the “golf bug”?  This already happens in spots like swimming where each country can only enter their top 2 per event even if their 3rd player is the 3rd fastest in the world.

If they add golf, invite the normal field, play a normal stroke play event I won’t be watching.  Not because it doesn’t have the potential to be a great event but because it won’t have a chance of being what they could make it.

Exercise to “live longer” but not too much or you “live less”

“So much to do, so little time”, was once said by the very intelligent Willy Wonka.  Each day we wake up and have to prioritize what we do — life throws a nearly infinite set of options at us.  Because of this many people spend some of their time exercising so they can “have more time” by living longer to have the opportunity to do the things they’ve always wanted to do.

We all have to spend some time sleeping and eating — average of around 9 hours each day.  This takes our 168 hour long week and cuts it down to 105.  Now we have to commute to work taking away another 4 hours leaving 101.  The BLS breaks down a number of things we spend time on, working, leisure activites, childcare, etc.  Now that we’ve gone to work, taken care of our kids, and picked up around the house we have gone through another 57 hours of our week leaving 44.

Now we’re down to 44 hours on average, if you commute more than 46 minutes a day or work more than 7.9 hours you’ll have less — if you don’t have kids or you have some help to pickup around the house you’ll have more.  I’ll continue to talk about the averages.  Those 44 hours have to fit all of your leisure activities — any hobbies, reading the newspaper or your favorite blog, watching television, or exercising.

This could be you...

This could be you...

Fourty-four hours may sound like a lot but it goes quickly and here is where the exercise comes in.  I’m suggesting you figure out how to do it in 15-30 minutes a day including the “start and stop” time of going to the gym and cleaning up afterwards — this means you probably need to figure out a way to workout at home.  If you’re going to workout five days a week packing a gym bag, going to a gym, changing, taking a class (spin, step, yoga, pilates, etc.) doing weights, showering, changing, and heading home this can easily take 2 hours if not more.

Those 10 hours are 23% of your “flex” time.  Unless exercise is a hobby that you get enjoyment from you’re committing too much time “just trying to live longer”.  I understand that “quality of life” is important and having a moderate level of fitness can help that as well.  With regard to length, most studies show that ones you reach the “healthy” zone of fitness your life isn’t significantly extended by being in “perfect” shape.  The “healthy” level can be achieved in an hour a week, only 2.3% of your “flex time” by working out at home

Those exercise hours add up, over a 40 year period at 10 hours a week you’ll spend 20,800 hours exercising, that is 2.4 years of time so even if that exercise extends your life by 3 years (a number that seems to come up in many studies) you’re really only gaining a few months of “flex time” and you’re getting those at the end at the cost of having them available throughtout your life.

Will Technorati bring visitors?

Now that I have a somewhat decent amount of content I’m fiddling around with getting the site indexed by more sources. Right now almost all of my traffic comes from Twitter through the initial posts of the topics.

So Technorati I’m claiming this blog: 3s4h7akv62

Now we’ll see if you bring any visitors! I’ll share updates after a month or two of trying to find new ways to bring traffic to the site.

Cloud computing makes “blacklists” obsolete, now is the time for “digital identities”

A common security technique is to classify attackers by IP addresses or reverse DNS lookup and blacklist the bad ones.  This technique has been falling in popularity with the increased usage of DHCP and NAT for Internet access and cloud computing will be its death knell.

Cloud computing allows attackers to rapidly switch IP addresses for as low as $0.015 per switch or per hour of using the address.  Right now only a few clouds exist so it isn’t quite the wild west yet but over the next 2-5 years we’ll see the thousands of dedicated hosting providers all switching to offer cloud services.

So what this means to the IT security world is you have some time to think about this and get it right using the few clouds out there now.  “Getting it right” may require more than just individual enterprises coming up with a way to solve it for them.  We really need to get together as an Internet community and discuss this in the broader scope of entity identification.  I use the term “entity” because we need a way to identify systems and individual users.

We're going to digital ID, the train is leaving the station

Identity and access management has always been viewed as an enterprise or site specific issue — this needs to change.  The recent Twitter hack is an example of how out of control identity and access management has become.  Understanding and documenting all of the application interactions around identity management in an enterprise is something few if any have a firm grasp on.  We’ve finally reached the point that implementing an Internet wide “digital identity” with a centralized identity and access management architecture similar to the domain registration/SSL certificate heirarchy.

OAuth and OpenID are a good place to start the discussion as they have the proper frameworks but they lack a centrally managed authority or list of authorities to manage identification and authentication.  Major “trust” providers on the Internet need to get together and solve this: VeriSign, Google, Microsoft, Ebay/Paypal, Banks, and major Internet Service Providers (AT&T, Verizon, Comcast, Cox, Time Warner, etc.).

Major Web 2.0 players have large directories of people but they don’t have a real trust relationship — just because you have a Myspace/Facebook/Twitter account doesn’t mean I should trust the e-mail you send me but if Chase Bank says you have a bank account with them and you’re sending me an e-mail I’m much more likely to trust it.  With the appropriate identity management if you’re sending spam I can flag that and Chase will tie it to your “digital identity” which is tied to your “real identiy” provided when you created that bank account.  It will be much more difficult to create new identities than it is today and we’ll see a significant decrease in “wild wild west” type behavior on the Internet.

The secondary benefit is consumers will also start to take security more seriously as they won’t want to waste time getting the “spammer” flag removed from their digital identity because their system was hacked (similar to disputing things on your credit report if the system works out properly).  They’ll also prioritize security in their buying decisions forcing system vendors to take it more seriously.

A tertiary benefit will be a reduction in misleading activities that lead to horrible events like the Myspace teen suicide because people won’t create fake identities to hide behind.  Some may say this is part of the “fun” of the Internet as it allows them to escape from their day to day lives.  That type of fun isn’t good for both parties involved — typically part of the fun is misleading other people such as the recent case of the lady that pretended to be a 15 year old kid with cancer.  “Fake identity” activities like this should be restricted to a place like Second Life where everyone knows people are pretending.

As private industry and a world society I hope we can take care of this ourselves before it gets so out of control Congress tries to figure out how to do it and we end up with some horrible mess of a “National ID and Digital Identity Act” that looks at it only from the perspective of the USA and makes it very difficult for non-US citizens to do anything online (as most of the major Internet properties are US based) creating a whole new barrier for 3rd world citizens to overcome.

Why another blog?

I’ve started using Twitter this year to share random thoughts with people that seem to be interested.  Some of those thoughts are really difficult to pack into 140 characters and I refuse to be the tweet spamming type that send 15 messages to share a larger thought.  That led me to this…a blog…topics you’ll end up seeing here in no particular order…

Investing

Personal Finance

Real Estate

Technology

Politics

Religion

This isn’t intended as a news feed, the blog posts will be opinion pieces.  The opinion pieces will be G rated and I expect the comments to follow that.