AWS Case Studies

Skabhi
15 min readSep 22, 2020

Welcome you all to the world of Cloud Computing ☁

In this article we are going to discuss about

1.) What is cloud computing? It’s benefits.

2.) What is AWS?

3.) AWS use cases in case of Gaming.

Let’s start 👇👇

✔ What is cloud computing? 🤔🤔

Simply put, cloud computing is the delivery of computing services-including servers, storage, databases, networking, software, analytics, and intelligence - over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. You typically pay only for cloud services you use, helping lower your operating costs, run your infrastructure more efficiently and scale as your business needs change.

✔ Top benefits of cloud computing

Cloud computing is a big shift from the traditional way businesses think about IT resources. Here are seven common reasons organisations are turning to cloud computing services:

👉Cost :-

Cloud computing eliminates the capital expense of buying hardware and software and setting up and running on-site datacenters — the racks of servers, the round-the-clock electricity for power and cooling, the IT experts for managing the infrastructure. It adds up fast.

👉Global scale :-

The benefits of cloud computing services include the ability to scale elastically. In cloud speak, that means delivering the right amount of IT resources — for example, more or less computing power, storage, bandwidth — right when it is needed and from the right geographic location.

👉Performance :-

The biggest cloud computing services run on a worldwide network of secure datacenters, which are regularly upgraded to the latest generation of fast and efficient computing hardware. This offers several benefits over a single corporate datacenter, including reduced network latency for applications and greater economies of scale.

👉Security :-

Many cloud providers offer a broad set of policies, technologies and controls that strengthen your security posture overall, helping protect your data, apps and infrastructure from potential threats.

👉Speed :-

Most cloud computing services are provided self service and on demand, so even vast amounts of computing resources can be provisioned in minutes, typically with just a few mouse clicks, giving businesses a lot of flexibility and taking the pressure off capacity planning.

👉Productivity :-

On-site datacenters typically require a lot of “racking and stacking” — hardware setup, software patching, and other time-consuming IT management chores. Cloud computing removes the need for many of these tasks, so IT teams can spend time on achieving more important business goals.

👉Reliability :-

Cloud computing makes data backup, disaster recovery and business continuity easier and less expensive because data can be mirrored at multiple redundant sites on the cloud provider’s network.

✔ Types of cloud computing

Not all clouds are the same and not one type of cloud computing is right for everyone. Several different models, types and services have evolved to help offer the right solution for your needs.

First, you need to determine the type of cloud deployment or cloud computing architecture, that your cloud services will be implemented on. There are three different ways to deploy cloud services: on a public cloud, private cloud or hybrid cloud. Learn more about public, private and hybrid clouds.

👉 Public cloud :-

Public clouds are owned and operated by a third-party cloud service providers, which deliver their computing resources like servers and storage over the Internet. Microsoft Azure is an example of a public cloud. With a public cloud, all hardware, software and other supporting infrastructure is owned and managed by the cloud provider. You access these services and manage your account using a web browser. Learn more about the public cloud.

👉Private cloud :-

A private cloud refers to cloud computing resources used exclusively by a single business or organisation. A private cloud can be physically located on the company’s on-site datacenter. Some companies also pay third-party service providers to host their private cloud. A private cloud is one in which the services and infrastructure are maintained on a private network. Learn more about the private cloud.

👉Hybrid cloud :-

Hybrid clouds combine public and private clouds, bound together by technology that allows data and applications to be shared between them. By allowing data and applications to move between private and public clouds, a hybrid cloud gives your business greater flexibility, more deployment options and helps optimise your existing infrastructure, security and compliance. Learn more about the hybrid cloud.

✔ Types of cloud services: IaaS, PaaS, serverless and SaaS

Most cloud computing services fall into four broad categories: infrastructure as a service (IaaS), platform as a service (PaaS), serverless and software as a service (SaaS). These are sometimes called the cloud computing stack because they build on top of one another. Knowing what they are and how they are different makes it easier to accomplish your business goals.

👉Infrastructure as a service (IaaS) :-

  • The most basic category of cloud computing services. With IaaS, you rent IT infrastructure — servers and virtual machines (VMs), storage, networks, operating systems — from a cloud provider on a pay-as-you-go basis.
  • Learn more about IaaS

👉Platform as a service (PaaS) :-

  • Platform as a service refers to cloud computing services that supply an on-demand environment for developing, testing, delivering and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure of servers, storage, network and databases needed for development.
  • Learn more about PaaS

