TECHNOLOGY WHITE PAPER Jan 2016



Similar documents
TECHNOLOGY WHITE PAPER Jun 2012

Design for Failure High Availability Architectures using AWS

ur skills.com

Application Security Best Practices. Matt Tavis Principal Solutions Architect

EEDC. Scalability Study of web apps in AWS. Execution Environments for Distributed Computing

Primex Wireless OneVue Architecture Statement

Scalable Architecture on Amazon AWS Cloud

Web Application Hosting in the AWS Cloud Best Practices

Netop Environment Security. Unified security to all Netop products while leveraging the benefits of cloud computing

Preparing Your IT for the Holidays. A quick start guide to take your e-commerce to the Cloud

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Using ArcGIS for Server in the Amazon Cloud

Introduction to DevOps on AWS

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

How AWS Pricing Works May 2015

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Web Application Hosting in the AWS Cloud Best Practices

Running Oracle Applications on AWS

Amazon Web Services Yu Xiao

Alfresco Enterprise on AWS: Reference Architecture

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Scalable Application. Mikalai Alimenkou

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

Cloud Computing with Amazon Web Services and the DevOps Methodology.

Amazon Elastic Beanstalk

Chapter 9 PUBLIC CLOUD LABORATORY. Sucha Smanchat, PhD. Faculty of Information Technology. King Mongkut s University of Technology North Bangkok

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Opsview in the Cloud. Monitoring with Amazon Web Services. Opsview Technical Overview

Cloud computing - Architecting in the cloud

Learning Management Redefined. Acadox Infrastructure & Architecture

Cloud Computing Disaster Recovery (DR)

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

CLOUD COMPUTING WITH AWS An INTRODUCTION. John Hildebrandt Solutions Architect ANZ

319 MANAGED HOSTING TECHNICAL DETAILS

Running Oracle on the Amazon Cloud

Every Silver Lining Has a Vault in the Cloud

Introduction to AWS in Higher Ed

AWS Account Setup and Services Overview

How AWS Pricing Works

Last time. Today. IaaS Providers. Amazon Web Services, overview

Building Fault-Tolerant Applications on AWS October 2011

Storage and Disaster Recovery

Logentries Insights: The State of Log Management & Analytics for AWS

Architecture Statement

Cloud Computing In Reality: Experience sharing in cloud solution developments and evaluations

Amazon Relational Database Service. User Guide API Version

Servers. Servers. NAT Public Subnet: /20. Internet Gateway. VPC Gateway VPC: /16

How To Choose Between A Relational Database Service From Aws.Com

Reliable Data Tier Architecture for Job Portal using AWS

AWS Performance Tuning

Cloud Models and Platforms

Last time. Today. IaaS Providers. Amazon Web Services, overview

Background on Elastic Compute Cloud (EC2) AMI s to choose from including servers hosted on different Linux distros

ArcGIS 10.3 Server on Amazon Web Services

Best Practices for Siebel on AWS

Expert Reference Series of White Papers. Introduction to Amazon Relational Database Service (Amazon RDS)

Thing Big: How to Scale Your Own Internet of Things.

Software- as- a- Service (SaaS) on AWS Business and Architecture Overview

How To Scale A Server Farm

Simone Brunozzi, AWS Technology Evangelist, APAC. Fortress in the Cloud

Cloud Computing For Bioinformatics

Use of Cloud Computing for scalable geospatial data processing and access

Amazon EC2 Product Details Page 1 of 5

Razvoj Java aplikacija u Amazon AWS Cloud: Praktična demonstracija

Zend Server Amazon AMI Quick Start Guide

Getting Started with AWS. Web Application Hosting for Linux

GIS and the Cloud. Richard Cantwell

Migrating a running service to AWS

When talking about hosting

OpenStack. Orgad Kimchi. Principal Software Engineer. Oracle ISV Engineering. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Storage Options in the AWS Cloud: Use Cases

Using ArcGIS for Server in the Amazon Cloud

Unisys Cost Schedule. Unisys Cost Schedule. Page 1

