Immutable Deployments with AWS CloudFormation and AWS Lambda

AOE
AOE AOE
(and AWS Lambda)
Immutable Deployments with AWS CloudFormation and AWS Lambda
& aoepeople!
E-Commerce:
Magento
CMS:
TYPO3
Portals:
ZF, Symfony,…
Mobile Searchperience:
ElasticSearch
250+ people
world-wide
(in 8 locations)
Global
Enterprise
Projects
Infrastructure:
AWS
CloudFormation Lambda “Immutable”
/i(m)ˈmyo͞ odəb(ə)l/
adjective
unchanging over time or unable to be changed.
“disposable”
“ephemeral”
Pet
Cattle
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
not disposable disposable
disposable
not disposable
disposable
Static Resources BuildVPC Build
Immutable Deployments with AWS CloudFormation and AWS Lambda
Build Bucket
IAM Setup
VPC
Static Resources
Build
Manual Setup
separate
CloudFormation
Stacks
use resources
from underlying
stacks as input
parameters
Lambda functions,
Monitoring,…
Build Bucket
IAM Setup
Environment A (e.g. prod) Environment B (e.g. stage)
VPC VPC
Static Resources Static Resources
Build BuildBuild Build
Build X Build X+1 Build X Build X+1
Manual Setup
different scopes
(build, environment,
account, global…)
Build Bucket
IAM Setup
Environment A (e.g. prod) Environment B (e.g. stage) Environment C (e.g. qa) Environment D (e.g. dev)
IAM Setup
VPC VPC VPC VPC
Static Resources Static Resources Static Resources Static Resources
Build BuildBuild Build Build Build Build Build
Build X Build X+1 Build X Build X+1 Build X Build X+1 Build X Build X+1
Manual Setup Manual Setup
Build Bucket Access
Private subnets
Public subnets
ElastiCache (Redis)
with replication groups
for cache and sessions
RDS (multi-az) with
DB subnet group
Bastion
server
s3: media
storage*
Route 53: DNS
configuration
CloudFront
distribution
SSL
Certificates
Security group for Varnish servers
Security group for Magento servers
Security group for Load Balancer
Static Resources
Build
Auto Scaling group
Auto Scaling group
Elastic Load
Balancer
Auto-
Scaling
Group
Launch
Configurati
on
Scaling
Policy
Build
Auto Scaling group
Auto Scaling group
Elastic Load
Balancer
Auto-
Scaling
Group
Launch
Configurati
on
Scaling
Policy
Auto Scaling group Auto Scaling group
+1
Baking AMIs
“Chef vs. Puppet?”
http://fbrnc.net/blog/2015/11/
how-to-provision-an-ec2-instance
“…Ansible!”
“BASH!”
Keep it simple…!
✔ ✔ (✔)
the “last mile”
most
underestimated
CFN feature!
Immutable Deployments with AWS CloudFormation and AWS Lambda
var r = require('cfn-response');
exports.handler = function (event, context) {
[…]
var res = {};
if (event.RequestType == 'Create') {
res.Password = randomPassword(20);
}
r.send(event, context, r.SUCCESS, res);
};
"IndexerDb": {
"Type": "AWS::RDS::DBInstance",
"Properties": {
[...]
"MasterUserPassword": {"Fn::GetAtt": ["GenerateDbPassword", "Password"]},
[...]
}
},
"GenerateDbPassword": {
"Type": "Custom::PasswordGenerator",
"Properties": {
"ServiceToken": {"Ref": "PasswordGeneratorArn"}
}
},
Immutable Deployments with AWS CloudFormation and AWS Lambda
• launch some ASGs (set DesiredCapacity)
• create database passwords
• tag all resources (incl. ElastiCache!)
• restore database and media files
• (one-time) install scripts (db migrations,…)
• detect Varnish backends
• wait for healthy backends in the ELBs
• run infrastructure tests
• cache warming
• update Route53 records sets
• delete old stacks
• …
Immutable Deployments with AWS CloudFormation and AWS Lambda
DesiredCapacity =
Number of Instances in current ASG x 1.2
better safe
than sorry…
DesiredCapacity =
Number of Instances in current ASG x 1.2
DesiredCapacity =
Number of Instances in current ASG x 1.2
ScalingPolicy
takes care…
"CountInstances": {
"Type": "Custom::InstanceCounter",
"Properties": {
"ServiceToken": {"Ref": "InstanceCounter"},
"AutoScalingGroupTags": [
{"Key": "Environment", "Value": "prod"},
{"Key": "Type", "Value": "Frontend"}
],
"Min": 1, "Max": 10, "Factor": "1.5"
}
},
"FrontendAsg": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
[...]
"DesiredCapacity": {"Fn::GetAtt": ["CountInstances", "Count"]},
"Tags": [
{"Key": "Environment", "Value": "prod", "PropagateAtLaunch": true},
{"Key": "Type", "Value": “Frontend", "PropagateAtLaunch": true}
]
}
},
Update Route53 record set
Update Route53 record set
Delete old stacks
"UpdateR53": {
"DependsOn": [ "MagentoWaitCondition", "MagentoWorkerWaitCondition", "Elb"],
"Type": "Custom::Route53Update",
"Properties": {
"ServiceToken": {"Ref": "R53Updater"},
"Name": {"Fn::Join": ["", [ "www-", {"Ref": "EnvironmentName"} ]]},
"HostedZoneId": {"Ref": "HostedZoneId"},
"AliasTargetDNSName": {"Fn::GetAtt": ["Elb", "DNSName"]},
"AliasTargetHostedZoneId": {"Fn::GetAtt": ["Elb", "CanonicalHostedZoneNameID"]},
"Comment": "Updated via CloudFormation/Lambda"
}
},
"DeleteStacks": {
"Condition": "DeleteOldStacks",
"DependsOn": ["UpdateR53"],
"Type": "Custom::StackDeleter",
"Properties": {
"ServiceToken": {"Ref": "StackDeleter"},
"TagFilter": { "Environment": {"Ref": "EnvironmentName"}, "Type": "Deployment"},
"ExceptStackName": {"Ref": "AWS::StackName"}
}
}
Immutable Deployments with AWS CloudFormation and AWS Lambda
+1
Baking AMIs
Tools+CI
Have fun
filling out
47 form
fields! :)
aoepeople/stackformation
command-line tool
(Symfony console, uses
AWS SDK for PHP)
integrates nicely into
your CI (Jenknis,…)
pre-process
Userdata
Lambda JS
“Template”
superset of CFN
template (JSON)
Parameterslookup from other
stacks, env vars,…
Template
Parameter
Values
create/
update
Stack policies, Tags,…
Stack
magento-stage-build-5
Stack
magento-stage-build-6
Stack
magento-prod-build-6
Stack
magento-prod-build-5
CloudFormation
Template
merge &
pre-process
“CloudFormation+X”
Template(s)
+
Dynamic Parameters
+
Stack Policies
+
Behavior
+
Tags
…
Blueprint
magento-{env:ENVIRONMENT}-build-{env:BUILD}
Blueprint
magento-{env:ENVIRONMENT}-setup
Stack
magento-stage-setup
Stack
magento-prod-setup
blueprints:
- stackname: 'magento-{env:BUILD}'
template: 'magento.template'
stackPolicy: 'policy.json'
OnFailure: 'DO_NOTHING'
parameters:
Build: '{env:BUILD}'
KeyPair: '{var:KeyPair}'
VPC: '{resource:setupstack:VPC}'
Subnet: '{resource:setupstack:Subnet}'
InstanceSg: '{resource:setupstack:InstanceSg}'
InstanceProfile: '{output:setupstack:InstanceProfile}'
BootAmi: 'ami-06116566'
tags:
Environment: 'prod'
Build: '{env:BUILD}'
enforce
“immutability” by
denying updates!
aoepeople/cfn-vpc
aoepeople/cfn-lambdahelper
aoepeople/cfn-amibaker
via composer
so we can
integrate this into
our CI pipeline…
•
Immutable Deployments with AWS CloudFormation and AWS Lambda
aoepeople/awsinspector
command-line tool
(Symfony console, uses
AWS SDK for PHP)
Domain models for PHP
$repository = new AwsInspectorModelElbRepository();
$dns = $repository->findElbsByTags([
'Environment' => 'deploy',
'Build' => 554,
'Type' => 'Frontend’
])->getFirst()->getDNSName();
> bin/awsinspector.php ec2:ssh -t Environment:prod –c Type –c Build
filter by tag
Please select an instance
[0] i-1033ed9b (Type: Frontend; Environment: prod; Build: 477)
[1] i-4ff36ec8 (Type: Backend; Environment: prod ; Build: 477)
[2] i-5ab4322b (Type: Worker; Environment: prod; Build: 477)
[3] i-705ad42f (Type: Worker; Environment: prod; Build: 476)
>
• will take jump hosts into
account (ProxyCommand)
• auto-detects your local
(encrypted) private keys
• multiplexed ssh connections
• run commands directly
Immutable Deployments with AWS CloudFormation and AWS Lambda
logins,
orders,…
deployments,
scaling activity,…
JMeter
response time,
error rate,…
CPU, load,
network I/O,…
correlate
metrics from
various sources
GrafanaElasticSearch
(Service)
time-series
database
leftovers from
“disposed” resources
…
“Ready for testing”
(WaitCondition)
setup
terminate
instances
and wait
• Create Security
allowing access
to all IPs and
attach to UAT’s
ELB
environment
(incl. restoring db+media
snapshot from prod)
environment*
Delete self*
*via Lambda custom resource
Pushing samples in near real-time
via custom JMeter backend
listener
“Testing Completed”
(WaitCondition)
JMeter test
CloudFormation
Stack
GrafanaElasticSearch
(Service)
CloudWatch
Lambda
find relevant resources for the
current deployment (via tags),
collect metrics,
and push them to ElasticSearch
CloudFormation Stack
• Install JMeter
• Download
testcase from S3
• Signal “Ready”
and wait
• Create SG
allowing access
to all IPs and
attach to UAT’s
ELB
Auto-Scaling Group of Load Generator Instances
Run Stress Test2.
Time
timeout 3600 jmeter –n –t testcase.jmx
Delete test
environment*
Delete self*
3. 4.
*via Lambda custom resource
…
Spin up test
environment
(incl. restoring db+media
snapshot from prod)
1.
CloudFormation
Stack
setup
terminate
instances
JMeter test
Pushing samples in near real-time
via custom JMeter backend listener
“Ready for testing”
(WaitCondition)
“Testing Completed”
(WaitCondition)
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
https://blogs.aws.amazon.com/application-
management/post/Tx38Z5CAM5WWRXW/Faster-Auto-Scaling-in-AWS-
CloudFormation-Stacks-with-Lambda-backed-Custom-Resou
Provisioning
“Ready for baking”
(WaitCondition)
EC2
AMI Baker
(Lambda) Node.js SDK
AWS CLI
“Baking Completed”
(WaitCondition)
shutdown
(-> terminate)
ec2.createImage
aws ec2 wait image-available
AMI Baker
(Lambda) Node.js SDK
ec2.deleteImage
Custom
CloudFormation
Resource
Time
Immutable Deployments with AWS CloudFormation and AWS Lambda
•
Follow me on twitter!
My blog
1 of 69