👉Serverless computing :-

  • Overlapping with PaaS, serverless computing focuses on building app functionality without spending time continually managing the servers and infrastructure required to do so. The cloud provider handles the setup, capacity planning and server management for you. Serverless architectures are highly scalable and event-driven, only using resources when a specific function or trigger occurs.
  • Learn more about serverless computing

👉Software as a service (SaaS) :-

  • Software as a service is a method for delivering software applications over the Internet, on demand and typically on a subscription basis. With SaaS, cloud providers host and manage the software application and underlying infrastructure and handle any maintenance, like software upgrades and security patching. Users connect to the application over the Internet, usually with a web browser on their phone, tablet or PC.
  • Learn more about SaaS

✔ Uses of cloud computing :-

You are probably using cloud computing right now, even if you don’t realise it. If you use an online service to send email, edit documents, watch movies or TV, listen to music, play games or store pictures and other files, it is likely that cloud computing is making it all possible behind the scenes. The first cloud computing services are barely a decade old, but already a variety of organisations — from tiny startups to global corporations, government agencies to non-profits — are embracing the technology for all sorts of reasons.

Here are a few examples of what is possible today with cloud services from a cloud provider:

👉 Create cloud-native applications :-

  • Quickly build, deploy and scale applications — web, mobile and API. Take advantage of cloud-native technologies and approaches, such as containers, Kubernetes, microservices architecture, API-driven communication and DevOps.

👉 Test and build applications :-

  • Reduce application development cost and time by using cloud infrastructures that can easily be scaled up or down.

👉 Store, back up and recover data :-

  • Protect your data more cost-efficiently — and at massive scale — by transferring your data over the Internet to an offsite cloud storage system that is accessible from any location and any device.

👉 Analyse data :-

  • Unify your data across teams, divisions and locations in the cloud. Then use cloud services, such as machine learning and artificial intelligence, to uncover insights for more informed decisions.

👉 Stream audio and video :-

  • Connect with your audience anywhere, anytime, on any device with high-definition video and audio with global distribution.

👉 Embed intelligence :-

  • Use intelligent models to help engage customers and provide valuable insights from the data captured.

👉 Deliver software on demand :-

  • Also known as software as a service (SaaS), on-demand software lets you offer the latest software versions and updates around to customers — anytime they need, anywhere they are.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

✔ What is AWS?

Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform, offering over 175 fully featured services from data centers globally. Millions of customers — including the fastest-growing startups, largest enterprises, and leading government agencies — are using AWS to lower costs, become more agile, and innovate faster.

✔ History of AWS

The AWS platform was launched in July 2002.In its early stages, the platform consisted of only a few disparate tools and services. Then in late 2003, the AWS concept was publicly reformulated when Chris Pinkham and Benjamin Black presented a paper describing a vision for Amazon’s retail computing infrastructure that was completely standardized, completely automated, and would rely extensively on web services for services such as storage and would draw on internal work already underway. Near the end of their paper, they mentioned the possibility of selling access to virtual servers as a service, proposing the company could generate revenue from the new infrastructure investment.

In November 2004, the first AWS service launched for public usage: Simple Queue Service (SQS). Thereafter Pinkham and lead developer Christopher Brown developed the Amazon EC2 service, with a team in Cape Town, South Africa.

Amazon Web Services was officially re-launched on March 14, 2006, combining the three initial service offerings of Amazon S3 cloud storage, SQS, and EC2. The AWS platform finally provided an integrated suite of core online services, as Chris Pinkham and Benjamin Black had proposed back in 2003, as a service offered to other developers, web sites, client-side applications, and companies.

Andy Jassy, AWS founder and vice president in 2006, said at the time that Amazon S3 (one of the first and most scalable elements of AWS) “helps free developers from worrying about where they are going to store data, whether it will be safe and secure, if it will be available when they need it, the costs associated with server maintenance, or whether they have enough storage available. Amazon S3 enables developers to focus on innovating with data, rather than figuring out how to store it.”.In 2016 Jassy was promoted to CEO of the division. Reflecting the success of AWS, his annual compensation in 2017 hit nearly $36 million.

In 2014, AWS launched its partner network entitled APN (AWS Partner Network) which is focused on helping AWS-based companies grow and scale the success of their business with close collaboration and best practices.

To support industry-wide training and skills standardization, AWS began offering a certification program for computer engineers, on April 30, 2013, to highlight expertise in cloud computing.

In January 2015, Amazon Web Services acquired Annapurna Labs, an Israel-based microelectronics company reputedly for US$350–370M.

James Hamilton, an AWS engineer, wrote a retrospective article in 2016 to highlight the ten-year history of the online service from 2006 to 2016. As an early fan and outspoken proponent of the technology, he had joined the AWS engineering team in 2008.

