Whether it is Amazon Web Services (AWS), Google Cloud or Microsoft Azure, businesses can use cloud services to avoid the upfront cost and complexity of owning and maintaining their own IT infrastructure. I sat down with Team lead and Project Manager, Ivan and Lead Developer, Kieran to talk through our experience using the AWS cloud solution and what businesses need to consider.
Sacha: According to the Cloud Report from Cockroach Labs, Google Cloud edged AWS and Azure in comparing the big three cloud providers on performance and cost. Why is AWS our preferred provider?
Kieran: AWS is a dominant force in the cloud arena, and has speedy and scalable solutions. They have been around since 2006 and have had a head-start on the competition. When choosing your cloud provider, you would typically go more on familiarity, integration, the services and support they provide, and what kind of lock-in you want.
Sacha: What do you mean by lock-in?
Kieran: When we talk about lock-in, we are talking about the custom services you are getting locked into. Each cloud provider will have their own services that are custom written. For example, DynamoDB is a database that only AWS provides; where all you need to know is how to put things in and get things out.
You would use a service like this because it’s cheap, quick and AWS are very good at what they do. Plus you don’t need to install or maintain it yourself.
Cloud challenges and considerations
Sacha: How easy is it to move your website to the cloud?
Ivan: When we look at taking on a website and moving that to the cloud, it’s not as simple as just moving your website to AWS, and we are done. A typical challenge is when businesses try to go from a local service/site to a global or multi-site solution. We talk to them about how they may need to change their application, what aspects of the infrastructure they would need and how it will manage the expected load.
Sacha: What about businesses looking to build something new? Would we recommend starting off with cloud?
Kieran: Yes, definitely. If it’s an entirely new project starting out I would build straight onto AWS to use the tools straight away. It is super cheap, well tested, and you will save on time, as well as development and maintenance costs.
Sacha: How would you know what services you need?
Ivan: It’s our job to understand the services you would need and how your application interacts with these services.
Kieran: Once you have your application within AWS, or any cloud provider, you can start using their services. We would talk through all of the default options with you to be aware of what is possible.
Like billing alarms, nobody even knows that’s a thing. That’s where you can set up an alarm that will notify you when a particular service gets close to using a budget you’ve set. AWS has a range of budget and billing services that can help you decide whether you want to turn some stuff off, scale down, do something to save money or get approval for an additional budget.
Ivan: One thing to remember is that it’s not just cloud hosting, but that cloud providers do offer other excellent services as well.
The marketing scenario
Sacha: I’m the Marketing Manager of a business who has a fantastic campaign prepped and ready to roll out. It’s going to drive thousands of extra users to the website over a week-long period. How could you use auto-scaling for this?
Ivan: Auto-scaling is one of the benefits of the cloud. Auto-scaling monitors your applications and automatically adjusts capacity to maintain a steady, predictable performance at the lowest possible cost. However, there is a common assumption that auto-scaling will work in any scenario.
Kieran: If you are going to do a marketing campaign that’s going to generate more visitors than average, you would need to think about it in a way that can take advantage of auto-scaling and other tools that can help. It’s not just as simple as clicking a button, and suddenly you can use auto-scaling.
Sacha: What tools would you use to help with the campaign?
Kieran: Well, you could even design the marketing campaign to use a CDN (Content delivery network). Cloudfront is an example of AWS’s content delivery network, which provides a globally-distributed network of proxy servers caching content, such as web videos or other bulky media, more locally to consumers.
If you used a CDN for the marketing campaign then the influx of extra visitors never hits your server anyway. For example, say you have your application that sells something – it’s a shop. What you can do is set up the marketing campaign so that it’s not served anywhere close to your shop. This way, the influx from your marketing campaign won’t affect the shop. The campaign might direct people to the shop after landing, and we can handle that increase, but it’s not the same amount, assuming you are not getting a 100% conversion rate.
Planning with clients
Sacha: What’s involved in talking to a client about their plans for something like this?
Kieran: If we are part of the process with clients from the start, we could help them set-up on S3 (Amazon Simple Storage Service) with CloudFront in front of it for the marketing campaign. We would chat with the client about their expected conversion rate to plan how the server could handle the load.
Communication is vital – we would design the servers to handle the expected load, and this way, we can handle anything that comes in unexpectedly when we are prepared. If we are involved from the beginning, there should be very few problems. If you do things and then tell us an hour later that the site went down because “I did a thing”, there is not much we can do.
Ivan: Communication is important if you are running a big marketing campaign to put in additional preventative measures or scale up a bit more before the marketing campaign hits. We would usually explain and educate client stakeholders to help manage this and prevent failovers.
Cloud solutions and disaster recovery
Sacha: Are there any other benefits that we should consider?
Ivan: One of the areas that I think we should discuss is disaster recovery and back-up plans. Traditional systems require back-up plans, especially for data storage, making disaster recovery a hassle. AWS has many features to cover disaster recovery and deal with fail-overs or attacks. This includes data back-ups if it’s all configured correctly, so I think it’s a massive benefit. Did you want to expand on that Kieran?
Kieran: Yes, it’s not something that a lot of businesses consider. There are disaster recovery default settings within AWS that we would discuss with businesses. It will back up automatically a lot of stuff, but maybe not everything. So it’s important to consider default settings when using AWS for disaster recovery.
Sacha: It’s important that businesses understand the complexity and the value in the services offered by cloud providers. What is the value of using a company like 4mation?
Ivan: Ultimately, we are building applications and building application stacks on top of that. Our value isn’t just the hosting on the cloud part; we understand what we are building, and we focus on building solutions that bring value. We are leveraging AWS to do that in the right way.