SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
David Dooling & Ryan Richt
October 2015
Cloud First
New Architecture for New Infrastructure
@ddgenome & @ryan_richt
ARC401
What to Expect from the Session
Theory of Cloud
(ARC401) Cloud First: New Architecture for New Infrastructure
Scientists Turned Developers Turned Architects
Ryan
David
Scientists Turned Developers Turned Architects
Monsanto
(ARC401) Cloud First: New Architecture for New Infrastructure
Theory of Cloud
Theory of Cloud
Automated
Elastic
Highly Available
Security
Software defined everything
Unlimited scale + pay-as-you-go
Horizontally Scalable
Multi-AZ/region + shards/replicas
Provision more like things any time
“Do over” + Correct by construction
Theory of Cloud Cloud Architecture
Automated Higher-Order Automation
Elastic Ephemeral Environments
Highly Available Fault Tolerant
Security Secure by Construction
Horizontally Scalable Parallel, Commodity
⇒
Higher-Order Automation
Automated Tests
Continuous Integration
Continuous Delivery
Automated Infrastructure
Automated Fault Detection
Automated Recovery
…and automated tools to build more automation!
Fallacies of Internal Apps
1. The hardware is reliable
2. The network is reliable
3. The database is reliable
4. Other services are available
5. Inside the network is secure
6. …
Fault Tolerant
Fault Tolerant
Fallacies of 1st Generation Cloud
1. Other people’s fault tolerant
code is actually fault tolerant
2. Everything is stateless
3. Everything can be retried
4. Applications should handle all
faults
5. Data is magically handled by
someone else
Elastic, Ephemeral, Cost-Effective
time
cost
Cloud
On Prem
Dynamic Env Replication
time
cost
Cloud
On Prem
Experiments
A Do-Over for Secure by Construction
Secure by Assumption
Secure by Design
Security Automation
Horizontally Scalable
1. The overhead of scaling
grows at most linearly with
additional nodes
2. Reads and writes both
scale out
3. The system can continue to
provide this scalability
under loss of any node
* This (CAP) requires apps to
understand conflicts
Infrastructure Automation
Federation – 1000 VPCs
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VAmazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VPC
Amazon VP
Amazon
Amazon VPC
Amazon VPC
Cloud Architecture
Cloud Architecture
Cloud Architecture
Cloud Architecture
Cloud Architecture
AWS
CloudFormation
"IPAddress" : {
"Type" : "AWS::EC2::EIP",
"DependsOn" : "AttachGateway",
"Properties" : {
"Domain" : "vpc",
"InstanceId" : { "Ref" : "WebServerInstance" }
}
},
"InstanceSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"VpcId" : { "Ref" : "VPC" },
"GroupDescription" : "Enable SSH access via port 22",
"SecurityGroupIngress" : [
{"IpProtocol":"tcp","FromPort":"22","ToPort":"22",
"CidrIp" : { "Ref" : "SSHLocation"}},
{"IpProtocol":"tcp","FromPort":"80","ToPort":"80",
"CidrIp" : "0.0.0.0/0"}
]
}
},
"WebServerInstance" : {
"Type" : "AWS::EC2::Instance",
"DependsOn" : "AttachGateway",
"Metadata" : {
"Comment" : "Install a simple application", …
Cloud Architecture
CloudFormation Template Generator
https://github.com/MonsantoCo/cloudformation-template-generator
CloudFormation
Template
Generator
Referential Integrity
Auto Scaling
Group
CFTG: Security Groups
Stax
$ ./stax --help
Usage: stax [OPTIONS] COMMAND [COMMAND_ARGS]
add Add functionality to an existing VPC
auto-services Lanch multiple services on fleet using template/NAME.services file
check Run various tests against an existing stax
clean Remove keys and buckets of non-existant stacks
connect [TARGET] Connect to bastion|gateway|service in the VPC stax over SSH
create Create a new VPC stax in AWS
describe Describe the stax created from this host
delete Delete the existing VPC stax
dockerip-update Fetch docker IP addresses and update related files
fleet Run various fleetctl commands against the fleet cluster
help Output this message
history View history of recently created/deleted stax
list List all completely built and running stax
rds PASSWORD Create an RDS instance in the DB subnet
rds-delete RDSIN Delete RDS instance RDSIN
remove ADD Remove the previously added ADD
services List servers that are available to run across a stax
slack Post usage report to Slack, define hook in stax.config
sleep Turn on/off bastion host which allows ssh access into the VPC
start SERVICE Start service SERVICE in the fleet cluster
test Automated test to exercise functionality of stax
update Update an existing VPC with changes from Cloudformation
validate Validate CloudFormation template
For more help, check the docs: https://github.com/MonsantoCo/stax
Create and
manage
CloudFormation
stacks in AWS
$ ./stax create
[ ---- ] creating stax
[ NAME ] vpc-stax-36918-outfitting
[ ---- ] creating parameter file
[ ---- ] checking for valid json file format
[ ---- ] creating ssh key pair in aws
[ ---- ] creating key pair
[ ---- ] create bucket
[ ---- ] creating bucket vpc-stax-36918-outfitting
[ ---- ] uploading template
[ ---- ] validate template
[ ---- ] validating template https://s3.amazonaws.com/…
[ ---- ] uploading vpc assets
[ ---- ] creating stax in aws
[ ---- ] stax creation complete
[ ---- ] querying aws
[ ---- ] query complete
[ ---- ] see run/vpc-stax-36918-outfitting.json for details
$ ./stax connect
[ ---- ] checking if stax build is complete
[ ---- ] describe stax
[ NAME ] vpc-stax-36918-outfitting
[ ---- ] querying aws
[ ---- ] query complete
[ ---- ] see run/vpc-stax-36918-outfitting.json for details
[ ---- ] stack vpc-stax-36918-outfitting build complete
[ ---- ] connecting to stax: bastion
__| __|_ )
_| ( / Amazon Linux AMI
___|___|___|
https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/
[ec2-user@ip-10-183-1-195 ~]$
Stax as a Service - Create
Stax as a Service – List
Stax as a Service – Describe
Stax as a Service – Services
Monsanto
Microservices Lifecycle
Microservices: Cupcakes, Not Wedding Cakes
A modern language for software engineering
Abstract Data Types (ADTs)
Enforced Immutability
Pattern Matching & Destructuring
Assignment
Type-Level Programming
Futures, Actors, Async
Type classes
Scala, Haskell, Swift, OCaML, SML
Scala, Haskell, Clojure, Erlang, OCaML,
SML
CoffeeScript, Scala, Haskell, Swift, OCaML,
Erlang, SML
Haskell, Scala, C++
Erlang, Scala, Java
Haskell, Scala, ~OCaML
Hybrid OO/FP
Provides transition from and backward compatibility with Java
Advanced Abstractions
Algebraic Data Types (ADTs)
Enforced Immutability
Pattern Matching & Destructuring
Assignment
Type-Level Programming
Futures, Actors, Async
Type classes
Scala: A Modern Language for Software Engineering
Advanced Type Constraints
Advanced Generics & Variance
Higher Kinds
F-bounded Polymorphism
Self-Types
Type Projections
Type Members
Path Dependent Types
Type Refinements
Turing-complete!
(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure
Project-as-a-Service 1 – Create Code Repo/Wiki/Issues
Project-as-a-Service 2 – Simple Service Template
Runs giter8 to create a fully functional service written in
Scala based off our current best practices:
• Standard libraries (Slick, Spray, Akka, etc.) for
microservices
• Automated tests with ScalaTest
• Administrative REST endpoints
• Built in (remote) logging and metric capabilities
• Auto-Docker-ization
• Local Vagrant environment
Project-as-a-Service 3 – CI & Dockerization
New check-in Test and Build Dockerize
Project-as-a-Service 4 – Continuous Deployment
fleet
Router
Route Updater
Registrator
A commit is made to GitHub1
1
https://github.com/MonsantoCo/etcd-aws-cluster
https://github.com/MonsantoCo/docker-aws
https://github.com/MonsantoCo/fleet-client
fleet
Router
Route Updater
Registrator
GitHub notifies Jenkins that new code is available.
Jenkins runs automated tests to validate that code is functional.
2
2
fleet
Router
Route Updater
Registrator
Jenkins builds a Docker container and pushes it to our private Docker registry.3
3
service-1:1
fleet
Router
Route Updater
Registrator
Jenkins registers the service with etcd, our key/value store, since it doesn’t exist.4
4
service-1:1
name
version
revision
service-1 => 1
fleet
Router
Route Updater
Registrator
Jenkins calls fleet to deploy the container running our service.5
5
service-1:1
service-1 => 1
service v1 rev1
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Registrator notices the service is deployed and registers the location in etcd.6
6
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service v1 rev1
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
When a request is received, the router determines the current revision for the service as
well as the location of the service.
7
7
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service v1 rev1
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Next commit (rev 2) is received, Jenkins will test/build/push and look up the revision from
etcd. The revision is newer so it continues but does not update the current revision.
8
8
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service v1 rev1
service-1:2
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Jenkins deploys the new container to fleet. It runs side-by-side with the previous
revision at a different location.
9
9
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service v1 rev1
service-1:2
service v1 rev2
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Registrator notices the new service is deployed and registers the location in etcd under
a different key.
10
10
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]service v1 rev1
service-1:2
service v1 rev2
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Traffic continues to flow to the old service as the current revision has not changed.11
11
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]service v1 rev1
service-1:2
service v1 rev2
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Traffic can be directed to a particular version by using a header for testing purposes.12
12
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]service v1 rev1
service-1:2
service v1 rev2
X-Service-Revision: 2
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Periodically, Route Updater queries etcd to look for cases where there is a revision
deployed that is newer than the current route.
13
service-1:1
service-1 => 1
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]service v1 rev1
service-1:2
service v1 rev2 13
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
If there is a newer revision, route updater will attempt to call the smoketest endpoint. If
this returns true, it updates the current route.
14
service-1:1
service-1 => 2
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]service v1 rev1
service-1:2
service v1 rev2 14
/admin/smoketest
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Now traffic will start flowing to the new revision of the service automatically.15
service-1:1
service-1 => 2
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]service v1 rev1
service-1:2
service v1 rev2
15
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Route Updater will notice that there is a stale revision running. It will instruct the service
to cleanly exit by making a call to the /admin/shutdown endpoint.
16
service-1:1
service-1 => 2
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]service v1 rev1
service-1:2
service v1 rev2
16
/admin/shutdown
10.183.0.100:8081
10.183.0.100:8080
fleet
Router
Route Updater
Registrator
Registrator will notice the container is no longer running and remove its location from
etcd.
17
service-1:1
service-1 => 2
service-1-1 =>
[10.183.0.100:8080]
service-1-2 =>
[10.183.0.100:8081]
service-1:2
service v1 rev2
17
10.183.0.100:8081
fleet
Router
Route Updater
Registrator
The system continues as-is until a new revision is deployed.18
service-1:1
service-1 => 2
service-1-2 =>
[10.183.0.100:8081]
service-1:2
service v1 rev2
10.183.0.100:8081
Comprehensive
Service – log4j
Container – logspout
CoreOS – journal forwarder
Bastion/NAT – rsyslog
ELB – S3 (ELK coming soon)
S3 – S3 (ELK coming soon)
CloudTrail – S3 → TrailDash
RDS – (coming soon)
Logging with ScalaLogging and ELK
Easy to use
• Standard ScalaLogging interface
• Auto custom formats (stack traces)
• JSON-format log messages
• Direct-to-ELK writing
• Standard Fields (container ID, code
version, service name, etc)
Instrumentation & Shipping
• Kamon to Prometheus
Exporter, preserves more
metrics than Prometheus JVM
• Improved tracing
• Improved complex data
mapping
• Periodically collect and push
Spray metrics to Kamon
Automating Kamon and Prometheus
Auto-discovery, Dashboards, Alerts
• Custom Docker containers with
more automation – etcd
discovery
• Custom default dashboards
• Auto EC2/EBS/RDS standup
• OAuth integration
• SNS notification integration
• Default Alerts
https://github.com/MonsantoCo/spray-kamon-metrics
What’s Next
Improvements & Evolution
AWS Service Catalog – API?
EC2 Container Service
AWS IAM
• EC2 CS Roles
• RDS Roles – per VPC/DB Subnet Groups
Amazon API Gateway
VPC Flow Logs – CloudFormation support?
Inverting control for deployment
CloudFormation update predictability
IAM role
Amazon RDS
Amazon EC2
Container
Service
Higher-Order Automation
Automated Tests
Continuous Integration
Continuous Delivery
Automated Infrastructure
Automated Fault Detection
Automated Recovery
…and automated tools to build more automation!
Monsanto IT
Acknowledgements
Larry Anderson
Chris Coffman
TJ Corrigan
Phil Cryer
Dave D’Alessandro
Daniel Solano Gómez
Justin Honold
Kyle Jones
Jessica Kerr
Kevin Meredith
Jorge Montero
Brian Rodgers
Chris Shafer
Niranjan Vengavasi
Dick Wall
Russ Wilson
Stuart Wong
Thank you!
engineering.monsanto.com
@MonsantoPlatformEng
@ddgenome @ryan_richt
Remember to complete
your evaluations!
Related Sessions
ARC309 - From Monolithic to Microservices: Evolving
Architecture Patterns in the Cloud
Thursday, Oct 8, 4:15 PM - 5:15 PM – Palazzo N
MBL203 - From Drones to Cars: Connecting the
Devices in Motion to the Cloud
Friday, Oct 9, 10:15 AM - 11:15 AM – Delfino 4005
http://engineering.monsanto.com/code
@MonsantoPlatformEng
https://github.com/MonsantoCo/cloudformation-template-generator
https://github.com/MonsantoCo/docker-aws
https://github.com/MonsantoCo/etcd-aws-cluster
https://github.com/MonsantoCo/fleet-client
https://github.com/MonsantoCo/spray-kamon-metrics
https://github.com/MonsantoCo/stax
More to come…
@ddgenome @ryan_richt