Cloud Computing and Amazon Web Services

GeoCloud Project Report GEOSS Clearinghouse

High-Availability in the Cloud Architectural Best Practices

Using SUSE Studio to Build and Deploy Applications on Amazon EC2. Guide. Solution Guide Cloud Computing.

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri

MarkLogic Server. MarkLogic Server on Amazon EC2 Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Low-cost Open Data As-a-Service in the Cloud

StorReduce Technical White Paper Cloud-based Data Deduplication

PBS on Amazon. Jon Brendsel Vice President, Products

Développement logiciel pour le Cloud (TLC)

The Cloud as a Computing Platform: Options for the Enterprise

IAN MASSINGHAM. Technical Evangelist Amazon Web Services

GETTING STARTED WITH PROGRESS AMAZON CLOUD

Managing Your Microsoft Windows Server Fleet with AWS Directory Service. May 2015

Scaling in the Cloud with AWS. By: Eli White (CTO & mojolive) eliw.com - mojolive.com

An Esri White Paper January 2011 Estimating the Cost of a GIS in the Amazon Cloud

Jinesh Varia Technology Evangelist Architectural Design Patterns in Cloud Computing

Making Your ColdFusion Apps Highly Available. Brian Klaas Johns Hopkins Bloomberg School of Public Health

KT ucloud storage. Two Years of Life with OpenStack Swift / Jaesuk Ahn, Cloud OS Dev. Team, Korea Telecom

Security Essentials & Best Practices

Transcription:

TECHNOLOGY WHITE PAPER Jan 2016 Technology Stack C# PHP Amazon Web Services (AWS) Route 53 Elastic Load Balancing (ELB) Elastic Compute Cloud (EC2) Amazon RDS Amazon S3 Elasticache CloudWatch Paypal Overview of i-neighbour i-neighbour is a powerful web-based system for residential visitor management for various kinds of neighbourhoods. Built with LAMP framework and MySQL Relational Database Management, i-neighbour is basically an advanced web-based version of existing visitor management system and this application has vast potential for use in homes, SMEs or even large multinational companies (MNC). i-neighbour centralizes all visitor information to the server where you can control, manage and download the data all from one place. On top of that, we also have the i-neighbour Mobile application for iphone/ ipad/ ipod Touch and Android device users which allows the user to pre-register/approve/reject/check visitor registration as long as an Internet connection is available. i-neighbour is a residential visitor management solutions provider. Abbreviations EC2 Elastic Compute Cloud AWS Amazon Web Services S3 Simple Storage Service MFA Multi Factor Authentication EBS Elastic Block Storage IAM Identity and Access Management SQS Simple Queue Service AZ Availability zones SNS Simple Notification Service VPN Virtual Private Network ELB Elastic Load Balancer SPOF Single Point Of Failure i-neighbour has decided to leverage AWS cloud services to create a multi-tenant version cloud storage system to reduce operational cost and to effectively utilize the infrastructure. In addition, i-neighbour would like to utilize the cloud to ensure consistent performance; automatic scaling of the infrastructure based on load and high availability of its surveillance services. i-neighbour is run on LINUX server to provide more security and its payment solution is integrated with Paypal payment gateway to further secure its customer credential. http:/// i-neighbour Technology White Paper1

Introduction i-neighbour Service consists of the following 3 main cores: System Study and Architecture Cloud Engineering Infrastructure Design System Study And Architecture An in-depth technical study of i-neighbour application as well as the Amazon Web Services Platform has been performed which covered all the major layers of the applicale storage, external integration points les. i-neighbour has designed the infrastructure architecture based on the input gathered during the system study. The recommended architecture will follow best practices for setting up scalable and highly available infrastructure on AWS (Examples: Loose coupling, Design for failure). Some objectives for this exercise are: High Availability using multiple AWS Availability Zones within a region Failover of Amazon EC2 instances (Web/App) using Amazon Auto Scaling Scalability of Amazon EC2 instances (Web/App) using Amazon Auto Scaling Load Balancing using Amazon Elastic Load Balancing Amazon RDS (MySQL) Database in High Availability Mode with X Read Replica Slave Monitoring of infrastructure using Amazon Cloud Watch metrics Infrastructure related alerts via Email using Amazon SNS guration of Amazon RDS database and Web/App layer Amazon S3 and Amazon EBS for Storage Based on the study, i-neighbour will contain architecture setup as follows. i-neighbour Technology White Paper2

