51
© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Running Microsoft and Oracle Stacks on Elastic Block Store [STG303] Jafar Shameem, Abdul Sathar Sait, Ulf Schoo (AWS) November 15, 2013

Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Embed Size (px)

DESCRIPTION

Run your Enterprise applications on Elastic Block Store (EBS). This session will discuss how you can leverage the block storage platform (EBS) as you move your Microsoft (SQL Server, Exchange, SharePoint) and Oracle (Databases, E-business Suite, Business Intelligence) workloads onto Amazon Web Services (AWS). The session will cover high availability, performance, and backup/restore best practices

Citation preview

Page 1: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Running Microsoft and Oracle Stacks on

Elastic Block Store [STG303]

Jafar Shameem, Abdul Sathar Sait, Ulf Schoo (AWS)

November 15, 2013

Page 2: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Agenda

• AWS storage options and Amazon EBS

• Amazon EBS Provisioned IOPS

• Oracle and Microsoft stacks – Licensing

– Sizing guidelines

– Best practices

– Demos

Page 3: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Storage Options on AWS

Block storage Object storage

Use for:

• Access to raw

unformatted block-

level storage

• Persistent Storage

Use for:

• Pictures, videos,

highly durable

media storage

• Cold storage for

long-term archive

Instance storage

Use for:

• Temporary files

• Storage for

applications that

can withstand node

failures

Page 4: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Amazon Elastic Block Store (EBS) Elastic Block Storage: Persistent Storage for EC2

High-performance block storage

device

Mount as drives to instances

Persistent and independent of

instance lifecycle

Feature Details

High-performance file system

Mount Amazon EBS as drives and format as required

Flexible size Volumes from 1 GB to 1 TB in size

Performance Up to 4000 IOPS per volume

Secure Private to your instances

Available Replicated within an Availability Zone

Backups Volumes can be snapshotted for point in time restore

Monitoring Detailed metrics captured via Cloud Watch

Page 5: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Two types of Amazon EBS Volumes

Standard volumes Provisioned IOPS volumes

• Moderate performance

• Boot volumes, light traffic

websites, file servers

• Optimized for transactional

workloads

• Business applications,

relational and NoSQL

databases, etc.

Page 6: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Workloads on Amazon EBS

Relational databases

Oracle, SQL Server

4 KB – 16 KB random I/O

Totaljobs.co.uk

NoSQL databases

MongoDB, CouchDB

Random I/O, 10s of thousands of

IOPS

Parse

Data repositories

DFS, Gluster, Lustre

Random or sequential

access

NASA JPL

Analytics

Fast sequential I/O access

Vertica, Hadoop

Obama for America

Page 7: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Within 10% of the IOPS performance 99.9% of the time over a given year

Consistent Performance

Page 8: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Before PIOPS:

After PIOPS:

Consistent End-to-End Application

Latency

Page 9: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Block Size

Block sizes measures I/O in sizes of 16 KB

Throughput on a volume = IOPS * 16 KB

Number of volumes per instance depend on bandwidth to

Amazon EBS

Page 10: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Queue Depth

Drive enough I/O to get the IOPS that you provision

Very high IOPS may increase latency

Recommendation:

- Start of queue depth = 4

- Tune

Page 11: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Instance vCPU EBS

Optimized Max

MB/s Max

IOPS*

t1 micro 1 No 32MB/s 2000

m1.small 1 No 64MB/s 4000

m1.medium 1 No 64MB/s 4000

m1.large 2 Yes 64MB/s 4000

m1.xlarge 4 Yes 128MB/s 8000

m3.xlarge 4 Yes 64MB/s 4000

m3.2xlarge 8 Yes 128MB/s 8000

c1.medium 2 No 32MB/s 2000

c1.xlarge 8 Yes 128MB/s 8000

cc2.8xlarge 32 NA 800MB/s 50,000

m2.xlarge 2 No 64MB/s 4000

m2.2xlarge 4 Yes 64MB/s 4000