In January 2018, Amazon launched an autoscaling service on AWS.

In November 2018, AWS announced customized ARM cores for use in its servers. Also in November 2018, AWS is developing ground stations to communicate with customer’s satellites.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

AWS Use Cases

Millions of customers — including the fastest-growing startups, largest enterprises, and leading government agencies — are using AWS to lower costs, become more agile, and innovate faster.

In every field the AWS service is used. Below is some areas and some top companies use AWS.

👉 Aerospace (NASA, Maxar, ESA etc.)

👉 Gaming (MPL, FanFight, Gametion etc.)

👉 Education (Coursera, BYJU’s etc.)

👉 Telecommunication (Pinterest, Vodafone, Aircel etc.)

👉 Entertainment (Netflix, Hotstar etc.)

👉 Media (BBC, The Hindu, Punjab Kesri etc.)

👉 Software (Share chat, Slack etc.)

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Coursera Case Studies :-

Coursera was founded in 2012 by Stanford University computer science professors Andrew Ng and Daphne Koller. Ng and Koller started offering their Stanford courses online in fall 2011,and soon after left Stanford to launch Coursera. Princeton, Stanford, the University of Michigan and the University of Pennsylvania were the first universities to offer content on the platform. Offerings have since expanded to include Specializations — collections of courses that build skills in a specific subject — as well as degrees and a workforce development product for businesses and government organizations.

⚡ Challenges faced by Coursera

  • Coursera had a large monolithic application for processing batch jobs that was difficult to run, deploy, and scale.
  • A new thread was created whenever a new job needed to be completed, and each job took up different amounts of memory and CPU, continually creating inefficiencies.
  • A lack of resource isolation allowed memory-limit errors to bring down the entire application.
  • The infrastructure engineering team attempted to move to a microservices architecture using Docker containers, but they ran into problems as they tried to use Apache Mesos to manage the cluster and containers — Mesos was complicated to set up and Coursera didn’t have the expertise or time required to manage a Mesos cluster.

🤔 Why Amazon Web Services ?

  • Docker containers on Amazon EC2 Container Service (ECS) enabled Coursera to easily move to a microservices -based architecture.
  • Each job is created as a container and Amazon ECS schedules the container across the Amazon EC2 instance cluster.
  • Amazon ECS handles all the cluster management and container orchestration, and containers provide the necessary resource isolation.

🤔 What Benefits Coursera got by using AWS Cloud ?

  • Ease of use: Because Amazon ECS setup is straightforward and it manages all of the details of the cluster, the team had a prototype up and running in under two months.
  • Speed and agility: Time to deploy software changes went from hours to minutes, and each team can now develop and update its respective applications independently because the applications are resource isolated with no cross-dependencies.
  • Scalable capacity: Auto Scaling groups allow the compute capacity to scale up to handle dynamic job loads.
  • Operational efficiency: No extra infrastructure engineering time is spent installing software and maintaining a cluster — Amazon ECS handles everything from cluster management to container orchestration.

To host its website and support its rapidly expanding business, Coursera relies heavily on Amazon Web Services (AWS). Until recently, the company focused on setting up its backend services and AWS infrastructure. Now, it needed to streamline its front-end processes as well. “We wanted to improve the front-end developer experience and improve our website’s reliability and performance,” says Bryan Kane, senior engineer at Coursera.

⚡ Challenged by Limited Build Capacity

Coursera’s website, a single-page application written in JavaScript, is hosted on Amazon Simple Storage Service (Amazon S3) and served using Amazon CloudFront.

To build and deploy its web application, the company used eight Jenkins machines running on Amazon Elastic Compute Cloud (Amazon EC2) instances. The Jenkins instances were spun up each morning and sat idle until there was a job. When a change was committed to GitHub, it would trigger Jenkins to build the JavaScript and upload it to Amazon S3. “This process worked well for a while,” says Kane. “But as our application code grew, builds began to take a long time.”

In addition, its web applications were deployed as a single monolithic build. A problem with one application would stop deployment of the entire build.

To improve build safety, Coursera broke up its monolithic web application into 50 individual applications containing different parts of the website that could be built and deployed separately. It also developed a new system to work with the 50 applications — however, this process also had issues.

✨“Any time we needed a build of the entire web application, we had to start 50 different Jenkins jobs to build all the individual applications,” says Kane. “However, we didn’t have sufficient capacity to run 50 jobs at once, so they would queue up and it would take a long time to go through them.”✨

💫The Jenkins instances were also used to run tests, backend builds, and other scheduled jobs. These jobs were delayed during the application build, causing frustration for backend developers. “We were looking for a solution that would allow us to run jobs in parallel — so we wouldn’t need to wait for a job to finish to run the next one,” says Kane.💫