Web Frontend User 1 User 2 AWS ROUTE 53 AWS SECURITY GROUP CONFIGURATIONS Static Files ELASTIC LOAD BALANCER WEB SERVER Amazon CloudWatch @ Auto Zone 1 Scaling Zone 2 Simple Email Serivce DATABASE CACHE Amazon ElastiCache Master Slave i-neighbour Technology White Paper 3

AWS Advantage Elasticity New EC2 instances can be automatically added during Peak loads and reduced down during valleys High Availability Web, Application and Database instances can be run on Multiple Availability Zones inside a Region for High Availability Fault Tolerance Inherently Fault tolerant building blocks like S3, EBS, CloudWatch, SQS, SNS, SES can be used for Storage, Monitoring and Messaging Security Amazon Security groups, IAM policies, Secure Access through Keys can be leveraged for security Flexibility Multiple Instances Types/Capacities, Full permissions and Mix Match option The architecture involves the following AWS Infrastructure components like: Amazon EC2 Web, Application and Database servers will be hosted as Amazon EC2 server instances. Amazon S3 AMI s, Logs, Snapshots, Backups and static assets can be maintained in Amazon S3. AWS Security groups & Firewall range access to/from internet. rewall to allow port/ip Amazon Regions/AZ Web, Application servers,database and Load Balancers will be setup on Multiple Availability zones inside an Amazon Region. Amazon Elastic Load balancers Software Load balancers HAProxy/Nginx/Amazon ELB will be used for load balancing. Amazon Auto Scaling Amazon Auto Scaling and Custom Scaling Scripts will be used to enable Auto Scaling of the Web and Application Servers. Amazon EBS le storage. EBS will be attached/detached with relevant server instances. Amazon Elastic IP Elastic IP is a public IP that will be attached with relevant EC2 instances. Deployment Automation and system patches. gured for application Amazon CloudWatch Components of Amazon Web Services like EC2, EBS etc. will be monitored using AWS CloudWatch. Amazon SNS cations, Alerts triggered from CloudWatch will be published to the System administrators using SNS. IAM Identity Access Management enables you to securely control access to AWS services and resources for your users. i-neighbour Technology White Paper4

i-neighbour Technology White Paper5 residential visitor management system SAAS - Multi Tenancy Multi Tenancy is an essential component of any SAAS implementation and it helps in reducing the overall cost of the infrastructure used by all customers. MultiTenancy within i-neighbour can be enabled by introducing a simple abstract layer that offers to identify the tenant and guides the application to ensure that the data sent by devices can be saved in the right data store for the given customer. The introduction of the abstract layer would involve most probably a single change within the application layer where the database connection string is identified to read/write into the data store. Cloud Engineering i-neighbour involves a great amount of coding. Cloud Engineering is a process to get our internal cloud developers for implementing cloud related portions of the architecture. Our cloud developers are well versed with the AWS cloud services API and involved in the development of scalable/highly available architecture which will be implemented in i-neighbour. During the Cloud Engineering stage, our cloud developers will develop an integration layer for the front end application to communicate with the backend process. It is to automate the whole i-neighbour into fully Do-It-Yourself concept from the moment you start your purchase until you start using the i-neighbour residential visitor management service. Web Frontend Visitor accesses i-neighbour Cloud ow the application data is represented below:- User will go through the load balancer and be redirected Login will be authenticated in the Integration layer Integration Layer will retrieve the correct database connection string i-neighbour Cloud will get the correct database connection string for data retrieval. With multi Tenancy in place, the application software can be scaled based on load and performance needs, thereby reducing the overall operational cost of the entire infrastructure. A simple comparison table between Single/Multi Tenancy is given below:- METRIC Infrastructure Scaling Cost Utilization SINGLE TENANT Fixed. Provisioned during the initial setup and requires constant updates when new devices are added. Device -> Application No Scaling Fixed and High Low Since the device is mapped to the application, if the customer is on a lower plan, he might not be utilizing the servers fully. MULTI TENANCY Flexible. Provisioned partially during initial setup and the rest is auto scaled. Device -> Bridge -> Application Tier Auto Scaled based on load Variable and Low High Since any customer can use any application tier server, the utilization is maximum keeping the overall cost low.