m2.4xlarge 8 Yes 128MB/s 8000

cr1.8xlarge 32 NA 800MB/s 50,000

hi1.4xlarge 16 NA 800MB/s 50,000

cg1.4xlarge 16 NA 800MB/s 50,000

Amazon EBS-Optimized Instances

- Use Amazon EBS-optimized

instances for performance

Page 12: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Avoid Throughput Saturation

- Calculate maximum number

of Amazon EBS volumes for

the instance type

Page 13: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Snapshots

Write performance is affected while snapshot in progress

Schedule snapshots during off-hours

Snapshot often

Duplicate volumes. Expand sizes of volumes. Move volumes.

Performance:

Page 14: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Oracle Stack on AWS Elastic Block Storage

Page 15: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Oracle on AWS

• AWS simplifies Oracle implementation

• Makes management easy

• Could reduce implementation cost and time by half

Page 16: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Some of the Oracle Products Our Customers Use on AWS

• Oracle Database, GoldenGate, Data Guard

• Oracle eBusiness Suite, PeopleSoft, Siebel, J D Edwards

• Fusion Middleware, SOA suite, WebCenter, Weblogic

• OBIEE, Hyperion, ATG Web Commerce

Page 17: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Oracle License Portability to AWS

• All Oracle licenses are fully portable to Amazon Web Services • Enterprise license agreement (ELA)

– Unlimited license agreement (ULA)

– Business process outsourcing (BPO)

– Oracle Partner Network (OPN)

• Processor and socket licensing:

– 0.25 core multiplier for standard licenses (sockets)

– 0.5 core multiplier for enterprise licenses (processor)

Page 18: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 19: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 20: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 21: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 22: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 23: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 24: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 25: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 26: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 27: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 28: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 29: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 30: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013
Page 31: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Oracle Architecture Optimization

– Many ways to optimize web and middle tier

• Functional separation

• Vertical scaling

• Horizontal scaling and Auto Scaling

– Database performance is key to overall system performance

Page 32: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Enterprise Class Oracle Database Architecture

Page 33: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

High-Performance Oracle Database Architecture

Page 34: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Oracle Database Performance Optimization

– Storage is key to database performance

– Good database performance needs consistent high IOPS

– It also requires low-latency, high-bandwidth connectivity to

storage subsystem

Page 35: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

PIOPS and

EBS-Optimized Instances

Page 36: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Oracle Database Performance Optimization

– PIOPS for every storage component of the database

– Storage separation helps to manage and scale

– Stripe together multiple PIOPS volumes for cumulative IOPS

and larger storage

– Use Oracle ASM for striping and storage management

– Amazon EBS-optimized instances

– Make good use of ephemeral disks

Page 37: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Instantiating Amazon EC2 instance for Oracle DB

