AWS Lambda: Advanced Coding Session (slides)
Live demos:
- Amazon API Gateway Access Control
- Amazon Kinesis Streams processing
- Amazon Cognito Sync trigger
- AWS CloudFormation Custom Resources
digraph architecture { | |
rankdir=LR; | |
// Storage - #303F9F (dark blue) | |
node[fillcolor="#303F9F" style="filled" fontcolor="white"]; | |
database[label="DB"]; cache[label="Redis"]; | |
// Client-side Apps - #FFEB3B (yellow) | |
node[fillcolor="#FFEB3B" style="filled" fontcolor="black"]; | |
front_end[label="Front-end App"]; extension[label="Browser Extension"]; |
#!/bin/sh | |
# in case it's already installled | |
vagrant plugin uninstall vagrant-libvirt | |
# vagrant's copy of curl prevents the proper installation of ruby-libvirt | |
sudo mv /opt/vagrant/embedded/lib/libcurl.so{,.backup} | |
sudo mv /opt/vagrant/embedded/lib/libcurl.so.4{,.backup} | |
sudo mv /opt/vagrant/embedded/lib/libcurl.so.4.4.0{,.backup} | |
sudo mv /opt/vagrant/embedded/lib/pkgconfig/libcurl.pc{,.backup} |
Live demos:
$ aws --region ap-northeast-1 ec2 describe-images --owner amazon --query 'Images[?Name!=`null`]|[?contains(Name, `ecs-optimized`) == `true`]|[?contains(Name, to_string(`2016`)) == `true`]|[0:3].[Name,ImageId,CreationDate,Description]' --output text | sort -rk1 | |
amzn-ami-2016.03.g-amazon-ecs-optimized ami-058a4964 2016-08-11T22:26:29.000Z Amazon Linux AMI 2016.03.g x86_64 ECS HVM GP2 | |
amzn-ami-2016.03.e-amazon-ecs-optimized ami-2b08f44a 2016-07-11T22:28:39.000Z Amazon Linux AMI 2016.03.e x86_64 ECS HVM GP2 | |
amzn-ami-2016.03.c-amazon-ecs-optimized ami-095dbf68 2016-05-26T23:32:34.000Z Amazon Linux AMI 2016.03.c x86_64 ECS HVM GP2 | |
# or check the page http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html for latest AMI ID |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><template encoding-version="1.0"><description>This flow demonstrates use of custom properties in EL with UpdateAttributes processor and the PutFile processor</description><groupId>53d29129-3b42-40ab-a008-81ebb557b334</groupId><name>CustomPropertyDemo</name><snippet><connections><id>748758a2-2eb8-42fe-8fc6-d11d467c1e6c</id><parentGroupId>53d29129-3b42-40ab-a008-81ebb557b334</parentGroupId><backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold><backPressureObjectThreshold>10000</backPressureObjectThreshold><destination><groupId>53d29129-3b42-40ab-a008-81ebb557b334</groupId><id>4045eff6-fafc-4979-9138-b63d465c059a</id><type>PROCESSOR</type></destination><flowFileExpiration>0 sec</flowFileExpiration><labelIndex>1</labelIndex><name></name><selectedRelationships>success</selectedRelationships><source><groupId>53d29129-3b42-40ab-a008-81ebb557b334</groupId><id>70bb9f9d-0640-4122-bdc4-ce5e95cd27f6</id><type>PROCESSOR</type></source><zIndex>0</zIndex></ |
Jon Warbrick, July 2014, V3.2 (for Ansible 1.7)
First one found from of
[Unit] | |
Description=supervisord - Supervisor process control system for UNIX | |
Documentation=http://supervisord.org | |
After=network.target | |
[Service] | |
Type=forking | |
ExecStart=/bin/supervisord -c /etc/supervisord/supervisord.conf | |
ExecReload=/bin/supervisorctl reload | |
ExecStop=/bin/supervisorctl shutdown |
List of all my presentations over the past five years.
John Willis
Twitter: https://twitter.com/botchagalupe Linkedin https://www.linkedin.com/in/johnwillisatlanta
This uses terraform's template_file
resource to generate a yaml properties file for serverspec to use.
spec
directory and put spec_helper.rb
in ittemplates/properties.tmpl.yml
fileserverspec.tf
terraform apply
Tests will be matched based on roles defined for a given node.