Infrastructure Design i-neighbour will set up infrastructure in line with the architecture design illustrated in the earlier section. The approximate Scope of Work is presented below: Capacity and EC2 instance provisioning: Provision the required infrastructure capacity in terms of the minimum number of Amazon EC2 instances required are Instance Types, Launch Types, Regions And Availability Zones. guration / setup are considered in this scope. gure EC2 instances for Web/App layer, RDS DB and ElastiCache layers. gure custom EC2 Instances as required to suit Epicamera s application architecture. Elastic load balancers will be implemented in this EC2 Instance launched for Epicamera s functional operations. DNS Setup: gure the relevant domain entries in Amazon Route 53 (only in R53 scope) according to the architecture recommendation. Security and IAM: rewall / security group rules for / between the ELB, Web/App layer instances, storage layer and database layer. Provision and setup the required IAM (Identity and Access Management) users and policies. Load Balancing Layer: Provision Amazon Elastic Load Balancing for the web setup. gure Web/App layers with Amazon Auto Scaling. gure the load balancer to point to multiple Amazon EC2 servers to enable nosingle-point-of-failure of Web/App Layer. gure Port forwarding, health check frequencies, Load balancing algorithms. ed. gure the custom load balancer for the bridging server setup. gure and Provision required. Number of S3 buckets and access policies for Snapshots, logs, archives, CDN etc. EBS and Ephemeral disks for application storage. Required backup policy and implement the snapshot backup solution for the Amazon EC2 servers. i-neighbour Technology White Paper6

AWS ElastiCache Layer: ed AZ/Region. gurations/credentials to i-neighbour s team for corresponding changes. i-neighbour guration sections accordingly. gure AWS CloudWatch Monitoring on the ElastiCache Nodes. Database Layer: gure and Provision RDS MySQL instance for Primary Database gure Standby RDS instance for High Availability in Multi-AZ Mode c machines gure the DB Backup Snapshots, Periodic Dumps, Backup retention period gure the CloudWatch Monitoring for the RDS Master gure 1-2 Read Replica s in the cases needed. Monitoring: gure Amazon CloudWatch to monitor important metrics Enable Detailed CloudWatch monitoring for the Web/App layer, Elasticache and Database layer instances SNS Integration for alerts on infrastructure parameters such as CPU Utilization, Disk Usage, etc. (parameters available and monitored by CloudWatch) gure the 3rd party Website Health monitoring tool (if required) Backup: Create custom scripts for backing up Application Deployment Files in Web/App Layer Enable RDS snapshot based backups and Periodic Dumps for RDS database layer Error logs and System logs generated in Web/App Layer are rotated and uploaded to S3 using custom scripts System Patches: Update the Operating System, Application server and other server patches at regular intervals and manage the AMI versions inside AWS infrastructure Application Patches: Deploy the application executable to the AWS production environment. Epicamera Development team will pass the detailed deployment instructions steps/ guides to Epicamera Deployment services team. guration: cations in AWS Security groups to open new ports IP ranges /close existing ports and IP ranges and manage the IAM on the AWS end. AMI Bundling: Create base AMI (Amazon Machine Image) once the application has been setup and is implemented for Web/App Layer. This AMI will be used for AutoScaling. Support: Register for the required AWS premium support after providing the details about various support plans available at AWS. AWS Premium Support cost is additionally payable to AWS. i-neighbour Technology White Paper 7