Month: May 2011

  • The Presentation That Changed How I Think About Tech Ops

    [blip.tv http://blip.tv/play/AYGMoH8C]

    I started my career in teleco, so I learned a very old school style of managing tech ops. 99.999% availability, planned everything, control-room style networks, etc. 10-levels of permissions & sign-offs to change anything. So imagine me, coming from this world, building a new tech ops stack and processes, and I stumbled across the above presentation from John Allspaw at Velocity. The idea of doing 10+ deploys/day, coming from a world of big releases and maintenance windows, completely blew my mind away. This presentation and ideology has morphed into what is now known as “devops”, which I think is really the only way for a startup to operate their service.

    Stumbling around the internet back in the founding days, I found some other tech ops resources & people that helped me a lot in changing my view.

    @netik – John Adams who heads up ops at Twitter. He presents often and you can find a lot of his materials on how Twitter handles tech ops topics. This is one of his more recent presentations: http://www.ritholtz.com/blog/2011/05/twitter-ops-clouds-scale/. (I’m amazed that Twitter continues to rely on MySQL as its backbone (so do we at Peek, but obviously at a fraction of their scale))

    http://codeascraft.etsy.com/ – Etsy’s notes on deploying and engineering, note that John Allspaw is now at Etsy. Their one-click deployinator tool is intriguing.

    @vvuksan – Vladimir has a great blog http://vuksan.com/blog/ with dense information, especially around gathering data and stats.

    @cgoldberg – Corey Goldberg has generated a ton of tools for performance testing and understanding the capabilities of your software.

    On top of a lot of the information provided above, I’d suggest a few other practices for your initial tech ops infrastructure.

    Decouple from your hosting provider

    You should only ever require an instance (virtual or physical) + a base OS build from your hosting provider. If you depend on them for more, you make it difficult to switch providers. So if they have an embarrassing outage, you won’t be able to do anything about it. To be more specific in Amazon this means you should always use “raw” AMIs, such as the Canonical Ubuntu AMIs, and then add on the software you need via Puppet, Chef, and your favourite config & deploy tools. If you did this, it would have meant launching a new server in RackSpace would have taken about 20 minutes, and you would have avoided the whole Amazon outage.

    Favour tools, automation & culture over process & documentation

    Personally, I think wikis are bad, nobody reads them (or remembers logins to them). With the time you could write a procedure in a wiki, you could have probably built a ruby or bash script that did whatever you were explaining. So if you install apache or ejabberd or something, don’t take notes on installation, setup a script in Chef or Puppet, so next time it takes 2 minutes to setup. Everything should be one click/command tools or scripts.

    Own your own hardware brother

    At some point Amazon and the cloud will stop making sense. This post called Petabytes on a Budget does a great job on outlining why that is the case. Eventually with enough scale, the cost of expertise < cost of cloud.

    One last note, a pitch for a product I rely on a lot. If you need an app to wake you up late at night in your tech ops world when things go wrong, I'd take a look at Toronto's own PagerDuty.com. We used them to replace a $2500/month service we had with a $50/month service Pagerduty offers. (I have no connection to them other than liking their product)

    I’d love to hear some thoughts from others on how they run their infrastructure.

  • Entrepreneurship as a career path

    F1 in SchoolsI am a huge F1 racing fan. And I was impressed to see a group of Ontario high school students participating in F1 in Schools at the Ontario Science Centre. It is an amazing concentrated effort to bring together partners and create an educational program for the succession of the people that keep Formula 1 teams building new innovations (that in turn inthrall an audience). The program is a multi-disciplinary challenge for students aged 9 to 19 years to design, build and race gas powered balsa wood F1 cars. What a great opportunity to build the next generation of engineers and designers that are interested in 3-D manufacturing, CAD/CAM, computational fluid dynamics, aerodynamics, engineering, etc. It provides a training ground to ensure that Formula 1 teams have an educated talent pool with practical experience and excitement.

    It has started me wondering about the role we play in exciting the next generation of entrepreneurs. I remember reading that career choices are made by Grade 11 (source needed, I think it was in discussion around STEM careers and girls in IT from the Microsoft DigiGirlz program however I  am not able to find the reference). Much of the work and research seems focused on increasing the number of girls that choose Science, Technology, Engineering, and Mathematics.

    In the US there is the work of the Kauffman Foundation that supports entrepreneurship through education, training, policy development and other activities.

    “The Kauffman Foundation is working to further understand the phenomenon of entrepreneurship, to advance entrepreneurship education and training efforts, to promote entrepreneurship-friendly policies, and to better facilitate the commercialization of new technologies by entrepreneurs and others, which have great promise for improving the economic welfare of our nation.”

    I really like how the Kauffman Foundation has divided up their Entrepreneurship Track: Youth Entrepreneurship; Minority Entrepreneurship; Higher Education; Capital, Markets and Economics; Knowledge, Training and Networks and Global Entrepreneurship. This division allows for the creation of programs, grants and offerings that support different strategic needs of each group.

    Communitech

    I am really impressed with the efforts of the team at Communitech. They are doing a great job building the programs, partnerships, and policy work that supports the efforts of Waterloo Region. They have identified the gap left by many of the University focused programs like UW Velocity and Impact, by building and supporting the activities to attract and engage students before they make their post secondary decision. Communitech delivers programs like:

    It is great to see that Waterloo Region really has an institution that is dedicated to supporting technology companies and startups. And is developing the necessary programs to interest kids in making STEM education and career choices. It shouldn’t be a surprise given that UWaterloo has a pioneered cooperative education program that revolutionizes the career experiences available to students.

    There are other programs available that typically focus on post-secondary students We have programs like the:

    I wonder who outside of Communitech (and maybe BCIC on the west coast) working on programs that support the development of entrepreneurship careers. Are there good global examples of entrepreneurship education and engagement for middle school or high school kids? Where can find other examples of what is working?

    Some rights reserved Photo by Terriko
    AttributionNoncommercialShare Alike Some rights reserved by Terriko

    What programs can startups take advantage to find talent possibly with subsidies (yeah I can’t believe I’m saying that) to help develop the next generation of founders. The Government of Canada – Canada Business has a list of Grants, Contributions & Financial Assistance that is a great starting point for getting access.

    What would be beneficial to startups is an agency that actively matches students and funding programs with my current business needs and stage of corporate development. Rather than relying on me to change my focus from product development, customer development, sales and marketing to educational program participation. It would be great if there was an member-driven organization like Communitech that was focused on making these programs accessible to me.

    Maker Faire

    I want to see programs like Maker Faire (check out the mini-Maker Faire on May 7-8, 2011), Ace Canada Student Entrepreneur Competition, Ivey Business Plan Competition, Moot Corporation, Extreme University, etc. The hard part is how to increase startup participation in the growth, development and refinement of the talent and ideology without distracting founders from their missions to build successful businesses.

    Who, how and what should be done to continue to build a culture starting with middle school and high school students to help encourage entrepreneurship as a career path? What do other startups want to see? I’m interested in hearing from John MacRitchie (@jmacritchie), Anand Agarwala (@anandx), Scott Pelton (@spelton), Brian Sharwood (@bsharwood), Lauren Friese (@LaurenFriese), Danny Robinson (@dannyrobinson) and others.