"Properties" : { ………… .

"Volumes" : [

{ "VolumeId" : { "Ref" : "RedoLogVolume" }, "Device" : "/dev/sde" },

{ "VolumeId" : { "Ref" : "RedoLogVolumeMirror" }, "Device" : "/dev/sdf" },

{ "VolumeId" : { "Ref" : "DataVolume01" }, "Device" : "/dev/sdi" },

{ "VolumeId" : { "Ref" : "DataVolume02" }, "Device" : "/dev/sdj" },

{ "VolumeId" : { "Ref" : "DataVolume03" }, "Device" : "/dev/sdk" },

{ "VolumeId" : { "Ref" : "DataVolume04" }, "Device" : "/dev/sdl" },

{ "VolumeId" : { "Ref" : "DataVolume05" }, "Device" : "/dev/sdm" },

],

"PrivateIpAddress" : "172.22.2.10",

"SecurityGroupIds" : [{

"Ref" : "ORCLInstanceSecurityGroup"

}

],

"SubnetId" : {

"Ref" : "PrimaryDBSubnet"

},

Page 38: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Installing Grid Control

# groupadd -g 1000 oinstall

# groupadd -g 1031 dba

# groupadd -g 1020 asmadmin

# groupadd -g 1021 asmdba

# groupadd -g 1022 asmoper

# groupadd -g 1032 oper

# useradd -u 1100 -g oinstall -G asmadmin,asmdba grid

# useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle

#su grid

Page 39: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Installing Grid Control and Striping with ASM

$ ./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -responseFile

/u01/SRC/grid/response/grid_install.rsp ORACLE_BASE="/u01/app/oracle"

ORACLE_HOME="/u01/app/oracle/11.2.0/grid" oracle.install.option="HA_CONFIG"

oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER=asmoper

oracle.install.asm.OSASM=asmadmin INVENTORY_LOCATION="/u01/app/oraInventory"

oracle.install.asm.diskGroup.name=DATA oracle.install.asm.diskGroup.redundancy=NORMAL

oracle.install.asm.diskGroup.diskDiscoveryString="/u01/disks/data*"

oracle.install.asm.diskGroup.disks ="/u01/disks/data1, /u01/disks/data2, /u01/disks/data3,

/u01/disks/data4, /u01/disks/data5 " oracle.install.asm.SYSASMPassword=password

oracle.install.asm.monitorPassword=password

Page 40: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Installing Database Using ASM striped disks

dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName orcl -sid orcl -

SysPassword password -SystemPassword password -emConfiguration NONE -redoLogFileSize 100

-recoveryAreaDestination DATA -storageType ASM -asmSysPassword password -diskGroupName

DATA -characterSet AL32UTF8 -nationalCharacterSet AL16UTF16 -totalMemory 800

Page 41: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Oracle Database Backup and Archival

– Use Amazon S3 for all backups

– Snapshot non-data file volumes

– Use RMAN to backup the database to Amazon S3 using

Oracle Secure Backup Cloud Module (OSB)

– Archive data to Amazon Glacier for long term storage

Page 42: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Windows Workloads on Amazon EBS

Storage

Page 43: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Windows Workloads on AWS

• Your solutions

• At your scale

• Powered by AWS

Page 44: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Storage Performance Is Key in all Windows-Based

Enterprise Deployment Scenarios SharePoint Enterprise Farm Exchange Server

Page 45: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Planning and Sizing Your Storage Deployment

• Size as though you plan to deploy in a physical datacenter – E.g., use the Exchange Server Role Requirements Calculator

• Consider performance characteristics of a shared computing, network, and storage environment

• Provision IOPS based on the results of your planning, and validate before production use

Page 46: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Deploy Storage Components Using the Tools You

Are Already Familiar With … AWS Tools for Visual Studio AWS Tools for Windows PowerShell

Page 47: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

… from AWS CloudFormation or Windows

PowerShell CLI AWS CloudFormation Windows PowerShell CLI

PS C:\> new-ec2volume –size 937 –AvailabilityZone us-west-2a –StoredCredentials ulfpowershell

Page 48: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Configure Storage for Maximum Performance at

Instance Provisioning Time DiskPart Utility Windows PowerShell

Page 49: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Deployment Best Practices

• I/O contention removal – Use ephemeral disks for page and temp files

• Striping for max IOPS

• SharePoint: – RBS: Offload SQL content DB into Amazon S3 for lower TCO and

increased durability of the objects

• Exchange: – Optimize DAG design for maximum throughput

– Monitor latency (I/O DB reads average latency, RPC latency to CAS servers)

– Test and validate your storage design using Jetstress

Page 50: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

Highly Available Windows Server and SQL Server

Solutions Running in the AWS Cloud

Demo

Windows Server Failover

Clustering (WSFC) cluster with

SQL AlwaysOn availability

groups

Page 51: Running Microsoft and Oracle Stacks on Elastic Block Store (STG303) | AWS re:Invent 2013

We are sincerely eager to hear

your feedback on this

presentation and on re:Invent.

Please fill out an evaluation form

when you have a chance.