Professional Documents
Culture Documents
Ekeeko
Infrastructure
Implementation
v1.0
CloudCover
A SERVICE OF ACTIVELEMENT SOFTWARE PVT. LTD.
501, Zero-One,
Mundhwa Rd,Koregaon Park Annexe
Mundhwa,
Pune, Maharashtra 411036
RDS 3
S3 4
Cloudfront 4
Requirements 5
Considerations/Assumptions/Suggestions 5
Other Suggestions 6
Architecture Diagram 7
Explanation of Components 7
Pricing of Components 8
Cost Estimation 9
Linux with DynamoDB on RDS (LI) (with No UpFront Reservations) 9
Cost Estimation 11
Linux with DynamoDB on RDS (LI) (with 1-year Partial-Upfront Reservations) 11
Amazon EC2’s simple web service interface allows you to obtain and configure capacity with
minimal friction. It provides you with complete control of your computing resources and lets you run
on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain
and boot new server instances to minutes, allowing you to quickly scale capacity, both up and
down, as your computing requirements change. Amazon EC2 changes the economics of
computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides
developers the tools to build failure resilient applications and isolate themselves from common
failure scenarios.
RDS
Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up,
operate, and scale a relational database in the cloud. It provides cost-efficient and resizable
capacity while managing time-consuming database management tasks, freeing you up to focus on
your applications and business.
Amazon RDS gives you online access to the capabilities of a MySQL, Oracle, Microsoft SQL
Server, PostgreSQL, or Amazon Aurora relational database management system. This means that
the code, applications, and tools you already use today with your existing databases can be used
with Amazon RDS. Amazon RDS automatically patches the database software and backs up your
database, storing the backups for a user-defined retention period and enabling point-in-time
recovery. You benefit from the flexibility of being able to scale the compute resources or storage
capacity associated with your Database Instance (DB Instance) via a single API call.
Database Instances using Amazon RDS's MySQL, Oracle, SQL Server, and PostgreSQL engines
can be provisioned with General Purpose (SSD) Storage, Provisioned IOPS (SSD) Storage, or
Magnetic Storage. Database Instances using the Amazon Aurora engine employ a fault-tolerant,
self-healing SSD-backed virtualized storage layer purpose-built for database workloads.
In addition, Amazon RDS makes it easy to use replication to enhance availability and reliability for
production workloads. Using the Multi-AZ deployment option you can run mission critical workloads
with high availability and built-in automated fail-over from your primary database to a
synchronously replicated secondary database in case of a failure. Using Read Replicas, Amazon
RDS for MySQL, PostgreSQL, and Amazon Aurora also enable you to scale out beyond the
capacity of a single database deployment for read-heavy database workloads. As with all Amazon
Web Services, there are no up-front investments required, and you pay only for the resources you
use.
S3
Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure,
durable, highly-scalable object storage. Amazon S3 is easy to use, with a simple web services
interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3,
you pay only for the storage you actually use. There is no minimum fee and no setup cost.
Amazon S3 can be used alone or together with other AWS services such as Amazon Elastic
Compute Cloud (Amazon EC2), Amazon Elastic Block Store (Amazon EBS), and Amazon Glacier,
as well as third party storage repositories and gateways. Amazon S3 provides cost-effective object
storage for a wide variety of use cases including cloud applications, content distribution, backup
and archiving, disaster recovery, and big data analytics.
Cloudfront
Amazon CloudFront is a content delivery web service. It integrates with other Amazon Web
Services products to give developers and businesses an easy way to distribute content to end
users with low latency, high data transfer speeds, and no minimum usage commitments.
Amazon CloudFront can be used to deliver your entire website, including dynamic, static,
streaming, and interactive content using a global network of edge locations. Requests for your
content are automatically routed to the nearest edge location, so content is delivered with the best
possible performance. Amazon CloudFront is optimised to work with other Amazon Web Services,
like Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon
EC2), Amazon Elastic Load Balancing, and Amazon Route 53. Amazon CloudFront also works
seamlessly with any non-AWS origin server, which stores the original, definitive versions of your
files. Like other Amazon Web Services products, there are no long-term contracts or minimum
monthly usage commitments for using Amazon CloudFront – you pay only for as much or as little
content as you actually deliver through the content delivery service.
Requirements
1. Based on Details provided by customer, corresponding prices needs to be shared.
Considerations/Assumptions/Suggestions
Instance Sizing
Based on requirements the following Table Summarises the instance sizing for deploying
Customer’s Application and DB :
Number of AWS
Service Instance Type OS/DB
Instances Configuration
EC2 2 m3.large 2 vCPU, 7.5 GB Linux
RAM
Note:
In the document, the cost estimation for No-upfront Reserved and 1 year- partial Upfront reserved
is mentioned . No-upfront reserved gives you a total saving of 30% and 1-year Partial upfront
reversed gives a total saving of 31%
Component Integration
For a Loosely Coupled Architecture, which gives fine grained control over the components and is
extremely beneficial in a High Availability Scenario, the integration between components will be
done through public or private endpoints and not the general “localhost” based setups. Other
components in play will also be integrated in the same manner.
Traffic Expectations
According to User Concurrency defined by Customer, AutoScaling is suggested to be
implemented. AutoScaling will help us to Scale Up the Infrastructure Automatically when the load
increases and Scale it down when the load decreases. This assumes the Application will be
equipped to handle sessions Out of the Box and the application components are fairly static in
nature.
Other Suggestions
Performance Enhancement
To achieve best performance out of the Infrastructure, it is recommended to deploy the
components in the suggested manner i.e. as per the Architecture Diagram that follows the end of
this section. AutoScaling has already been suggested for Managing the Load.
Cost Savings
As per requirements, the application is running on a YII Framework PHP with MySQL as the
Database. Using a Linux Stack with MySQL components can be set as a Roadmap and a
comparative Cost Estimate will be shared within this document.
Architecture Diagram
Explanation of Components
EC2 - Elastic Compute Cloud
This is the compute capacity i.e. Servers which will host the application. The Architecture Diagram
above suggests hosting the application data devoid of the DB in EC2 to ensure a loosely coupled
setup. Autoscaling will be setup on the instances to ensure availability at times of High Traffic.
This will serve as Single Endpoint proxy for all the requests that land on the domain or component
to forward the requests to the appropriate destination, in this case, our EC2 Servers.
Dynamo DB
This is a Fully Managed NoSQL Database service which can uses Key Pair values. This can
essentially be used as an Out of the Box Session Management Store for your Application.
S3 and Cloudfront
It is really efficient and cheap to store any and all Static Data and Backup Files on Amazon’s
Object Based Storage called Simple Storage Service (S3) and we can use Cloudfront for Content
Delivery and as a Cache Front to manage availability as well.
Route 53
Route 53 is AWS’ own DNS Management Service which employs High Availability DNS Services at
its backend to ensure availability on a Domain Level. It also helps us have a fine grained control
over AWS Components.
Security Groups
Security Groups help us control access to ports for the various components/instances/servers that
we deploy on AWS. We can open specific ports to IP addresses and Subnet Ranges of our choice.
Pricing of Components
The next section specifies the recommended Cost Estimation for the Infrastructure currently
suggested. This considers a No-Upfront reserved as well as 1-year Partial upfront Estimation.
Cost Estimation
Linux with DynamoDB on RDS (LI) (with No UpFront Reservations)
Cost estimation for AWS Infrastructure (Monthly)
1 Year No-Upfront
Cost Estimation
Linux with DynamoDB on RDS (LI) (with 1-year Partial-Upfront Reservations)
Cost estimation for AWS Infrastructure (Monthly)
Deployment &
Consultancy
Based on the requirements provided we have created the following table for your reference. Our
standard consulting billing rate is INR 15,000 per man day.
TOTAL ₹ 75,000.00
Please note that this is an estimation on the basis of information provided. Actual effort will be
mentioned in the scope of work (SOW) post confirmation.
Any consulting required post roll-out, not covered in the standard support contract will also be
billed at the same consulting billing rate.
Support
CloudCover offers a completely managed infrastructure solution. We effectively become your IT
administration and operations arm and take care of everything associated with your company’s
cloud presence.
We manage all servers, services, networking, security, upgrades and maintenance transparently.
CloudCover will build additional tools (and provide you with a perpetual license for the same) to
manage and maintain your unique infrastructure.
Our team of software engineers and cloud specialists will tweak your network, optimise your
servers and recommend new architectural improvements to better leverage the cloud.
Based on layers of Support i.e. Infrastructure and OS Administration and Monitoring, we offer a 24
x 7 x 365 Managed Services Proposition priced at 35% of your AWS Bill or INR 35,000 per
month whichever is higher.
A separate Managed Services Proposal and Contract will be sent once the project has been
confirmed.
We also provide ticket based support. Tickets come in a bundle of 35 tickets for INR 50,0000.