-
EkeekoInfrastructure Implementation
v1.0
CloudCoverA SERVICE OF ACTIVELEMENT SOFTWARE PVT. LTD.
501, Zero-One,Mundhwa Rd,Koregaon Park AnnexeMundhwa,Pune,
Maharashtra 411036
T +020 3250 6660
Author: Daman Vir Singh Grewal Creation Date: Wednesday, 8 April
2015 Last Revision Date: Wednesday, 8 April 2015 Prepared for:
Ekeeko
-
cloudcover
Intro to AWS Services 3 EC2 3
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
Deployment & Consultancy 13 Support 14
AWS Implementation : Ekeeko 2
-
cloudcover
Intro to AWS ServicesEC2Amazon Elastic Compute Cloud (Amazon
EC2) is a web service that provides resizable compute capacity in
the cloud. It is designed to make web-scale cloud computing easier
for developers.
Amazon EC2s 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
Amazons 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.
RDSAmazon 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.
AWS Implementation : Ekeeko 3
-
cloudcover
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.
S3Amazon 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.
CloudfrontAmazon 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.
AWS Implementation : Ekeeko 4
-
cloudcover
Requirements1. Based on Details provided by customer,
corresponding prices needs to be shared.
2. Application Platform : YII Framework PHP Database Required :
MySQL Current DB Sizing : 5 GB [Expected to increase by 3 GB per
month]
3. Disaster Recovery - Not Required for 1st Year.
Considerations/Assumptions/SuggestionsInstance SizingBased on
requirements the following Table Summarises the instance sizing for
deploying Customers Application and DB :
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 IntegrationFor 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.
Service Number of Instances Instance TypeAWS
Configuration OS/DB
EC2 2 m3.large 2 vCPU, 7.5 GB RAM
Linux
RDS 1 db.m3.medium 1 vCPU, 3.7 GB RAM
MySQL
AWS Implementation : Ekeeko 5
-
cloudcover
Traffic ExpectationsAccording 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 SuggestionsPerformance EnhancementTo 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 SavingsAs 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.
AWS Implementation : Ekeeko 6
-
cloudcover
Architecture Diagram
Explanation of ComponentsEC2 - Elastic Compute CloudThis 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.
ELB - Elastic Load Balancer
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.
AWS Implementation : Ekeeko 7
-
cloudcover
RDS - Relational Database ServiceRDS will host the DB and will
be accessible through an endpoint which can be shared with the
application and the DBAs as per requirement. We will create a
Master Slave Model to ensure High Availability.
Dynamo DBThis 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 CloudfrontIt is really efficient and cheap to store any
and all Static Data and Backup Files on Amazons 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 53Route 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 GroupsSecurity 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.
VPC - Virtual Private CloudAWS VPC serves as an Isolated Cloud
Environment within the same. We can create Private and Public
Subnets to ensure that only relevant components are exposed to the
outside world and all other components stay within the Customers
control.
Pricing of ComponentsThe 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.
AWS Implementation : Ekeeko 8
-
cloudcover
Cost EstimationLinux with DynamoDB on RDS (LI) (with No UpFront
Reservations)Cost estimation for AWS Infrastructure (Monthly)
AWS Simple Calculator Link: Ekeeko - AWS - 1 Year No Upfront
(LI)
Amazon EC2 Service (Singapore) US$ 243.14 Compute US$ 198.56 EBS
Volumes US$ 24.00 Elastic Load Balancer US$ 20.50 Data Processed by
ELB US$ 0.08
Amazon S3 Service (Singapore) US$ 0.24 Storage US$ 0.15 Put/List
Requests US$ 0.05 Other Requests US$ 0.04
AWS RDS ( Singapore) US$ 568.22 DB Instances US$ 64.42 Reserved
DB instance (one-time fee) US$ 490.00 Storage US$ 13.80
Amazon CloudFront Service US$ 0.90 Data Out US$ 0.85 Requests
US$ 0.05
AWS Dynamo DB (Singapore) US$ 0.00 DataSet + Reads/Writes US$
0.00
AWS Route 53 (Singapore) US$ 1.20 Hosted Zones and DNS Queries
US$ 1.20
Amazon Data Transfer US$ 2.28 Data Out US$ 2.28
TOTAL (USD) US$ 325.98 TOTAL (INR) 20,210.76
AWS Implementation : Ekeeko 9
-
cloudcover
1 Year No-Upfront
Monthly Cost US$ 325.98 Amazon RDS Reservations (Singapore) US$
490.00
TOTAL(USD) US$ 815.98 TOTAL (INR) 50,590.76
Effective Monthly Cost (USD) US$ 366.81 Effective Monthly Cost
(INR) 22,742.43
AWS Implementation : Ekeeko 10
-
cloudcover
Cost EstimationLinux with DynamoDB on RDS (LI) (with 1-year
Partial-Upfront Reservations)Cost estimation for AWS Infrastructure
(Monthly)
AWS Simple Calculator Link: Ekeeko - AWS - 1 Year Partial
Upfront
Amazon EC2 Service (Singapore) US$ 1,117.10 Compute US$ 90.52
EBS Volumes US$ 24.00 Reserved instance (one-time fee) US$ 982.00
Elastic Load Balancer US$ 20.50 Data Processed by ELB US$ 0.08
Amazon S3 Service (Singapore) US$ 0.24 Storage US$ 0.15 Put/List
Requests US$ 0.05 Other Requests US$ 0.04
AWS RDS ( Singapore) US$ 568.22 DB Instances US$ 64.42 Reserved
DB instance (one-time fee) US$ 490.00 Storage US$ 13.80
Amazon CloudFront Service US$ 0.90 Data Out US$ 0.85 Requests
US$ 0.05
AWS Dynamo DB (Singapore) US$ 0.00 DataSet + Reads/Writes US$
0.00
AWS Route 53 (Singapore) US$ 1.20 Hosted Zones and DNS Queries
US$ 1.20
Amazon Data Transfer US$ 2.28 Data Out US$ 2.28
TOTAL (USD) US$ 217.94 TOTAL (INR) 13,512.28
AWS Implementation : Ekeeko 11
-
cloudcover
1 Year Partial Reservation Cost
Monthly Cost US$ 217.94 Amazon RDS Reservations (Singapore) US$
490.00 Reserved EC2 instance (one-time fee) US$ 982.00
TOTAL(USD) US$ 1,689.94 TOTAL (INR) 104,776.28
Effective Monthly Cost (USD) US$ 340.61 Effective Monthly Cost
(INR) 21,117.61
AWS Implementation : Ekeeko 12
-
cloudcover
Deployment & ConsultancyBased 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.
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.
POC Consulting CostSetup and Configuration Man Days Per Man Day
Cost 30,000.00 Instance and DB Setup 1 15,000.00 15,000.00 Data
Copy and Integration 1 15,000.00 15,000.00
Post POC Consulting CostSetup and Configuration Man Days Per Man
Day Cost 45,000.00 Setup of Remaining Components1 15,000.00
15,000.00 Coordination and Integration 2 15,000.00 30,000.00
TOTAL 75,000.00
AWS Implementation : Ekeeko 13
-
cloudcover
SupportCloudCover offers a completely managed infrastructure
solution. We effectively become your IT administration and
operations arm and take care of everything associated with your
companys 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.
Each ticket consists of 1 Man-Hour.
AWS Implementation : Ekeeko 14