Episode 13: Clive Swanepoel on Deploying and Scaling Alpha Applications
00:00 Adam: Intro to episode 13.
00:35 Clive: Overview of Zebrahost.net.
02:18 Clive: Basic deployment model.
03:08 Clive: Types of hardware and OS used.
04:22 Adam: What are the typical configurations and costs?
04:51 Clive: Benefits of virtualization.
05:22 Clive: Entry level plan.
07:27 Clive: Scaling up multiple instances of Alpha Anywhere.
08:23 Clive: Larger applications with dedicated servers.
09:06 Adam: What kind of load can a typical Alpha installation handle?
09:47 Clive: Customer use cases for large scale applications.
10:56 Adam: What are the hosting costs per instance and per user?
11:10 Clive: Virtual vs. dedicated machines and load balancing.
12:57 Adam: What about including costs of the database server?
13:04 Clive: Database server configurations and costs.
14:10 Clive: High performance load balance system.
14:47 Adam: Does the high performance system reduce latency?
14:53 Clive: It also increases availability.
15:01 Adam: In general terms this all makes the app more responsive?
15:06 Clive: It would also be more resilient in cases of hardware failure.
15:21 Adam: What kind of drives do you recommend? I'm partial to solid state drives.
16:25 Clive: We have been using solid state drives for years successfully.
17:40 Adam: I had been warned against solid state drives when I started with them.
18:27 Clive: The controlling software has improved to minimize the negative issues.
19:08 Adam: What do you recommend for database scaling, especially memory?
19:57 Clive: With our current machines we can throw RAM at a performance problem.
20:29 Adam: I would rather buy RAM than recode my queries. What about scaling to multiple database servers?
21:04 Clive: We can support whatever architecture the developer needs.
21:47 Adam: I tend to overbuild my server architecture to make sure I have constant availability.
25:02 Clive: Yes, it can cost a lot more in lost business than you spend on the hardware.
25:46 Adam: What do you recommend users do to plan for scaling?
26:10 Clive: It depends on the experience of the developer. I recommend starting with the best hardware.
27:15 Adam: One way to handle this is to have my clients pay their hosting bills, so they understand the true costs in relation to load.
28:30 Clive: Most of our developers do the same thing.
28:55 Clive: We learn what each application needs, and then we can help developers adjust their hardware needs. We also adjust for seasonal needs.
31:03 Adam: What do feel about the buzz around cloud systems?
32:40 Clive: It depends on your definition of a cloud.
34:23 Adam: I also find clouds take time to spin up new instances.
35:03 Adam: How much time do you spend educating your users about scaling?
36:26 Clive: I believe in custom designing systems, and then growing with the user's needs.
37:16 Adam: I agree. I prefer a smart sysadmin making the decisions.
37:30 Adam: What about pushing content out to the edge, geographically closer to users?
38:18 Clive: Distance does add latency, but we haven't had customers trying to take advantage of geographic distribution of servers.
38:53 Clive: We do try to get users to do stress testing in advance. We work with companies that do load stress testing.
39:44 Adam: What is your experience with the needs of mobile apps?
40:18 Clive: We found Alpha's offline mobile feature helps with distributed servers and connectivity issues.
41:25 Adam: I also tend to adjust the user interface to give time for data loading.
42:30 Adam: Do you give advice on these types of issues?
42:35 Clive: No, we try and keep away from design and coding issues.
43:27 Clive: We do have consultants we can point customers to on these issues.
44:49 Clive: When new customers come to us, we do all the setup and installation of Alpha.
45:22 Adam: At that point they are working from within Alpha without worrying about Windows. I would rather work at the application level. You make that possible.
46:34 Clive: That's correct.