CTO Answers Crucial Tech Questions For Growing Startups

David Wood, CTO of Jun Group

Photo: David Wood

The software your company uses can dictate the shareability, flexibility, and accessibility of important information. And, as in most things, what’s right for some may not be right for others.We’ve spoken to David Wood, Chief Technology Officer of Jun Group, whose company recently moved from a physical server to cloud-based distribution architecture.

He provides us with some sound advice on how to determine the best software for your business.

Below is a slightly-edited transcript of our conversation:

Since you are a video company, how do you determine which software will allow the most users to be able to view your videos? What software do you use and why?

That’s a good question. You have to start with your users and work backwards, identifying the approach that will provide the best overall experience. Many companies, like us, don’t have the luxury of having one single user experience. Companies need to look at their audience and how their behaviour changes over time. In our history as a company, we have distributed video on the web, mobile web and mobile apps, so we’ve used HTML5, JavaScript, iOS and Android technologies. On the back end we use Ruby on Rails to enable rapid development, but the most important part of the equation is the user facing software. Once you understand where your customers are—on the web, mobile web, or in app—you will be able to answer that question most accurately.

When launching a company, how do you decide whether you should use a specific type of software or code your own? 

Always create only the software that you need. The classic problem is being drawn into creating things yourself that you could take off the shelf. However, you have to also look at creating a business that is original and hard to replicate. Venture capitalists always ask, “how long would it take a competitor to create what you have done?” So keep that in mind, but it’s important to do as little development as you need to get you over the finish line and get something out there. You can always iterate. It is all about balance. 

You recently transitioned from physical servers to cloud servers. Why did you decide to transition, and what was it like for your company? 

We weren’t happy with the effort we were spending on operations and maintenance efforts on our infrastructure. As we grew, it was not a core part of our business and we didn’t want a big in-house operations capacity.

The magic of this whole process was that you essentially have a technical solution for outsourcing something that was traditionally done in-house. When you look at building, maintaining, and keeping computing infrastructure running—not doing it ourselves was a major cost and time savings, and the cloud allowed for an easy transition. This doesn’t work for everyone, but it worked for us. The transition was a huge win in just about every metric that matters in our company. Cost savings, a lot of sleep regained, and a lot of enhancements in regards to the reliability and scalability of our operations. In a bigger company it might cause a reduction in head count, however, in our company it meant we didn’t have to increase our head count.

What were the biggest challenges in making the transition? 

The most important parts of cloud infrastructure are those least advertised and understood—sharing computing resources with thousands of strangers. It’s not a real server, and you’re not the only one using it, so it behaves differently. Virtual computers in the cloud have different performance features than you are used to with physical servers—that’s just the reality. 

In particular, cloud servers are generally slower. Only recently could you begin to pay for faster speeds. And the architecture that any particular cloud provider gives you is always different.  You have to adapt your application to work well within these strengths and weaknesses. Identifying and using these strengths, and avoiding their weaknesses, will allow you to benefit greatly. 

Why do you think a lot of new companies start out using physical servers instead of opting for cloud immediately? 

A few reasons: 

Some products run better on physical servers: If you saturate your CPU and bandwidth, memory, and input/output resources constantly, then the cloud is not a good fit for you. If you experience a more moderate use of resources over the course of the day, perhaps with spikes in traffic, then the cloud looks like a better option.

Inertia. Decades of tradition have led to a certain way of thinking, and this tradition does not go away overnight.

Cost. At the outset, cloud looks more expensive, and for some applications it can be. Some wonderfully cheap managed hosting products can be found on the market. However, a hidden aspect of that bargain is what it will cost you to manage and maintain rented servers yourself. When you start out, that’s the moment you have the lowest operations overhead, and your understanding of in-house ops challenges is the most theoretical. 

What are the pros and cons of physical servers vs. cloud computing?

Some pros would be a consistent repeatable performance, the cost for raw capacity, and a better vertical scalability for higher maximum performance. But there are hidden operations costs, difficulty in large horizontal scalability build-outs, and speed to bring new capacity online and release existing capacity.

What’s your advice to start-ups:? When should they consider making a transition?

They need to look at amount of time they’re spending on operations tasks such as building, maintaining, and disposing of hardware. And to a lesser extent, the resources they spend patching and managing operating systems or infrastructure. And they need to look at their performance characteristics. Is their application “clusterable”—multiple machines can effectively participate in running it? If so, then the cloud could be a good option for that app. If not, then the cloud’s advantages are more limited. Ultimately the cloud’s main asset is the ability to quickly, easily, and cheaply give you many machines running in parallel. Physical servers, on the other hand can, give you the control to build very fast individual systems. 

At the end of the day, this is why every business and every application will see the cloud trend differently. Nothing will give you cheaper, easier horizontal scale than the cloud. But only some application really fit into the provider’s performance envelope—and for these, traditional solutions are still the best.

NOW SEE: The most important things business owners should know about cloud computing services > 

Business Insider Emails & Alerts

Site highlights each day to your inbox.

Follow Business Insider Australia on Facebook, Twitter, LinkedIn, and Instagram.