March 20, 2013
When we started FLO Cycling, one of the last things we thought we would have to worry about were crashing web servers. As a new manufacturer of a product, we assumed there would be production delays, design modifications, and marketing/sales struggles, but we never assumed we'd have to learn how to manage high-end web servers. Well, you live and you learn ;)
Our site traffic is pretty unique. On a day-to-day basis, our web traffic is low, but on our sales days, we get hammered for about 30-60 minutes! This massive spike in traffic caused our site to crash several times during our first three Pre-Orders. Being a new company, it was acceptable the first time, but when we crashed again during Pre-Order #3, we were simply embarrassed and knew we needed to fix the problem. In the end, Rackspace, (our current and awesome hosting company) provided a solutions that was in short perfect. More on Rackspace below.
We've covered a lot of our start-up process through our blog and on our "About Us" page. This article discusses how we've overcome a major roadblock in our start up process. This really has nothing to do with cycling wheels but we think it's a cool story nonetheless. Here is our web server evolution from Pre-Order #1 to present day.
Website Hosting Intro
For those who don't know, a web host is a company that hosts your website. When you sign up for a hosting account, you place all of your website files on a server and those files are given an address (known as an IP Address). When a user types a url like www.flocycling.com into their browser, the user is sent to that IP address where they can view the website.
There are typically four types of hosting accounts that you can purchase.
1. Shared - With a shared account, you share a webserver with many other websites. All resources like RAM are shared between all of the sites. If more than one site is having a busy traffic day, the server can quickly become problematic. This option is very affordable. Prices typically range from $4-$15/month.
2. VPS - A VPS or Virtual Private Server is similar to a shared server where more than one website reside on the same server. The difference is resources are allocated to you and only you. You are given a guarantee of maybe 1GB of RAM instead of getting what is left over on a shared server. This option can be cost effective for sites that experience higher than normal traffic and want to manage their own server settings. Prices typically range from $30-$100/month.
3. Dedicated - With a dedicated server, you are the only website on a server and all of the resources of that server are yours. This is great for high traffic websites, but it's quite expensive typically ranging from $150-$500+ dollars per month with the more reputable solutions easily being $400+ per month.
4. Cloud Servers - In a way, cloud servers are like VPS servers but they are extremely flexible and have the ability to be modified on the fly. Rackspace is truly the master of cloud web hosting. With the click of a button you can convert a web server's RAM from 512MB to 30GB when you expect a jump in traffic. They also have a ton of features that give server administrators endless flexibility. The best thing is, you pay for what you use. You can pay as little as $17 per month and when your traffic is about to spike you pay pennies an hour for the increase in resources. Our full solution will be highlighted below.
Pre Order #1 - Shared Server RAM Unknown (likely less than 1GB)
After several lengthy discussions with our first hosting, (not Rackspace) we were assured we could take our anticipated traffic load. Well, they were wrong. There were thousands of requests sent to our shared server within seconds of our store opening and the site crashed immediately. After five minutes of sheer panic, we got the site back up but there were many problems. The site was horrendously slow which caused dozens of people to hit refresh on our payment screen resulting in dozens of duplicate charges. Our database crashed, meaning customers' details weren't complete and confirmation emails were not sent out. It took about four days to dig ourselves out of that mess.
Pre Order #2 - Dedicated Server with 4BG of RAM
We knew during our next sale we wanted to be on a dedicated server but as a new company, $400 per month was simply something we couldn't afford. We moved to a new hosting company who informed us that they could easily move us from a shared hosting account to a dedicated server whenever we requested it. The best part was we only had to pay for the time we used. What they failed to tell us was the process of scaling up or down would cause our site to be down and could take up to a week in either direction. We didn't crash during Pre-Order #2 but we couldn't handle the downtime.
Pre-Order #3 - VPS with 2GB of RAM
We stayed with the same host that we used for Pre-Order #2. After several discussions with the systems administration team we were pretty much guaranteed we wouldn't crash with a 2GB VPS. Yep, you guessed it. They were wrong. We crashed and we crashed badly. We were down for nearly an hour. We were embarrassed and needed a solution in a bad way.
The Solution - Rackspace with 128GB of RAM!
I contacted Rackspace after a friend recommended them. From the minute I placed my first call I knew we were in good hands. Rackspace has by far the best customer service I have seen in the business and the flexibility of their solutions are endless. I'd like to say that they are not paying me to say this, I'm simply a very happy customer. After explaining our unique situation, Rackspace placed us in their Start-Up program and assigned a team to our project. The team taught us the ins and outs of the Rackspace system and best practice solutions. After a month or so of tinkering (slow for me because I was learning), I finally had the system set up. Let's take a look at it below.
|Simple Server Architecture on the Left / FLO's Robust Rackspace Server Architecture on the Right|
The image above details two types of server architectures. The schematic on the left shows a very simplistic design. The website and database both reside on one server and when a user visits a url like flocycling.com, they go directly to that server. This system is what we crashed during both Pre-Order #1 and Pre-Order #3.
The system on the right is our much more robust Rackspace solution used during Pre-Order 4. This baby didn't crash! Here's how it works:
A user visits flocycling.com and is first directed to a load balancer. The load balancer in our case was connected to four web servers that all contained a copy of the FLO Cycling website. The load balancer runs an algorithm that calculates which web server is the least busy and it sends the user to that web server. When the user requests a read or write to the database, the web server they are on connects to the database server. This system has several benefits. They are as follows:
Redundancy - Running four identical web servers gives you redundancy. If one of your web servers becomes overloaded and crashes, the load balancer automatically removes that web server from its queue and directs all traffic to the other three web servers.
Plenty of Resources - In the simplistic architecture design (shown in the above image), the web server and the database server both share the resources of one server. When you separate the web servers and database server, they have their own resources and are less likely to crash.
In total we had 128GB of RAM running for Pre-Order #4 which is 32 times larger than ever. Was it overkill? Yeah, probably, but the site didn't even flinch. Instead of our regular routine, crash, panic, upset our customers, and begin disaster recovery mode, we sold our entire container of wheels in 12 minutes without a single website or server problem. The best part is, this massive system only cost an additional $5.28 for the hour of our Pre-Order. Yes, you heard that right, only $5.28. After the sale, we clicked a few buttons and our site was back to a very affordable 1.5GB system. Rackspace provides the perfect solution for our unique needs.
I'd like to thank Rackspace for their support throughout this entire project and the ultimate success of Pre-Order #4! With our new website architecture we have one less thing to worry about!
All the best,
March 12, 2013
The FLO 30 prototypes showed up today and Chris and I have been grinning ear to ear all day. We just got back from our first test ride and absolutely love the wheels. In our original post on the FLO 30s (you can find the original post here), we discussed how our original intent in the design process was to create the equivalent of a swiss army knife in a cycling wheel. We feel that's exactly what we've created and we have achieved our original design goals.
- Very Aerodynamic (awaiting wind tunnel results)
- Built with Quality Components
- Lightweight and Quality Build
- Ease of Use
- Very Affordable Pricing
A Few Quick Facts
The first ride was awesome. We could not be happier with the wheels. They felt light, fast, and very responsive. The also added a layer of confidence when handling was concerned. We hit a few windy sections and couldn't feel a thing in the crosswinds.
Angled Brake Tracks
The profile utilizes angled brake tracks and they look really cool. There is no issue with braking and the wheels fit easily into a bike that has been fit for FLO wheels. There is no need to adjust the brakes!
|FLO 30 Profile with Angled Brake Tracks|
Our goal was to keep the FLO 30s as light as possible. The total set weight is 1,624 grams and well within our weight range.
Front Wheel: 725g
Rear Wheel: 899g
We are going to hit our initial target for pricing. The wheels will be $498 for the set.
Front Wheels: $224
Rear Wheels: $274
Here are a number of pictures of the wheels. We hope you enjoy them!
|FLO 30 Set Without Tires|
|FLO 30 Profile Shot|
|FLO 30s with Tires|
|FLO 30 Profile Shot with Tire and Angled Brake Tracks|
|FLO 30s on a Bike|
|FLO 30s on a Bike|
|FLO 30s on a Bike|
|A Very Happy Jon with the FLO 30 Prototypes on the first Ride!|
Jon and Chris
March 8, 2013
The full review from Aerogeeks is in for the FLO 60s. We like what they had to say! Take a look and let us know if you have any questions or comments. Thanks to the Aerogeeks team for reviewing the FLO 60s.
March 5, 2013
Gerry Rodrigues will be no stranger to those of you who have been following us for a while. Gerry is the head coach of Tower 26 and is easily one of best open water and triathlon swimming coaches in the world. I've been fortunate enough to swim with Gerry on a couple occasions now and every time I do, I leave a better swimmer. A while ago, Gerry and I did an interview where we spoke about Triathlon Swimming's Golden Rules. The article was very popular and if you haven't read it, I suggest you do.
Gerry's newest article on his blog discusses everything you should not do while triathlon swimming. Unfortunately, with the vast amount of swimming information available today, many swimmers end up following the wrong advice and focus on things that simply are not going to make them better swimmers.
Before we get started, check out the Tower 26 Blog and Facebook Page for more great information like this.
Please leave your comments below or send Gerry a message at his email at the bottom of this article.
Don't do These in Triathlon Swimming
1. Breathe every third stroke or higher.
2. Hold your breath before expulsion.
3. Breathe through your nose.
4. Take short, shallow breaths.
5. Linger while taking a breath.
6. Focus on front quadrant or catch-up style swimming.
7. Over rotate with hips.
8. Have low strokes rates.
10. Be “loose” in the water.
11. Be a “scrunchy” swimmer, i.e. look like a fetus.
12. Have a big focus on Distance Per Stroke (DPS).
13. Focus on least strokes across the pool.
14. Cup your hands.
15. “Salute” by placing your hand close to your forehead at entry.
16. Swim with straight arms under water.
17. Have your hands cross your mid-line underwater.
18. Have your hands enter or pull outside your shoulder line.
19. Have your elbow below your wrist/hand underwater.
20. Pet the “kitty” underwater, i.e. don’t have a floppy, gentle, or loose hand underwater.
21. Do the “S” stroke.
22. Cut your stroke short at the finish.
23. Do mostly pool swimming drills.
24. Do sculling.
25. Focus on kicking harder.
26. Ignore using an ankle strap or swim snorkel.
27. Think working on technique solves it all.
1. Train at one speed only.
2. Swim straight workouts.
3. Swim in open water only.
4. Swim long, non-stop open water sessions only.
5. Have your main swim set(s) less than 50% of your workout time.
6. Not vary your workout composition.
7. Follow what Andy Potts does or any faster known swimmer/triathlete.
8. Follow instruction from Michael Phelps’ coach. Would you listen to Usain Bolt’s coach?
9. Wait until three or four weeks before your race to swim.
10. Eliminate warm-up or have small ones.
11. Forget to incorporate fast swimming in every workout. (May differ for some pros).
12. Wear fins in your main swim set.
13. Always use your pull buoy.
14. Wear big hand paddles. (Especially the pros who can’t drive them correctly).
15. Run or ride before key swim workouts.
16. Think just building your engine only will make you improve.
17. Think more is always better.
18. Train just hard every day.
1. Race in a wetsuit or goggles without testing them first.
2. Use a wetsuit too tight in the shoulders.
3. Race without a proper warm-up. (Everyone, pros alike, are guilty of this).
4. State to self: “I just need to get to my bike.”
5. Start in front if not a fast swimmer.
6. Sprint the start if not prepared for such.
7. Be afraid of a rip current at the start.
8. Emphasize drafting. (Can be different for some pros).
9. Forget to sight frequently.
10. Sight “water-polo” style. (May be different for some pros).
11. Just follow the person in front of you.
12. Swim in the middle of the pack.
13. Breathe every third stroke.
14. Tap feet unless you want a broken nose.
15. Swim with pool-polished strokes in choppy conditions.
16. Only measure your improvement by time.
17. Ignore the one body length rule (mainly for elite athletes).
1. Think you can improve your swim on your own.
2. Hire a coach without specific triathlon swim/swim coaching experience.
3. Listen to fast swimmers on technique, unless they understand open water needs (most don’t).
4. Expect pool coaches to know much about open water technique for triathletes. They don’t.
5. Think any coach knows it all.
*6. Hire a coach just because they have a coaching credential or coached some named athlete.
7. Hire a coach if swimming is neither their strength nor yours (by the way, same applies to bike and run).
8. Hire a coach who can’t/won’t explain why they prescribe their training.
9. Hire a coach who thinks there is only one training route (theirs) to performance.
10. Put stock in coaches who state swim is not important. The sport is S-B-R!
11. Only swim in a Masters group if there isn’t a focus for triathletes.
12. Forget to thank your coach – some still do it for free.
1. Read or follow non-proven coaching instruction.
2. Watch YouTube swimming.
3. Buy a wetsuit based on price or endorsement.
4. Think a swim lesson, clinic, camp, or short training block in itself will make a difference.
1. Think you can be competitive (front pack) on less than 30k a week without a prior swim background.
3. Train your swim sessions like your bike or run sessions.
3. Run or bike before a key swim session.
*4. Race without a proper warm-up. Little has changed here in 31 years since watching my first tri; shocking actually.
5. Waste your time swimming Andy Potts’ workouts. You’re not him.
*6. Skip acquiring open water skills, no matter how fast you are. Many lack these.
7. Do all your swim training in a pool.
8. Train your strength more if swim is your weakness.
*9. Over-rest your swim going into a race unless a competitive swimmer.
*10. Wear those huge paddles. Not even some elite swimmers can drive them correctly.
11. Do the “S” stroke.
*12. Breathe every third stroke or higher in a race.
Good luck in your quest for improvement. Gerry Rodrigues.
If you wish to add to the list, send me an email with your don’t: firstname.lastname@example.org