Building Scalable, Reliable and Available Cloud Infrastructure
Streaming platforms like Netflix have got cloud scaling down to a science.
Netflix is more than capable of handling big influxes of traffic whenever the next trending TV show takes the world by storm.
How do other websites and applications handle scaling? Switching to cloud infrastructure is the way forward for many applications, but it does come with its share of challenges — one of which is scaling correctly. Get it wrong, and you leave your users unsatisfied, potentially losing your competitive advantage. Get it right, and you can build a secure, reliable solution that scales as your business does.
Netguru’s Radosław Kubryń, Cloud Engineering Manager, and Victor Dantas, Partner Solutions Architect at AWS, joined a LinkedIn live session to discuss the cloud, AWS, streaming, and more. Hear how Netguru helped a French streaming platform scale effectively with the help of AWS.
What is the cloud computing?
The cloud is made up servers, applications, and databases that a user device can access via the Internet. It means that businesses and users do not have to manage physical servers themselves to run applications or store digital files.
Cloud computing services offer a way to deliver computing services via the Internet, which businesses of all sizes can benefit from. They typically operate through a pay-as-you-go model to provide virtualized computer resources on-demand for a business. Some of the most popular cloud vendors include AWS, Azure, and GCP.
Cloud technology accelerates innovation, makes businesses more agile, and operations more streamlined. In other words, it’s a way for a business to achieve sustainable growth and scale effectively.
We invited Victor to talk more about his work in AWS, and Radosław to discuss how Netguru helps clients to scale their cloud solutions.
How Netguru helped ADN deliver a high-quality streaming experience
A good example of how Netguru helps clients scale and manage their cloud solutions is with our client, ADN, a popular French anime streaming platform.
Naturally, helping a Netflix-style platform to scale is full of challenges. Radosław explains that platforms like this must be able to cope with thousands of users who want to access the content on-demand.
During the design discovery phase, our engineers and solution architects found some key points for improvement:
- Downtime during high traffic
- Unsatisfactory website performance
- Outdated technology of web services
- Inefficient setups with legacy technology that prevented efficient scaling
To make this project work, the Netguru team turned to AWS, one of the most popular cloud providers. It was a no-brainer as AWS is well known for its ability to support highly scalable, highly available, and up-to-date infrastructure.
Netguru also focused on six pillars to build the infrastructure for ADN.
- Operational excellence – How systems are run and monitored
- Security – Protection for information and systems
- Reliability – This is focused on workloads and performing intended functions
- Performance – The structure and streamlined allocation of ITN computing resources
- Cost optimization – Reducing unnecessary costs
- Sustainability – Minimizing negative environmental impacts of running cloud workloads
Why scalable infrastructure is important
Radosław likes to use highways as a metaphor. Let’s say there is a car accident during a traffic jam. You will likely have to wait a long time for it to be resolved. In the meantime, you’re stuck. On the other hand, imagine there’s a highway with a lot of traffic flowing freely with no traffic jams. Even if an accident happens, you will be able to keep driving forward, even if there’s a little detour.
This is the same with scalable infrastructure, and it’s why large projects that expect a lot of traffic need scalability. The end-user wants availability above all else – to access the application or content anytime, anywhere, quickly.
Without scalable infrastructures, an application with thousands of users at the highest load could see a huge performance drop.
This leads to unhappy users and even potential financial losses for the company.
Scalability, availability, security – the ABCs of a reliable cloud infrastructure
The three main elements of reliable cloud infrastructure are scalability, availability, and security. Victor breaks them down below.
Scalability is fundamental when it comes to increasing reliability because you need to be able to increase capacity as and when you need it.
Victor believes that companies should focus on horizontal scalability rather than vertical scalability. With vertical scalability, you would attempt to add additional compute power to your instances, essentially increasing the size and capacity. The problem here is that it leads to a bottleneck quickly because you can only scale so much.
If you rely so much on one giant instance, if it goes down, it’ll take a lot of capacity with it, which can become a single point of failure.
To improve reliability, Victor suggests leveraging horizontal scalability, which means instead of having one big instance, you use several smaller ones and add more when you need them. This gives a virtually limitless ability to scale. If one of them goes down (which you should expect at some point), the whole system doesn’t go down with it.
Victor describes this as the percentage of time that an application has been up for – so that’s uptime divided by total time.
Even if the application is up and running, availability also means being able to respond to requests in a reasonable amount of time. If you lose availability, you lose customers, trust, and potentially money as well.
With any cloud system, security is of utmost importance. If you can’t protect your cloud development services, your system goes down, and you lose availability which, in turn, can damage your business.
What holds people back from adopting reliable cloud infrastructure?
Having scalable cloud infrastructure can help to keep your application reliable, available, and also meet customer needs. So, why would a company decide not to adopt cloud infrastructure?
There are some common reasons for the hesitation. Victor says the top three are data security, costs, and also discomfort with big changes.
As Victor explains, data security is a common concern when it comes to moving data to the cloud. One way to combat that is to go with a cloud computing provider that takes data security seriously, for example, AWS.
"Everything starts with security. With every new service, with every new development, we are thinking about how to keep things secure."
He adds: "And we have hundreds of thousands of customers that have been successful in keeping their data secure in the cloud."
Cost is another common concern, but with AWS, the pay-as-you-go model lets businesses gradually increase capacity and only pay for what they need.
"Typically, we see that cost doesn't become a concern anymore. As a matter of fact, a lot of customers are able to save costs by moving to AWS."
The third major concern is that some people are just resistant to change. Many business leaders have worked with the same mature IT organization for many years, and it’s challenging to completely change the way you operate.
Victor’s advice is to take small, incremental steps. You can gradually switch to the cloud without having to do everything at once.
Stay up to date with the cloud
It’s safe to say that cloud adoption is a growing trend that’s not going away anytime soon. For business owners who haven’t yet jumped on board, Victor has some advice.
The first tip is to build a solid cloud strategy. This means a top-down strategy to adopt the cloud and get the support you need to integrate it into the business.
"We see that customers who do not have a strategy in place when they begin often fail to achieve their goals with cloud migrations."
The second tip from Victor is to build an environment and culture of learning and continuous improvement in your business.
Companies who want to grow should always think about innovation, learning, and better ways to serve customers. He says that companies should stop wasting time on “heavy lifting” of things that don’t really add value to your business, such as managing services, infrastructure, and data centers.
"We [AWS] do all that very well. So let us do that while you focus on your innovation, on your developments, on adding new products or new features to your existing products, and finding ways to improve your customer experience."
Finally, Victor suggests businesses should look at where they are today. What can you change today? What low-hanging fruit can you tackle as the next steps towards modernizing your business?
For example, if your team is spending a lot of time managing databases, outsourcing could help you move much faster. Alternatively, you might want to look at machine learning, automating call centers, or deriving insights from your user data.
Victor advises businesses to start thinking ahead and always innovate and push for things that really add value.
"Remove the things that do not add value to your business, and that way, you will make sure you’re innovating at a fast enough rate that the competition won’t disrupt you."
Why you need a “champion” to lead the way with cloud infrastructure
Adopting completely new infrastructure, and all the challenges that come along with it, means that you need a “champion” on board. Someone who is willing to drive change and lead the way is incredibly valuable. They can explain to other leaders in an organization how and why the changes are necessary and beneficial to the business’ operations and revenue.
Radosław suggests having a tech leader that can help to guide the adoption of cloud infrastructure. That person or team can also stay on top of trends and advise other leaders on developments and changes in the cloud.
After all, adopting cloud infrastructure is not a one-and-done activity. It’s developing and changing fast, so to keep up with the competition, businesses will need to stay on top of changing trends and prioritize scalability as they grow.