� Using AWS CodeBuild to Build and Deploy JavaScript

Coursera choose to use AWS CodeBuild to build its JavaScript applications because it wanted a managed build service that could scale automatically and process multiple builds concurrently. “It took us less than two weeks to set up our containers to run on AWS CodeBuild,” says Kane. “Now we can run 50 or 60 jobs in parallel, and the build time is only the time it takes for the longest application to build.”

The company also started using Amazon EC2 Container Service (Amazon ECS) to deploy its JavaScript — and then used AWS CodeBuild to automate this step as well. Along with building the JavaScript assets and uploading them to Amazon S3, AWS CodeBuild also creates a Docker container that includes the assets and uploads it to Amazon EC2 Container Registry (Amazon ECR).

“Now, whenever we want to deploy an application update, we use a tool that works with Amazon ECS to spin up a new service with the container running the new code,” says Kane.

As a further optimization, Coursera uses a custom build environment in its projects — and uses AWS CodeBuild for that also. Instead of using the standard Node.js container for its builds, it uses AWS CodeBuild to create a separate Docker container that includes the JavaScript dependencies as cache. The container is pushed to Amazon ECR and referenced in the project configuration.

“To build an application, all we need to do is retrieve the Docker image from the container registry, run the scripts, and upload to Amazon S3,” says Kane. “We don’t need to wait for the JavaScript dependencies to download because they are already pre-warmed in the container cache.”

Increased Speed, Scalability, and Cost Savings Using AWS CodeBuild

By using AWS CodeBuild, Coursera has reduced its web-application build times by 83 percent while achieving a significant cost savings.

“With AWS CodeBuild, our application build now takes about 10 minutes; using Jenkins it used to take up to an hour,” says Kane. “To get the same performance on Jenkins would cost four times as much because we would need to spin up 50 Jenkins instances to have the builds finish that quickly.”

On average, the company runs 300–500 builds each day using AWS CodeBuild, and because the service scales continuously and processes multiple builds in parallel, builds are not left waiting in queue.

If we needed to run 70 builds all at once, we could do so,” says Kane. “It’s great to be able to execute on demand and have elastic capacity that’s ready to go.”

AWS CodeBuild also supports continuous integration and continuous delivery (CI/CD) and has increased developer productivity by streamlining the QA process. Each time a production run is submitted, AWS CodeBuild builds a full staging environment that is ready to use for QA.

“If there are bugs, our team can fix them and iterate much more quickly,” says Kane. “Our staging environment makes it much easier to do that.”

Using containers for its web applications has also made builds more consistent and reliable.

“Having everything inside a Docker container that starts fresh each time provides build isolation,” says Kane. “Our developers are spending less time debugging builds that don’t run.”

With the benefits it has seen using AWS CodeBuild for its front-end platform, Coursera is considering other ways to use the service.

Kane says, “Next, we’re going to add some of our backend services to AWS CodeBuild and see what that looks like.”

🔰 Services of AWS Cloud Used by Coursera

Amazon Elastic Compute Cloud (Amazon EC2), which provides secure, resizable compute capacity in the cloud. This enables NASA to scale up under load and scale down during periods of inactivity to save money, and pay for only what it uses.

Elastic Load Balancing (ELB), which is used to distribute incoming traffic across multiple Amazon EC2 instances, as required to achieve redundancy and fault-tolerance.

Amazon Simple Storage Service (Amazon S3), which supports object storage for incoming (uploaded) media, metadata, and published assets.

Amazon Simple Queue Service (SQS), which is used to decouple incoming jobs from pipeline processes.

Amazon Relational Database Service (Amazon RDS), which is used for automatic synchronization and failover.

Amazon DynamoDB, a fast and flexible NoSQL database service, which is used to track incoming jobs, published assets, and users.

Amazon Elastic Transcoder, which is used to transcode audio and video to various resolutions.

• Amazon CloudSearch, which is used to support searching by free text or fields.

Amazon Simple Notification Service (SNS), which is used to trigger the processing pipeline when new content is uploaded.

  • AWS CloudFormation, which enables automated creation, updating, and destruction of AWS resources. InfoZen also used the Troposphere library, which enables the creation of objects via AWS CloudFormation using Python instead of hand-coded JSON — each object representing one AWS resource such as an instance, an Elastic IP (EIP) address, or a security group.
  • Amazon CloudWatch, which provides a monitoring service for AWS cloud resources and the applications running on AWS.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Thanks for learning. If you have any suggestion or any query then feel free for suggest and ask.

--

--