7. Adop'on
“It
is
the
overwhelming
market
share
leader,
with
more
than
five
'mes
the
cloud
IaaS
compute
capacity
in
use
than
the
aggregate
total
of
the
other
14
providers”
Magic
Quadrant
for
Cloud
IaaS,
28
May
2014
8. INFRASTRUCTURE
Regions
Availability
Zones
Points
of
Presence
AWS
PlaGorm
• It
all
starts
with
infrastructure
• Regions
– Global
presence
• Availability
Zones
– Build
highly-‐available
applica'ons
at
a
frac'on
of
the
cost
of
tradi'onal
ac've-‐ac've
setups
• Points
of
presence
– Serve
sta'c
content
quickly.
“Be
where
your
users
are”
9. <
2-‐5
Availability
Zones
• AZs
<
2ms
apart
usually
<
1ms
• Transit
center
connects
to
– AWS
regions
&
Direct
Connect
(private
links)
– Internet
(public
link)
• Redundant
paths
to
transit
center
<
1-‐6
Data
Centers
• No
DC
is
in
2
AZs
• DCs
within
AZ
<
¼ms
apart
+
>50
Edge
Loca@ons
• DNS
• Caching
11
Regions
• Private
AWS
fiber
links
interconnect
all
major
regions
– Increased
availability
&
performance,
lower
jifer
&
costs
• Compute
&
storage
to
customers
or
required
jurisdic'onal
boundaries
Infrastructure
15. Feature
Highlight:
AWS
Marketplace
• Buy
3rd
Party
Somware
&
Services
• Ready
to
Use
on
EC3
• Pricing
Models
• Pay-‐As-‐You-‐Go
Hourly
Pricing
• Yearly
Subscrip'ons
• Bring
Your
Own
License
16. SDLC
on
AWS
• Accelerate
the
SDLC
– How
to
harness
the
power
of
this
new
technology
infrastructure
plaGorm?
Flywheel
Develop
Build
&
Test
Deploy
Monitor
&
Analyze
17. SDLC
on
AWS
• Develop:
SDKs
&
Toolkit
Integra'ons
Java
Python (boto)
PHP
.NET
Ruby
Node.js
iOS
Android
AWS Toolkit for
Visual Studio
AWS Toolkit
for Eclipse
AWS Tools for
Windows
PowerShell
AWS CLI
JavaScript
19. Feature
Highlight:
AWS
CodeCommit
• Managed
Git
source
code
repos
• Highly
durable,
highly
available
• Closely
locate
source
code
to
dev/
staging/produc'on
• No
size
limits
on
repositories
or
files
• Granular
permissions
• Encrypt
files
on
commit
• Bring
your
own
keys
• Coming
‘early
2015’
20. Feature
Highlight:
Vagrant
+
Docker
Vagrant.configure(VAGRANTFILE_API_VERSION)
do
|config|
config.vm.provider
:virtualbox
do
|vb,
override|
override.vm.box
=
"phusion/ubuntu-‐14.04-‐amd64"
…
end
config.vm.provider
:aws
do
|aws,
override|
aws.instance_type
=
"m3.medium"
aws.region
=
"eu-‐west-‐1"
aws.ami=
"ami-‐f0b11187"
…
end
…
config.vm.provision
"docker"
do
|d|
d.pull_images
"sequenceiq/spark:1.1.0"
d.pull_images
"tpires/neo4j"
d.run
"tpires/neo4j",
args:
"-‐d
-‐p
0.0.0.0:80:7474
-‐v
/data:/data
-‐v
/home/ubuntu/neo4jdata:/var/lib/neo4j/data"
d.run
"spark",
cmd:
"/etc/bootstrap.sh
-‐bash”,
args:
"-‐i
-‐t
-‐h
sandbox
-‐d"
end
end
Start
a
local
development
VM
$
vagrant
up
Start
a
development
VM
on
AWS
$
vagrant
up
-‐-‐provider=aws
21. SDLC
on
AWS
• Build
&
Test
– On-‐demand
builds
• Store
&
distribute
build
output
– Store
&
distribute
build
output
• S3
for
cheap,
durable
storage
– Fully
automated,
isolated
test
environments
• ‘Programmable
data
center’
• CloudForma'on
templates
– Leverage
parallel
capacity
for
tests
• 1
instance
for
50Hrs
=
50
instances
for
1Hr
– Test
Scenarios:
Load
–
UAT
–
A/B
–
Fault-‐tolerance
– CodePipeline
for
con'nuous
integra'on,
test
&
deployment
workflow
22. Feature
Highlight:
AWS
CodePipeline
• Codify
&
automate
release
process
• Enable
repeatable,
automated
integra'on
• Construct
graphical
model
of
release
process
• Combina'on
of
serial
and
parallel
ac'ons
• Time-‐based
or
manual
approval
gates
between
stages
• Watches
repo
for
changes
and
triggers
the
appropriate
workflow
• Integrates
with
exis'ng
code
repos,
build
&
test
tools
• Coming
‘early
2015’
23. Feature
Highlight:
CloudForma@on
• Describe
your
en're
AWS
infrastructure
in
JSON
• Can
be
version
controlled
• Easy
deployments
globally
• DevOps
Concepts
• ‘Immutable
Infrastructure’
• ‘Infrastructure
as
Code’
24. SDLC
on
AWS
• Deploy
– Enable
con'nuous
deployment
• Model
workflow
in
AWS
CodePipeline
• Automate
deployments
with
AWS
CodeDeploy
• Manage
configura'on
with
OpsWorks
(hosted
Chef)
– Store
everything
as
a
CloudForma'on
template
25. Feature
Highlight
AWS
CodeDeploy
• Automated
deployments
across
EC2
fleet
(1
to
1000s
instances)
• <Apollo
• 50
million
deployments
in
last
12
months
• Features
• Fully
managed
• Rolling
deployments
• Customizable
• Deployment
health
tracking
• Stop
&
rollback
support
• Centralized
control
• Language/architecture
agnos'c
• Toolchain
integra'on
• Free