Recommended

Magento 2 Workflows by
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 WorkflowsRyan Street
4.7K views36 slides
An Introduction to Windows PowerShell by
An Introduction to Windows PowerShellAn Introduction to Windows PowerShell
An Introduction to Windows PowerShellDale Lane
24.7K views166 slides
Play vs Rails by
Play vs RailsPlay vs Rails
Play vs RailsDaniel Cukier
45.7K views36 slides
Node.js vs Play Framework (with Japanese subtitles) by
Node.js vs Play Framework (with Japanese subtitles)Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Yevgeniy Brikman
42.5K views163 slides
Composable and streamable Play apps by
Composable and streamable Play appsComposable and streamable Play apps
Composable and streamable Play appsYevgeniy Brikman
122.3K views163 slides
Bosh 2.0 by
Bosh 2.0Bosh 2.0
Bosh 2.0Johannes Engelke
969 views27 slides

More Related Content

What's hot

Single Page Web Applications with CoffeeScript, Backbone and Jasmine by
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
24.6K views147 slides
Choosing a Javascript Framework by
Choosing a Javascript FrameworkChoosing a Javascript Framework
Choosing a Javascript FrameworkAll Things Open
1K views101 slides
Integrating icinga2 and the HashiCorp suite by
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteBram Vogelaar
534 views46 slides
Future of Web Apps: Google Gears by
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gearsdion
7.9K views41 slides
Asynchronous web apps with the Play Framework 2.0 by
Asynchronous web apps with the Play Framework 2.0Asynchronous web apps with the Play Framework 2.0
Asynchronous web apps with the Play Framework 2.0Oscar Renalias
8.2K views44 slides
Ant by
AntAnt
AntManav Prasad
308 views19 slides

