Tel: +44 (0)1786 430076 email: info@objectiveassociates.co.uk
Discussing Amazon's AWS, including costs and "how to" best advice. We also talk about related technologies. The Objective Podcast is available on iTunes.
If you are looking at the costs in moving to AWS or are concerned about AWS costs running away with you, then this is where to start.
Alex: Hello and welcome to another edition of the Objective Associates podcast with myself Alex Ogilvie. And joining me as always is Fraser Ingram, the CTO at Objective Associates.
Fraser: Hi there.
Alex: Today we thought we'd cover some of the main services that AWS offers and in particular look at the aspects of them that give you, or give you the opportunity, to build a resilient system. In particular a resilient database. So Fraser but what are the main things that make up AWS? Let's just quickly recap on those.
Fraser: the core services if you like are things like EC2 which is your compute power, S3 which is your storage. Lambda which is your serverless compute power and RDS which is effectively a managed, or a set of managed database technologies. Different database types for different types of solutions, so you know, you've got things like the Aurora for large MySQL type solutions, or you've got Microsoft SQL server available in there, within RDS as well, or you've got Redshift for something like Data warehouse.
Alex: Yeah, I mean it's interesting that in amongst that short list you included Lambda. Because Lambda's obviously, well not obviously, but it's severless computing, and that strikes me as the ultimate in resilience, because you don't have to worry about any of the server technology behind that. Amazon does that for you.
Fraser: Yeah, you don't worry about the servers or where it's running. You give it a bit of code and you've got 5 minutes to run it. Or up to five minutes to run it. on And yeah you pay for the time the code was executed.
Alex: And Amazon's gonna look after where that's gonna run and how it's going to execute. So from a resilience point of view that's probably almost as good as it's gonna get.
Fraser: Yeah, I mean you tell it which region to run on. But yeah.
Alex: You tell it the region? We'll probably cover regions later when we talk about RDS in a wee bit more detail. So okay so you've got those areas of AWS that lend themselves to making you resilient, but I guess before you start you want to at least have some idea of what the costs are going to be on this kind of stuff. So how does Amazon help you there? How can you figure out that you're not biting off more than you can afford?
Fraser: Well all this, the costs on these are all available. You can either sit and read many webpages from Amazon telling you about which instance size and which, what the power is on these things or Amazon have helpfully given you a simple cost calculato.r And if you Google AWS simple cost calculator you'll drop onto a page that lets you set up the, what do you want, what do you want to configure on AWS. Do you want to configure EC2 instances, or do you want to configure some S3 storage, or do you want to configure RDS. And there you choose, you know, on these options, you choose things like for some EC2 instance, you would choose what type of server it is, what license that you want to run in that server. Is it a Linux sever is it a Windows Server. Same with RDS, when your running up RDS on the cost calculator, what you'll do is you'll say okay, I want it to be a SQL server and the size effectively of the instance type that database is going to run on.
Alex: So that simple calculator is that what they call the Cost Explorer or is that different.
Fraser: Cost Explorer is a bit different. Cost Explorer is within your AWS console and that in effect is telling you what you are spending at that point.
Alex: Right, okay, so that's more for management rather than for project planning.
Fraser: Yeah, yes, so Cost Explorer will give you daily breakdowns and forward-looking projections on what you have spent, and what you are spending and will also give you some recommendations. So give your recommendations on things like, okay, based on the last seven days it looks like you should go away and buy these reserved instances in order to bring your costs down a little bit.
Alex: But I guess there's more to running a resilient database than simply the cost of the server, so is there any way that you can figure out the cost of ownership? How do you do that?
Fraser: Well, I mean, Amazon have another calculator as well. They've got a total cost of ownership calculator and that genuinely does things like compare what it would cost to have a on-premise solution or a data center co-located type solution, versus what it would cost you to put this in AWS. So effectively genuinely calculating the total cost of owbership on these things. Down to kind of of power and engineering and all the rest of the things that you need to do, to be putting together an onpremise or colocated system. Versus what that costs on AWS. As you can imagine AWS comes out pretty favorably in that.
Alex: well I was going to say it sounds like a wonderful marketing tool that Amazon's built for itself. To show you that no doubt their solution is cheaper and more efficient than anything else you can buy.
Fraser: Well, yeah I mean absolutely, I mean it's about economies of scale at that point. You know, you're buying into the economies of scale that Amazon provide and that you can't get on your own.
Alex: Alright so you've got a couple of things here. You've got Cost Explorer for when you're up and running to help you manage your costs and adjust it to save money. You've got this simple cost calculator that let's you just configure things and comes up with a bottom line. And then you've got this kindof total cost of ownership calculator. So they're really, going to quite some lengths to actually show you that they genuinely want to show you what the cost of these things are.
Fraser: Yeah, absolutely and let you control them. Because part of being using AWS is giving you this flexibility and elasticity on, you know, being able to add compute power, but also take compute power away when you don't need it. Which is completely different from, you know, if you're working on an onpremise or a colocated type solution. Where you're pretty much fixed on what you're buying. Whereas within AWS you can start scaling back, scaling up and scaling back when you need to. And your costs flex at the same rate.
Alex: We've mentioned RDS a lot here, I'm suspecting that that's one of the core things that's available to you if you want to build a resilient database system. So talk us through RDS, whats it doing for us that makes it so resilient, so helpful.
Fraser: So RDS, if you think of a SQL server RDS type solution, Microsoft SQL Server, effectively you've got, your live database and then you've got a mirror of your database. And there's a fast switch over between those two, so effectively those two databases, if you think of them as the live and the mirror, if you think of them as sitting in different datacenters. Because they'll be in what AWS call availability zones, so effectively what you can think of is different data centers. And then if one datacentre goes down you've got the mirror sitting ready to run on the second datacenter.
Alex: Alright, so RDS is doing all that mirroring for you.
Fraser: It's all managed for you, they set it up, they manage it, they make sure that's happening. And then they switch over happens exactly as it needs to happen.
Alex: And happens automatically?
Fraser: Happens automatically, yeah.
Alex: Because all that stuff is pretty complicated. Even setting up a reliable mirroring system is pretty complicated stuff.
Fraser: Yeah, yeah, and Amazon are taking that pain away from you. And that's just on SQL server you know you can do the same on mySQL, you can do the same on Aurora. Actually on Aurora you can have up to six databases some already live.
Alex: And you mentioned zones here right, so okay, I get the idea that a zone is equivalent to a datacenter. So where are these zones located is one in the States and one in London? I mean how's this work?
Fraser: Yeah, they are all over the world, so close by us we've got one in Ireland, we've got one in Frankfurt, we've got one in London, so they're the regions within AWS, and each region has got at least two availability zones. And those availability zones are like the data centers.
Alex: Okay, so Ireland is a region, and within some place in Ireland they've got at least two zones. So if you were setting up a resilient RDS system one of your databases is in zone 1 and one is in zone 2 within Ireland.
Fraser: Yes
Alex: Do they share that information? I mean is that public information or do they keep that a secret?
Fraser: No, that's all public, they've got their zones are all named, so you can choose, if you're spinning up an EC2 instance you can choose which zone you want it to be in. So you can choose you know some to be in one zone, some to be in another zone for resilience.
Alex: Because you may well want to build your own resilient system you have to know that information. And I guess then given that potentially you could be using a London zone and Ireland zones as well, then from a global perspective you've actually got capability through all that to build a pretty robust system.
Fraser: Yeah, I mean if you want to build a globally robust system what you're looking at is, use a couple of regions, so use regions that are close to your customers. So use the East Coast of the States, use Ireland, or use something that's in Asia Pacific.
Alex: And does the price change from region to region, do we know?
Fraser: Yeah, it does, yeah, you know the price of compute power in one region will be different to the price of compute power in another region. I guess thats to do with connectivity and power costs and all the rest of it.
Alex: I guess that makes sense. And again that could influence the way in which you pull together your particular system. It could potentially alter the price significantly I guess.
Fraser: Yeah, I mean, a few cents here and there. But a few cents here per hour if you're using a lot of power, it all adds up.
Alex: Well that sounds like a failrly good explanation of some of the features within AWS that can allow it to be very resilient even on a global basis. All right folks we'll you've heard it here. The main components EC2, S3, Lambda and RDS. We suggest you do a bit of Googling but if you need any help feel free to give us a call or drop by the website at www.objectiveassociates.co.uk So from me and Fraser have a good day.
The Objective Podcast is available on iTunes
AWS resilience capabilities explained
How to manage Amazon’s AWS costs
How to get started on Amazon's AWS
How to choose your AWS instance type
5 tips on how to save money on AWS