Mais conteúdo relacionado

Mais procurados

(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014Amazon Web Services
 
(SEC316) Harden Your Architecture w/ Security Incident Response Simulations
(SEC316) Harden Your Architecture w/ Security Incident Response Simulations(SEC316) Harden Your Architecture w/ Security Incident Response Simulations
(SEC316) Harden Your Architecture w/ Security Incident Response SimulationsAmazon Web Services
 
(SEC306) Defending Against DDoS Attacks
(SEC306) Defending Against DDoS Attacks(SEC306) Defending Against DDoS Attacks
(SEC306) Defending Against DDoS AttacksAmazon Web Services
 
AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013
AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013
AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013Amazon Web Services
 
AWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
AWS Webcast - Deploying Remote Desktop Gateway on the AWS CloudAWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
AWS Webcast - Deploying Remote Desktop Gateway on the AWS CloudAmazon Web Services
 
SEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOpsSEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOpsAmazon Web Services
 
AWS APAC Webinar Week - Getting The Most From EC2
AWS APAC Webinar Week - Getting The Most From EC2AWS APAC Webinar Week - Getting The Most From EC2
AWS APAC Webinar Week - Getting The Most From EC2Amazon Web Services
 
February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive Amazon Web Services
 
(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...
(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...
(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...Amazon Web Services
 
February 2016 Webinar Series - Introducing VPC Support for AWS Lambda
February 2016 Webinar Series - Introducing VPC Support for AWS LambdaFebruary 2016 Webinar Series - Introducing VPC Support for AWS Lambda
February 2016 Webinar Series - Introducing VPC Support for AWS LambdaAmazon Web Services
 
AWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWSAWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWSAmazon Web Services
 
DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring Amazon Web Services
 
Getting Started with Amazon Inspector
Getting Started with Amazon InspectorGetting Started with Amazon Inspector
Getting Started with Amazon InspectorAmazon Web Services
 
(SEC308) Wrangling Security Events In The Cloud
(SEC308) Wrangling Security Events In The Cloud(SEC308) Wrangling Security Events In The Cloud
(SEC308) Wrangling Security Events In The CloudAmazon Web Services
 
Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSAmazon Web Services
 
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...Amazon Web Services
 
(SEC202) Best Practices for Securely Leveraging the Cloud
(SEC202) Best Practices for Securely Leveraging the Cloud(SEC202) Best Practices for Securely Leveraging the Cloud
(SEC202) Best Practices for Securely Leveraging the CloudAmazon Web Services
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the CloudAmazon Web Services
 

Mais procurados (20)

(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
 
(SEC316) Harden Your Architecture w/ Security Incident Response Simulations
(SEC316) Harden Your Architecture w/ Security Incident Response Simulations(SEC316) Harden Your Architecture w/ Security Incident Response Simulations
(SEC316) Harden Your Architecture w/ Security Incident Response Simulations
 
(SEC306) Defending Against DDoS Attacks
(SEC306) Defending Against DDoS Attacks(SEC306) Defending Against DDoS Attacks
(SEC306) Defending Against DDoS Attacks
 
Deep Dive:EC2 Container Service
Deep Dive:EC2 Container ServiceDeep Dive:EC2 Container Service
Deep Dive:EC2 Container Service
 
AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013
AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013
AWS Elastic Beanstalk under the Hood (DMG301) | AWS re:Invent 2013
 
AWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
AWS Webcast - Deploying Remote Desktop Gateway on the AWS CloudAWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
AWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
 
SEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOpsSEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOps
 
AWS APAC Webinar Week - Getting The Most From EC2
AWS APAC Webinar Week - Getting The Most From EC2AWS APAC Webinar Week - Getting The Most From EC2
AWS APAC Webinar Week - Getting The Most From EC2
 
February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive
 
(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...
(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...
(SEC307) Building a DDoS-Resilient Architecture with Amazon Web Services | AW...
 
February 2016 Webinar Series - Introducing VPC Support for AWS Lambda
February 2016 Webinar Series - Introducing VPC Support for AWS LambdaFebruary 2016 Webinar Series - Introducing VPC Support for AWS Lambda
February 2016 Webinar Series - Introducing VPC Support for AWS Lambda
 
AWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWSAWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWS
 
Amazon EC2:Masterclass
Amazon EC2:MasterclassAmazon EC2:Masterclass
Amazon EC2:Masterclass
 
DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring
 
Getting Started with Amazon Inspector
Getting Started with Amazon InspectorGetting Started with Amazon Inspector
Getting Started with Amazon Inspector
 
(SEC308) Wrangling Security Events In The Cloud
(SEC308) Wrangling Security Events In The Cloud(SEC308) Wrangling Security Events In The Cloud
(SEC308) Wrangling Security Events In The Cloud
 
Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECS
 
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
 
(SEC202) Best Practices for Securely Leveraging the Cloud
(SEC202) Best Practices for Securely Leveraging the Cloud(SEC202) Best Practices for Securely Leveraging the Cloud
(SEC202) Best Practices for Securely Leveraging the Cloud
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the Cloud
 

Destaque

AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016jtmelton
 
Amazon Military Talent Program
Amazon Military Talent ProgramAmazon Military Talent Program
Amazon Military Talent Programbrianraymonddolan
 
Russian Hunting | Special offer
Russian Hunting | Special offerRussian Hunting | Special offer
Russian Hunting | Special offerMoloshnikov.com
 
vodQA Pune - Innovations in Testing - Agenda
vodQA Pune - Innovations in Testing - AgendavodQA Pune - Innovations in Testing - Agenda
vodQA Pune - Innovations in Testing - AgendavodQA
 
Fluentd at HKOScon
Fluentd at HKOSconFluentd at HKOScon
Fluentd at HKOSconN Masahiro
 
Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...
Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...
Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...Paul Fechtelkotter
 
One Click Deploys using Rundeck
One Click Deploys using RundeckOne Click Deploys using Rundeck
One Click Deploys using RundeckSai Kothapalle
 
Application Development on Metapod
Application Development on MetapodApplication Development on Metapod
Application Development on MetapodCisco DevNet
 
Ahg microsoft stream_insight_queries
Ahg microsoft stream_insight_queriesAhg microsoft stream_insight_queries
Ahg microsoft stream_insight_queriesSteve Xu
 
concepto de colección local
concepto de colección localconcepto de colección local
concepto de colección localguestf488db7
 
Modern Infrastructure from Scratch with Puppet
Modern Infrastructure from Scratch with PuppetModern Infrastructure from Scratch with Puppet
Modern Infrastructure from Scratch with PuppetPuppet
 
Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveCloudCamp Chicago
 
Amazon Elastic Block Store for Application Storage
Amazon Elastic Block Store for Application StorageAmazon Elastic Block Store for Application Storage
Amazon Elastic Block Store for Application StorageAmazon Web Services
 
EMC World 2015 - The Devops Toolkit
EMC World 2015 - The Devops ToolkitEMC World 2015 - The Devops Toolkit
EMC World 2015 - The Devops ToolkitJonas Rosland
 

Destaque (20)

AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
 
Dialogue Assessment
Dialogue AssessmentDialogue Assessment
Dialogue Assessment
 
CF Summit: Skilling Up
CF Summit: Skilling UpCF Summit: Skilling Up
CF Summit: Skilling Up
 
Amazon Military Talent Program
Amazon Military Talent ProgramAmazon Military Talent Program
Amazon Military Talent Program
 
Powerupcloud - Corporate Deck
Powerupcloud - Corporate DeckPowerupcloud - Corporate Deck
Powerupcloud - Corporate Deck
 
Russian Hunting | Special offer
Russian Hunting | Special offerRussian Hunting | Special offer
Russian Hunting | Special offer
 
vodQA Pune - Innovations in Testing - Agenda
vodQA Pune - Innovations in Testing - AgendavodQA Pune - Innovations in Testing - Agenda
vodQA Pune - Innovations in Testing - Agenda
 
Fluentd at HKOScon
Fluentd at HKOSconFluentd at HKOScon
Fluentd at HKOScon
 
Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...
Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...
Smart Factory Technology Road Mapping Initiative_The Intent of Things and Ana...
 
One Click Deploys using Rundeck
One Click Deploys using RundeckOne Click Deploys using Rundeck
One Click Deploys using Rundeck
 
Application Development on Metapod
Application Development on MetapodApplication Development on Metapod
Application Development on Metapod
 
Ahg microsoft stream_insight_queries
Ahg microsoft stream_insight_queriesAhg microsoft stream_insight_queries
Ahg microsoft stream_insight_queries
 
concepto de colección local
concepto de colección localconcepto de colección local
concepto de colección local
 
Crow
CrowCrow
Crow
 
Modern Infrastructure from Scratch with Puppet
Modern Infrastructure from Scratch with PuppetModern Infrastructure from Scratch with Puppet
Modern Infrastructure from Scratch with Puppet
 
Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at Cohesive
 
Amazon Elastic Block Store for Application Storage
Amazon Elastic Block Store for Application StorageAmazon Elastic Block Store for Application Storage
Amazon Elastic Block Store for Application Storage
 
EMC World 2015 - The Devops Toolkit
EMC World 2015 - The Devops ToolkitEMC World 2015 - The Devops Toolkit
EMC World 2015 - The Devops Toolkit
 
Introduction to ICS/SCADA security
Introduction to ICS/SCADA securityIntroduction to ICS/SCADA security
Introduction to ICS/SCADA security
 
Coniferous Forest
Coniferous ForestConiferous Forest
Coniferous Forest
 

Semelhante a (ARC401) Cloud First: New Architecture for New Infrastructure

Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitDanilo Poccia
 
Automating Security in your IaC Pipeline
Automating Security in your IaC PipelineAutomating Security in your IaC Pipeline
Automating Security in your IaC PipelineAmazon Web Services
 
Understanding the New Enterprise Multi-Cloud Backbone for DevOps Engineers
Understanding the New Enterprise Multi-Cloud Backbone for DevOps EngineersUnderstanding the New Enterprise Multi-Cloud Backbone for DevOps Engineers
Understanding the New Enterprise Multi-Cloud Backbone for DevOps EngineersDevOps.com
 
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Amazon Web Services
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraFormWesley Charles Blake
 
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel AvivSelf Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel AvivAmazon Web Services
 
Stups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSStups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSJan Löffler
 
Aws container webinar day 2
Aws container webinar day 2Aws container webinar day 2
Aws container webinar day 2HoseokSeo7
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWSDevOps.com
 
DevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursDevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursAmazon Web Services
 
Hybrid Infrastructure Integration
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure IntegrationAmazon Web Services
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMalcolm Duncanson, CISSP
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSRyan Crawford
 
Hybrid Infrastructure Integration
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure IntegrationAmazon Web Services
 
Hybrid Infrastructure Integration
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure IntegrationAmazon Web Services
 
Deep Dive - Hybrid Architectures
Deep Dive - Hybrid ArchitecturesDeep Dive - Hybrid Architectures
Deep Dive - Hybrid ArchitecturesAmazon Web Services
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitDanilo Poccia
 
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Marc Müller
 

Semelhante a (ARC401) Cloud First: New Architecture for New Infrastructure (20)

Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
Automating Security in your IaC Pipeline
Automating Security in your IaC PipelineAutomating Security in your IaC Pipeline
Automating Security in your IaC Pipeline
 
Understanding the New Enterprise Multi-Cloud Backbone for DevOps Engineers
Understanding the New Enterprise Multi-Cloud Backbone for DevOps EngineersUnderstanding the New Enterprise Multi-Cloud Backbone for DevOps Engineers
Understanding the New Enterprise Multi-Cloud Backbone for DevOps Engineers
 
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraForm
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel AvivSelf Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
 
Stups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSStups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWS
 
Aws container webinar day 2
Aws container webinar day 2Aws container webinar day 2
Aws container webinar day 2
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWS
 
DevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursDevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office Hours
 
Hybrid Infrastructure Integration
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure Integration
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM Roles
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
 
Hybrid Infrastructure Integration
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure Integration
 
Hybrid Infrastructure Integration
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure Integration
 
Deep Dive - Hybrid Architectures
Deep Dive - Hybrid ArchitecturesDeep Dive - Hybrid Architectures
Deep Dive - Hybrid Architectures
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
 

Mais de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mais de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 

Último (20)

Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 

(ARC401) Cloud First: New Architecture for New Infrastructure

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. David Dooling & Ryan Richt October 2015 Cloud First New Architecture for New Infrastructure @ddgenome & @ryan_richt ARC401
  • 2. What to Expect from the Session Theory of Cloud
  • 4. Scientists Turned Developers Turned Architects
  • 9. Theory of Cloud Automated Elastic Highly Available Security Software defined everything Unlimited scale + pay-as-you-go Horizontally Scalable Multi-AZ/region + shards/replicas Provision more like things any time “Do over” + Correct by construction
  • 10. Theory of Cloud Cloud Architecture Automated Higher-Order Automation Elastic Ephemeral Environments Highly Available Fault Tolerant Security Secure by Construction Horizontally Scalable Parallel, Commodity ⇒
  • 11. Higher-Order Automation Automated Tests Continuous Integration Continuous Delivery Automated Infrastructure Automated Fault Detection Automated Recovery …and automated tools to build more automation!
  • 12. Fallacies of Internal Apps 1. The hardware is reliable 2. The network is reliable 3. The database is reliable 4. Other services are available 5. Inside the network is secure 6. … Fault Tolerant
  • 13. Fault Tolerant Fallacies of 1st Generation Cloud 1. Other people’s fault tolerant code is actually fault tolerant 2. Everything is stateless 3. Everything can be retried 4. Applications should handle all faults 5. Data is magically handled by someone else
  • 14. Elastic, Ephemeral, Cost-Effective time cost Cloud On Prem Dynamic Env Replication time cost Cloud On Prem Experiments
  • 15. A Do-Over for Secure by Construction Secure by Assumption Secure by Design Security Automation
  • 16. Horizontally Scalable 1. The overhead of scaling grows at most linearly with additional nodes 2. Reads and writes both scale out 3. The system can continue to provide this scalability under loss of any node * This (CAP) requires apps to understand conflicts
  • 18. Federation – 1000 VPCs Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VAmazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VPC Amazon VP Amazon Amazon VPC Amazon VPC
  • 24. AWS CloudFormation "IPAddress" : { "Type" : "AWS::EC2::EIP", "DependsOn" : "AttachGateway", "Properties" : { "Domain" : "vpc", "InstanceId" : { "Ref" : "WebServerInstance" } } }, "InstanceSecurityGroup" : { "Type" : "AWS::EC2::SecurityGroup", "Properties" : { "VpcId" : { "Ref" : "VPC" }, "GroupDescription" : "Enable SSH access via port 22", "SecurityGroupIngress" : [ {"IpProtocol":"tcp","FromPort":"22","ToPort":"22", "CidrIp" : { "Ref" : "SSHLocation"}}, {"IpProtocol":"tcp","FromPort":"80","ToPort":"80", "CidrIp" : "0.0.0.0/0"} ] } }, "WebServerInstance" : { "Type" : "AWS::EC2::Instance", "DependsOn" : "AttachGateway", "Metadata" : { "Comment" : "Install a simple application", …
  • 30. Stax $ ./stax --help Usage: stax [OPTIONS] COMMAND [COMMAND_ARGS] add Add functionality to an existing VPC auto-services Lanch multiple services on fleet using template/NAME.services file check Run various tests against an existing stax clean Remove keys and buckets of non-existant stacks connect [TARGET] Connect to bastion|gateway|service in the VPC stax over SSH create Create a new VPC stax in AWS describe Describe the stax created from this host delete Delete the existing VPC stax dockerip-update Fetch docker IP addresses and update related files fleet Run various fleetctl commands against the fleet cluster help Output this message history View history of recently created/deleted stax list List all completely built and running stax rds PASSWORD Create an RDS instance in the DB subnet rds-delete RDSIN Delete RDS instance RDSIN remove ADD Remove the previously added ADD services List servers that are available to run across a stax slack Post usage report to Slack, define hook in stax.config sleep Turn on/off bastion host which allows ssh access into the VPC start SERVICE Start service SERVICE in the fleet cluster test Automated test to exercise functionality of stax update Update an existing VPC with changes from Cloudformation validate Validate CloudFormation template For more help, check the docs: https://github.com/MonsantoCo/stax Create and manage CloudFormation stacks in AWS
  • 31. $ ./stax create [ ---- ] creating stax [ NAME ] vpc-stax-36918-outfitting [ ---- ] creating parameter file [ ---- ] checking for valid json file format [ ---- ] creating ssh key pair in aws [ ---- ] creating key pair [ ---- ] create bucket [ ---- ] creating bucket vpc-stax-36918-outfitting [ ---- ] uploading template [ ---- ] validate template [ ---- ] validating template https://s3.amazonaws.com/… [ ---- ] uploading vpc assets [ ---- ] creating stax in aws [ ---- ] stax creation complete [ ---- ] querying aws [ ---- ] query complete [ ---- ] see run/vpc-stax-36918-outfitting.json for details
  • 32. $ ./stax connect [ ---- ] checking if stax build is complete [ ---- ] describe stax [ NAME ] vpc-stax-36918-outfitting [ ---- ] querying aws [ ---- ] query complete [ ---- ] see run/vpc-stax-36918-outfitting.json for details [ ---- ] stack vpc-stax-36918-outfitting build complete [ ---- ] connecting to stax: bastion __| __|_ ) _| ( / Amazon Linux AMI ___|___|___| https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/ [ec2-user@ip-10-183-1-195 ~]$
  • 33. Stax as a Service - Create
  • 34. Stax as a Service – List
  • 35. Stax as a Service – Describe
  • 36. Stax as a Service – Services
  • 40. A modern language for software engineering Abstract Data Types (ADTs) Enforced Immutability Pattern Matching & Destructuring Assignment Type-Level Programming Futures, Actors, Async Type classes Scala, Haskell, Swift, OCaML, SML Scala, Haskell, Clojure, Erlang, OCaML, SML CoffeeScript, Scala, Haskell, Swift, OCaML, Erlang, SML Haskell, Scala, C++ Erlang, Scala, Java Haskell, Scala, ~OCaML Hybrid OO/FP Provides transition from and backward compatibility with Java
  • 41. Advanced Abstractions Algebraic Data Types (ADTs) Enforced Immutability Pattern Matching & Destructuring Assignment Type-Level Programming Futures, Actors, Async Type classes Scala: A Modern Language for Software Engineering Advanced Type Constraints Advanced Generics & Variance Higher Kinds F-bounded Polymorphism Self-Types Type Projections Type Members Path Dependent Types Type Refinements Turing-complete!
  • 44. Project-as-a-Service 1 – Create Code Repo/Wiki/Issues
  • 45. Project-as-a-Service 2 – Simple Service Template Runs giter8 to create a fully functional service written in Scala based off our current best practices: • Standard libraries (Slick, Spray, Akka, etc.) for microservices • Automated tests with ScalaTest • Administrative REST endpoints • Built in (remote) logging and metric capabilities • Auto-Docker-ization • Local Vagrant environment
  • 46. Project-as-a-Service 3 – CI & Dockerization New check-in Test and Build Dockerize
  • 47. Project-as-a-Service 4 – Continuous Deployment
  • 48. fleet Router Route Updater Registrator A commit is made to GitHub1 1 https://github.com/MonsantoCo/etcd-aws-cluster https://github.com/MonsantoCo/docker-aws https://github.com/MonsantoCo/fleet-client
  • 49. fleet Router Route Updater Registrator GitHub notifies Jenkins that new code is available. Jenkins runs automated tests to validate that code is functional. 2 2
  • 50. fleet Router Route Updater Registrator Jenkins builds a Docker container and pushes it to our private Docker registry.3 3 service-1:1
  • 51. fleet Router Route Updater Registrator Jenkins registers the service with etcd, our key/value store, since it doesn’t exist.4 4 service-1:1 name version revision service-1 => 1
  • 52. fleet Router Route Updater Registrator Jenkins calls fleet to deploy the container running our service.5 5 service-1:1 service-1 => 1 service v1 rev1 10.183.0.100:8080
  • 53. fleet Router Route Updater Registrator Registrator notices the service is deployed and registers the location in etcd.6 6 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service v1 rev1 10.183.0.100:8080
  • 54. fleet Router Route Updater Registrator When a request is received, the router determines the current revision for the service as well as the location of the service. 7 7 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service v1 rev1 10.183.0.100:8080
  • 55. fleet Router Route Updater Registrator Next commit (rev 2) is received, Jenkins will test/build/push and look up the revision from etcd. The revision is newer so it continues but does not update the current revision. 8 8 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service v1 rev1 service-1:2 10.183.0.100:8080
  • 56. fleet Router Route Updater Registrator Jenkins deploys the new container to fleet. It runs side-by-side with the previous revision at a different location. 9 9 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service v1 rev1 service-1:2 service v1 rev2 10.183.0.100:8081 10.183.0.100:8080
  • 57. fleet Router Route Updater Registrator Registrator notices the new service is deployed and registers the location in etcd under a different key. 10 10 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081]service v1 rev1 service-1:2 service v1 rev2 10.183.0.100:8081 10.183.0.100:8080
  • 58. fleet Router Route Updater Registrator Traffic continues to flow to the old service as the current revision has not changed.11 11 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081]service v1 rev1 service-1:2 service v1 rev2 10.183.0.100:8081 10.183.0.100:8080
  • 59. fleet Router Route Updater Registrator Traffic can be directed to a particular version by using a header for testing purposes.12 12 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081]service v1 rev1 service-1:2 service v1 rev2 X-Service-Revision: 2 10.183.0.100:8081 10.183.0.100:8080
  • 60. fleet Router Route Updater Registrator Periodically, Route Updater queries etcd to look for cases where there is a revision deployed that is newer than the current route. 13 service-1:1 service-1 => 1 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081]service v1 rev1 service-1:2 service v1 rev2 13 10.183.0.100:8081 10.183.0.100:8080
  • 61. fleet Router Route Updater Registrator If there is a newer revision, route updater will attempt to call the smoketest endpoint. If this returns true, it updates the current route. 14 service-1:1 service-1 => 2 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081]service v1 rev1 service-1:2 service v1 rev2 14 /admin/smoketest 10.183.0.100:8081 10.183.0.100:8080
  • 62. fleet Router Route Updater Registrator Now traffic will start flowing to the new revision of the service automatically.15 service-1:1 service-1 => 2 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081]service v1 rev1 service-1:2 service v1 rev2 15 10.183.0.100:8081 10.183.0.100:8080
  • 63. fleet Router Route Updater Registrator Route Updater will notice that there is a stale revision running. It will instruct the service to cleanly exit by making a call to the /admin/shutdown endpoint. 16 service-1:1 service-1 => 2 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081]service v1 rev1 service-1:2 service v1 rev2 16 /admin/shutdown 10.183.0.100:8081 10.183.0.100:8080
  • 64. fleet Router Route Updater Registrator Registrator will notice the container is no longer running and remove its location from etcd. 17 service-1:1 service-1 => 2 service-1-1 => [10.183.0.100:8080] service-1-2 => [10.183.0.100:8081] service-1:2 service v1 rev2 17 10.183.0.100:8081
  • 65. fleet Router Route Updater Registrator The system continues as-is until a new revision is deployed.18 service-1:1 service-1 => 2 service-1-2 => [10.183.0.100:8081] service-1:2 service v1 rev2 10.183.0.100:8081
  • 66. Comprehensive Service – log4j Container – logspout CoreOS – journal forwarder Bastion/NAT – rsyslog ELB – S3 (ELK coming soon) S3 – S3 (ELK coming soon) CloudTrail – S3 → TrailDash RDS – (coming soon) Logging with ScalaLogging and ELK Easy to use • Standard ScalaLogging interface • Auto custom formats (stack traces) • JSON-format log messages • Direct-to-ELK writing • Standard Fields (container ID, code version, service name, etc)
  • 67. Instrumentation & Shipping • Kamon to Prometheus Exporter, preserves more metrics than Prometheus JVM • Improved tracing • Improved complex data mapping • Periodically collect and push Spray metrics to Kamon Automating Kamon and Prometheus Auto-discovery, Dashboards, Alerts • Custom Docker containers with more automation – etcd discovery • Custom default dashboards • Auto EC2/EBS/RDS standup • OAuth integration • SNS notification integration • Default Alerts https://github.com/MonsantoCo/spray-kamon-metrics
  • 69. Improvements & Evolution AWS Service Catalog – API? EC2 Container Service AWS IAM • EC2 CS Roles • RDS Roles – per VPC/DB Subnet Groups Amazon API Gateway VPC Flow Logs – CloudFormation support? Inverting control for deployment CloudFormation update predictability IAM role Amazon RDS Amazon EC2 Container Service
  • 70. Higher-Order Automation Automated Tests Continuous Integration Continuous Delivery Automated Infrastructure Automated Fault Detection Automated Recovery …and automated tools to build more automation!
  • 72. Acknowledgements Larry Anderson Chris Coffman TJ Corrigan Phil Cryer Dave D’Alessandro Daniel Solano Gómez Justin Honold Kyle Jones Jessica Kerr Kevin Meredith Jorge Montero Brian Rodgers Chris Shafer Niranjan Vengavasi Dick Wall Russ Wilson Stuart Wong
  • 75. Related Sessions ARC309 - From Monolithic to Microservices: Evolving Architecture Patterns in the Cloud Thursday, Oct 8, 4:15 PM - 5:15 PM – Palazzo N MBL203 - From Drones to Cars: Connecting the Devices in Motion to the Cloud Friday, Oct 9, 10:15 AM - 11:15 AM – Delfino 4005