What's hot(20)

Single Page Web Applications with CoffeeScript, Backbone and Jasmine by Paulo Ragonha
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Paulo Ragonha24.6K views
Integrating icinga2 and the HashiCorp suite by Bram Vogelaar
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar534 views
Future of Web Apps: Google Gears by dion
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gears
dion7.9K views
Asynchronous web apps with the Play Framework 2.0 by Oscar Renalias
Asynchronous web apps with the Play Framework 2.0Asynchronous web apps with the Play Framework 2.0
Asynchronous web apps with the Play Framework 2.0
Oscar Renalias8.2K views
Varnish Cache and its usage in the real world! by Ivan Chepurnyi
Varnish Cache and its usage in the real world!Varnish Cache and its usage in the real world!
Varnish Cache and its usage in the real world!
Ivan Chepurnyi10.8K views
JWT - Sécurisez vos APIs by André Tapia
JWT - Sécurisez vos APIsJWT - Sécurisez vos APIs
JWT - Sécurisez vos APIs
André Tapia1.6K views
Rhebok, High Performance Rack Handler / Rubykaigi 2015 by Masahiro Nagano
Rhebok, High Performance Rack Handler / Rubykaigi 2015Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Masahiro Nagano76.1K views
Building a real life application in node js by fakedarren
Building a real life application in node jsBuilding a real life application in node js
Building a real life application in node js
fakedarren20.4K views
Play Framework: async I/O with Java and Scala by Yevgeniy Brikman
Play Framework: async I/O with Java and ScalaPlay Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and Scala
Yevgeniy Brikman108.6K views
Plugin-based software design with Ruby and RubyGems by Sadayuki Furuhashi
Plugin-based software design with Ruby and RubyGemsPlugin-based software design with Ruby and RubyGems
Plugin-based software design with Ruby and RubyGems
Sadayuki Furuhashi7.9K views
Creating Reusable Puppet Profiles by Bram Vogelaar
Creating Reusable Puppet ProfilesCreating Reusable Puppet Profiles
Creating Reusable Puppet Profiles
Bram Vogelaar58 views
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin... by Alexander Lisachenko
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Getting Started with Ansible by ahamilton55
Getting Started with AnsibleGetting Started with Ansible
Getting Started with Ansible
ahamilton55528 views
Play + scala + reactive mongo by Max Kremer
Play + scala + reactive mongoPlay + scala + reactive mongo
Play + scala + reactive mongo
Max Kremer8.8K views
Java Play RESTful ebean by Faren faren
Java Play RESTful ebeanJava Play RESTful ebean
Java Play RESTful ebean
Faren faren2.4K views
Java Play Restful JPA by Faren faren
Java Play Restful JPAJava Play Restful JPA
Java Play Restful JPA
Faren faren1.6K views

Similar to Immutable Deployments with AWS CloudFormation and AWS Lambda

Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops... by
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...Amazon Web Services
9K views84 slides
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv by
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
1.2K views55 slides
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... by
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...Amazon Web Services
3K views61 slides
Just one-shade-of-openstack by
Just one-shade-of-openstackJust one-shade-of-openstack
Just one-shade-of-openstackRoberto Polli
186 views28 slides
Scalable and Fault-Tolerant Apps with AWS by
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSFernando Rodriguez
2.4K views33 slides
TIAD : Automating the modern datacenter by
TIAD : Automating the modern datacenterTIAD : Automating the modern datacenter
TIAD : Automating the modern datacenterThe Incredible Automation Day
3.1K views72 slides

Similar to Immutable Deployments with AWS CloudFormation and AWS Lambda(20)

Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops... by Amazon Web Services
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv by Amazon Web Services
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
Amazon Web Services1.2K views
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... by Amazon Web Services
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Just one-shade-of-openstack by Roberto Polli
Just one-shade-of-openstackJust one-shade-of-openstack
Just one-shade-of-openstack
Roberto Polli186 views
Scalable and Fault-Tolerant Apps with AWS by Fernando Rodriguez
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWS
Fernando Rodriguez2.4K views
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development... by NETWAYS
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
NETWAYS187 views
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016 by Amazon Web Services Korea
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW... by Amazon Web Services
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Amazon Web Services5.2K views
(ARC401) Cloud First: New Architecture for New Infrastructure by Amazon Web Services
(ARC401) Cloud First: New Architecture for New Infrastructure(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure
Amazon Web Services15.8K views
DevOps for the Enterprise: Virtual Office Hours by Amazon Web Services
DevOps for the Enterprise: Virtual Office HoursDevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office Hours
Amazon Web Services6.8K views
A Hands-on Introduction on Terraform Best Concepts and Best Practices by Nebulaworks
A Hands-on Introduction on Terraform Best Concepts and Best Practices A Hands-on Introduction on Terraform Best Concepts and Best Practices
A Hands-on Introduction on Terraform Best Concepts and Best Practices
Nebulaworks297 views
Infrastructure as Code: Manage your Architecture with Git by Danilo Poccia
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
Danilo Poccia3.3K views
Packer, where DevOps begins by Jeff Hung
Packer, where DevOps beginsPacker, where DevOps begins
Packer, where DevOps begins
Jeff Hung5.8K views
Deployment and Management on AWS:
 A Deep Dive on Options and Tools by Danilo Poccia
Deployment and Management on AWS:
 A Deep Dive on Options and ToolsDeployment and Management on AWS:
 A Deep Dive on Options and Tools
Deployment and Management on AWS:
 A Deep Dive on Options and Tools
Danilo Poccia1.7K views
Puppet and Apache CloudStack by Puppet
Puppet and Apache CloudStackPuppet and Apache CloudStack
Puppet and Apache CloudStack
Puppet4.2K views
Infrastructure as code with Puppet and Apache CloudStack by ke4qqq
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
ke4qqq667 views
DevOps Enabling Your Team by GR8Conf
DevOps Enabling Your TeamDevOps Enabling Your Team
DevOps Enabling Your Team
GR8Conf396 views

More from AOE

Re-inventing airport non-aeronautical revenue generation post COVID-19 by
Re-inventing airport non-aeronautical revenue generation post COVID-19Re-inventing airport non-aeronautical revenue generation post COVID-19
Re-inventing airport non-aeronautical revenue generation post COVID-19AOE
196 views32 slides
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019 by
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019AOE
1.7K views44 slides
Flamingo presentation at code.talks commerce by Daniel Pötzinger by
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerAOE
478 views45 slides
A bag full of trust - Christof Braun at AOE Conference 2018 by
A bag full of trust - Christof Braun at AOE Conference 2018A bag full of trust - Christof Braun at AOE Conference 2018
A bag full of trust - Christof Braun at AOE Conference 2018AOE
962 views26 slides
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ... by
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...AOE
1.1K views40 slides
Frankfurt Airport Digitalization Case Study by
Frankfurt Airport Digitalization Case StudyFrankfurt Airport Digitalization Case Study
Frankfurt Airport Digitalization Case StudyAOE
872 views4 slides

More from AOE (20)

Re-inventing airport non-aeronautical revenue generation post COVID-19 by AOE
Re-inventing airport non-aeronautical revenue generation post COVID-19Re-inventing airport non-aeronautical revenue generation post COVID-19
Re-inventing airport non-aeronautical revenue generation post COVID-19
AOE 196 views
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019 by AOE
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
AOE 1.7K views
Flamingo presentation at code.talks commerce by Daniel Pötzinger by AOE
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel Pötzinger
AOE 478 views
A bag full of trust - Christof Braun at AOE Conference 2018 by AOE
A bag full of trust - Christof Braun at AOE Conference 2018A bag full of trust - Christof Braun at AOE Conference 2018
A bag full of trust - Christof Braun at AOE Conference 2018
AOE 962 views
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ... by AOE
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
AOE 1.1K views
Frankfurt Airport Digitalization Case Study by AOE
Frankfurt Airport Digitalization Case StudyFrankfurt Airport Digitalization Case Study
Frankfurt Airport Digitalization Case Study
AOE 872 views
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE by AOE
This is what has to change for Travel Retail to survive - Manuel Heidler, AOEThis is what has to change for Travel Retail to survive - Manuel Heidler, AOE
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
AOE 1.3K views
AOEconf17: Application Security by AOE
AOEconf17: Application SecurityAOEconf17: Application Security
AOEconf17: Application Security
AOE 842 views
AOEconf17: AOE Tech Radar Insights by AOE
AOEconf17: AOE Tech Radar InsightsAOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar Insights
AOE 1.8K views
AOEconf17: A flight through our OM³ Systems by AOE
AOEconf17: A flight through our OM³ SystemsAOEconf17: A flight through our OM³ Systems
AOEconf17: A flight through our OM³ Systems
AOE 1.7K views
AOEconf17: AOE Tech Radar Insights by AOE
AOEconf17: AOE Tech Radar InsightsAOEconf17: AOE Tech Radar Insights
AOEconf17: AOE Tech Radar Insights
AOE 528 views
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ... by AOE
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOE 754 views
AOEconf17: Agile scaling concepts by AOE
AOEconf17: Agile scaling conceptsAOEconf17: Agile scaling concepts
AOEconf17: Agile scaling concepts
AOE 161 views
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic... by AOE
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOE 711 views
AOEconf17: UI challenges in a microservice world by AOE
AOEconf17: UI challenges in a microservice worldAOEconf17: UI challenges in a microservice world
AOEconf17: UI challenges in a microservice world
AOE 1.3K views
AOEconf17: Application Security - Bastian Ike by AOE
AOEconf17: Application Security - Bastian IkeAOEconf17: Application Security - Bastian Ike
AOEconf17: Application Security - Bastian Ike
AOE 185 views
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel... by AOE
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOE 1.1K views
AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch by AOE
AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan RotschAOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch
AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch
AOE 1.4K views
Joern Bock: The basic concept of an agile organisation by AOE
Joern Bock: The basic concept of an agile organisationJoern Bock: The basic concept of an agile organisation
Joern Bock: The basic concept of an agile organisation
AOE 1.2K views
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei... by AOE
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
AOE 1.8K views

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24) by
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)wesley chun
10 views38 slides
PRODUCT LISTING.pptx by
PRODUCT LISTING.pptxPRODUCT LISTING.pptx
PRODUCT LISTING.pptxangelicacueva6
14 views1 slide
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
37 views69 slides
HTTP headers that make your website go faster - devs.gent November 2023 by
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
22 views151 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
10 views29 slides
PRODUCT PRESENTATION.pptx by
PRODUCT PRESENTATION.pptxPRODUCT PRESENTATION.pptx
PRODUCT PRESENTATION.pptxangelicacueva6
14 views1 slide

Recently uploaded(20)

Powerful Google developer tools for immediate impact! (2023-24) by wesley chun
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)
wesley chun10 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker37 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc10 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman33 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software263 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views

Immutable Deployments with AWS CloudFormation and AWS Lambda