SlideShare a Scribd company logo
Scaling next-generation
Internet TV on AWS with
Docker, Packer, and Chef
Peter Shannon & Bridget Kromhout
@pietroshannon @bridgetkromhout
Peter Shannon
Operations Engineer, DramaFever
Bridget Kromhout
Principal Technologist, Pivotal
@pietroshannon @bridgetkromhout
DramaFever.com
Streaming international
content starting in 2009
Docker in production since
October 2013
@pietroshannon @bridgetkromhout
docclub.com since Fall 2014
@pietroshannon @bridgetkromhout
shudder.com since Summer 2015
15K 70 15 20M
Peak load: tens of thousands of requests per second
Traffic variance: swings 10-20x throughout the week
@pietroshannon @bridgetkromhout
autoscaling in AWS
streaming delivery via Akamai
@pietroshannon @bridgetkromhout
Software Stack
Python/Django
Upstreams routed via nginx
Go microservices
State in RDS, DynamoDB,
Elasticache
API endpoints for native clients
Celery/SQS for async tasks
@pietroshannon @bridgetkromhout
consistent development repeatable deployment
Why Docker?
@pietroshannon @bridgetkromhout
Vagrant for local development
Manage project dependencies across remote team
chef-solo provisioner
Maintaining state in vagrant is problematic (schema
changes, etc.)
17 minute turnaround
Previously, on DramaFever...
@pietroshannon @bridgetkromhout
Deploying code changes together with
dependencies
Faster development cycle
Better consistency between dev, qa, staging, and
prod
Focus on the app, not the host
Docker build once, team docker pulls
And now, on DramaFever...
@pietroshannon @bridgetkromhout
docker toolbox
Images built and pushed on jenkins
MySQL image built with fixtures
Run master or qa image (or even prod)
Build new local images from Dockerfiles
@pietroshannon @bridgetkromhout
docker in production: in theory
@pietroshannon @bridgetkromhout
docker in production: in practice
@pietroshannon @bridgetkromhout
Distributed private S3-backed
Docker registry:
registry container on each ec2
instance
more effective scaling
Docker Registry
Post by Tim Gross: http:
//0x74696d.com/posts/host-
local-docker-registry/
@pietroshannon @bridgetkromhout
docker options
# goes in /etc/default/docker to control docker's
upstart
DOCKER_OPTS="--graph=/mnt/docker --insecure-
registry=localhost-alias.com:5000 --storage-
driver=aufs"
localhost-alias.com in DNS with A record to 127.0.0.1
OS X /etc/hosts: use the docker-machine local VM
host-only network IP
@pietroshannon @bridgetkromhout
registry upstart
docker pull public_registry_image
docker run -p 5000:5000 --name registry 
-v /etc/docker-reg:/registry-conf 
-e DOCKER_REGISTRY_CONFIG=/registry-conf/config.yml 
public_registry_image
@pietroshannon @bridgetkromhout
config.yml
s3_region: us-east-1
s3_access_key: <aws-accesskey>
s3_secret_key: <aws-secretkey>
s3_bucket: <bucketname>
standalone: true
storage: s3
storage_path: /registry
@pietroshannon @bridgetkromhout
docker run 
-d 
-p 5000:5000 
--name docker-reg 
-v ${DFHOME}:${DFHOME} 
-e DOCKER_REGISTRY_CONFIG=${DFHOME}/config/registry/config.yml 
public_registry_image
private registry for dev
@pietroshannon @bridgetkromhout
S3 requires clock sync
$ docker pull local-repo-alias.com:5000/mysql
Pulling repository local-repo-alias.com:5000/mysql
2015/09/24 19:44:31 HTTP code: 500
$ docker-machine ssh <MACHINE> sudo date --set "$(env
TZ=UTC date '+%F %H:%M:%S')"
@pietroshannon @bridgetkromhout
Jenkins-driven image builds
@pietroshannon @bridgetkromhout
weekly base builds
FROM local-repo-alias.com:5000/www-base
● include infrequently-changing
dependencies
○ ubuntu packages
○ pip requirements
○ wheels
● other builds can start from these images
(so they’re faster).
@pietroshannon @bridgetkromhout
www-master build
sudo docker build -t="a12fbdc" .
sudo docker run -i -t -w /var/www -e DJANGO_TEST=1 --name
test.a12fbdc a12fbdc py.test -s
sudo docker tag a12fbdc local-repo-alias.com:5000/www:'dev'
sudo docker push local-repo-alias.com:5000/www:'dev'
@pietroshannon @bridgetkromhout
container-building containers
easier with statically
linked binaries
Go microservices
Android APK
@pietroshannon @bridgetkromhout
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL
SIZE
local-repo-alias.com:5000/mysql dev b0dc5885f767 2 days ago 905.9 MB
local-repo-alias.com:5000/www dev 82cda604a4f1 2 days ago 1.092 GB
local-repo-alias.com:5000/micro local bed20dc84ea1 4 days ago 10.08 MB
google/golang 1.3 e3934c44b8e4 2 weeks ago 514.3 MB
public_registry_image 0.6.9 11299d377a9e 6 months ago 454.5 MB
scratch latest 511136ea3c5a 18 months ago 0 B
$
ever-smaller images
@pietroshannon @bridgetkromhout
for persistent instances
# remove stopped containers
@daily docker rm `docker ps -aq`
# remove images tagged "none"
@daily docker rmi `sudo docker images | grep
none | awk -F' +' '{print $3}'`
@pietroshannon @bridgetkromhout
docker and os storage race conditions
docker pull + /docker_root 100% == sadness
ImportError: No module named wsgi
django.core.exceptions.ImproperlyConfigured: The
SECRET_KEY setting must not be empty.
@pietroshannon @bridgetkromhout
deploys
using fabric
tag for staging
tag for prod
out of ELB
restart upstart
back in ELB
@pietroshannon @bridgetkromhout
@pietroshannon @bridgetkromhout
Why Chef?
Wrangle
years of
spaghetti
config
@pietroshannon @bridgetkromhout
#!/bin/bash
cat <<EOF > /etc/init/django.conf
description "Run Django containers for www"
start on started docker-reg
stop on runlevel [!2345] or stopped docker
respawn limit 5 30
[...]
replacing 100s of lines of userdata...
@pietroshannon @bridgetkromhout
...with a chef-client run & packer build.
#!/bin/bash
# upstart configs are now created by chef
rm /etc/chef/client.pem
mkdir -p /var/log/chef
chef-client -r 'role[rolename]' -E
'environment' -L /var/log/chef/chef-client.
log
@pietroshannon @bridgetkromhout
upstart config
docker run 
-e DJANGO_ENVIRON=PROD 
-e HAPROXY=df/haproxy-prod.cfg 
-p 8000:8000 
-v /var/log/containers:/var/log 
--name django 
localhost-alias.com:5000/www:prod 
/var/www/bin/start-django
@pietroshannon @bridgetkromhout
docker run 
<% if @docker_rm == true -%>
--rm 
<% end %>
<% @docker_env.each do |k, v| -%>
-e <%= k %>=<%= v %> 
<% end %>
<% @docker_port.each do |p| -%>
-p <%= p %> 
<% end %>
upstart template
@pietroshannon @bridgetkromhout
<% @docker_volume.each do |v| -%>
-v <%= v %> 
<% end %>
--name <%= @application_name %> 
localhost-alias.com:<%= @registry_port %>/<%=
@docker_image %>:<%= @docker_tag %> 
<%= @docker_command %>
upstart template
(cont)
@pietroshannon @bridgetkromhout
using attributes
attribute :command, :kind_of => String, :required => true
attribute :env, :kind_of => Hash, :default => {}
attribute :port, :kind_of => Array, :default => []
attribute :volume, :kind_of => Array, :default =>
['/var/log/containers:/var/log']
attribute :rm, :kind_of => [TrueClass, FalseClass], :default => false
attribute :image, :kind_of => String, :required => true
attribute :tag, :kind_of => String, :required => true
attribute :type, :kind_of => String, :required => true
attribute :cron, :kind_of => [TrueClass, FalseClass], :default => false
@pietroshannon @bridgetkromhout
recipe using LWRP
base_docker node['www']['django']['name'] do
command node['www']['django']['command']
env node['www'][service]['django'][env]['env']
image node['www']['django']['image']
port node['www'][service]['django'][env]['port']
tag node['www'][service]['django'][env]['tag']
type node['www']['django']['type']
end
@pietroshannon @bridgetkromhout
Why Packer? Consistent AMIs
@pietroshannon @bridgetkromhout
packer for ami building
{
"type": "chef-client",
"server_url": "https://api.opscode.com/organizations/dramafever",
"run_list": [ "base::ami" ],
"validation_key_path": "{{user `chef_validation`}}",
"validation_client_name": "dramafever-validator",
"node_name": "packer-ami"
}
@pietroshannon @bridgetkromhout
packer run
$HOME/packer/packer build 
-var "account_id=$AWS_ACCOUNT_ID" 
-var "aws_access_key_id=$AWS_ACCESS_KEY_ID" 
-var "aws_secret_key=$AWS_SECRET_ACCESS_KEY" 
-var "x509_cert_path=$AWS_X509_CERT_PATH" 
-var "x509_key_path=$AWS_X509_KEY_PATH" 
-var "s3_bucket=bucketname" 
-var "ami_name=$AMI_NAME" 
-var "source_ami=$SOURCE_AMI" 
-var "chef_validation=$CHEF_VAL" 
-var "chef_client=$HOME/packer/client.rb" 
-only=amazon-instance 
$HOME/packer/prod.json
@pietroshannon @bridgetkromhout
limiting packer IAM permissions
"Action":[
"ec2:TerminateInstances",
"ec2:StopInstances",
"ec2:DeleteSnapshot",
"ec2:DetachVolume",
"ec2:DeleteVolume",
"ec2:ModifyImageAttribute"
],
"Effect":"Allow",
"Resource":"*",
"Condition":{
"StringEquals":{ "ec2:
ResourceTag/name":"Packer Builder"
}
}
@pietroshannon @bridgetkromhout
Autoscaling
Packer
AMI
EC2 Instances
Jenkins
GitHub
Chef
AMI factory
@pietroshannon @bridgetkromhout
and now you have a new problem...
@pietroshannon @bridgetkromhout
Immutable vs Dynamic Instances
@pietroshannon @bridgetkromhout
container
orchestration
evaluating - but...
+/- autoscaling
+/- discovery
complexity of platform
container density
@pietroshannon @bridgetkromhout
@pietroshannon @bridgetkromhout
@pietroshannon
Thank you!

More Related Content

What's hot (20)

PPTX
Docker toolbox
Yonghwee Kim
 
PDF
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
PDF
Kubernetes Boston — Custom High Availability of Kubernetes
Mike Splain
 
PDF
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Docker, Inc.
 
PPTX
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Docker, Inc.
 
PDF
Docker Swarm 0.2.0
Docker, Inc.
 
PDF
Ansible not only for Dummies
Łukasz Proszek
 
PPTX
Deploying Symfony2 app with Ansible
Roman Rodomansky
 
PPTX
CoreOS Overview and Current Status
Sreenivas Makam
 
PPTX
Getting Started with Docker
Geeta Vinnakota
 
PDF
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
raccoony
 
PDF
Running Django on Docker: a workflow and code
Danielle Madeley
 
PPTX
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
Alexey Petrov
 
PDF
Docker swarm introduction
Evan Lin
 
PDF
Delivering Go.CD with Terraform and Docker
Jorrit Salverda
 
PDF
Continuous Integration: SaaS vs Jenkins in Cloud
Ideato
 
PDF
Docker orchestration using core os and ansible - Ansible IL 2015
Leonid Mirsky
 
PDF
Vagrant for real (codemotion rome 2016)
Michele Orselli
 
PPTX
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
 
PPTX
Lessons from running potentially malicious code inside containers
Ben Hall
 
Docker toolbox
Yonghwee Kim
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
Kubernetes Boston — Custom High Availability of Kubernetes
Mike Splain
 
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Docker, Inc.
 
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Docker, Inc.
 
Docker Swarm 0.2.0
Docker, Inc.
 
Ansible not only for Dummies
Łukasz Proszek
 
Deploying Symfony2 app with Ansible
Roman Rodomansky
 
CoreOS Overview and Current Status
Sreenivas Makam
 
Getting Started with Docker
Geeta Vinnakota
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
raccoony
 
Running Django on Docker: a workflow and code
Danielle Madeley
 
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
Alexey Petrov
 
Docker swarm introduction
Evan Lin
 
Delivering Go.CD with Terraform and Docker
Jorrit Salverda
 
Continuous Integration: SaaS vs Jenkins in Cloud
Ideato
 
Docker orchestration using core os and ansible - Ansible IL 2015
Leonid Mirsky
 
Vagrant for real (codemotion rome 2016)
Michele Orselli
 
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
 
Lessons from running potentially malicious code inside containers
Ben Hall
 

Similar to Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef (20)

PDF
Lights, Camera, Docker: Streaming Video at DramaFever
bridgetkromhout
 
PDF
Docker in production: reality, not hype (OSCON 2015)
bridgetkromhout
 
PDF
Docker in Production: Reality, Not Hype - DevOps Chicago
bridgetkromhout
 
PDF
Docker in Production: Reality, Not Hype
bridgetkromhout
 
PDF
Cooking Up Drama
bridgetkromhout
 
PDF
Cooking Up Drama - ChefConf 2015
Chef
 
PDF
GE Predix 新手入门 赵锴 物联网_IoT
Kai Zhao
 
PPTX
Running Docker in Development & Production (#ndcoslo 2015)
Ben Hall
 
PDF
Into The Box 2018 Going live with commandbox and docker
Ortus Solutions, Corp
 
PDF
Going live with BommandBox and docker Into The Box 2018
Ortus Solutions, Corp
 
PDF
Cloud focker を試してみた public
Takehiko Amano
 
PPTX
Optimizing Spring Boot apps for Docker
Graham Charters
 
PDF
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Chris Richardson
 
PDF
Deploying configurable frontend web application containers
José Moreira
 
PDF
ApacheConNA 2015: What's new in Apache httpd 2.4
Jim Jagielski
 
PDF
Kubernetes and the 12 factor cloud apps
Ana-Maria Mihalceanu
 
PDF
Integrating ChatGPT with Apache Airflow
Tatiana Al-Chueyr
 
PDF
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
PDF
Deploying Symfony | symfony.cat
Pablo Godel
 
PDF
Converting Your Dev Environment to a Docker Stack - php[world]
Dana Luther
 
Lights, Camera, Docker: Streaming Video at DramaFever
bridgetkromhout
 
Docker in production: reality, not hype (OSCON 2015)
bridgetkromhout
 
Docker in Production: Reality, Not Hype - DevOps Chicago
bridgetkromhout
 
Docker in Production: Reality, Not Hype
bridgetkromhout
 
Cooking Up Drama
bridgetkromhout
 
Cooking Up Drama - ChefConf 2015
Chef
 
GE Predix 新手入门 赵锴 物联网_IoT
Kai Zhao
 
Running Docker in Development & Production (#ndcoslo 2015)
Ben Hall
 
Into The Box 2018 Going live with commandbox and docker
Ortus Solutions, Corp
 
Going live with BommandBox and docker Into The Box 2018
Ortus Solutions, Corp
 
Cloud focker を試してみた public
Takehiko Amano
 
Optimizing Spring Boot apps for Docker
Graham Charters
 
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Chris Richardson
 
Deploying configurable frontend web application containers
José Moreira
 
ApacheConNA 2015: What's new in Apache httpd 2.4
Jim Jagielski
 
Kubernetes and the 12 factor cloud apps
Ana-Maria Mihalceanu
 
Integrating ChatGPT with Apache Airflow
Tatiana Al-Chueyr
 
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
Deploying Symfony | symfony.cat
Pablo Godel
 
Converting Your Dev Environment to a Docker Stack - php[world]
Dana Luther
 
Ad

More from bridgetkromhout (20)

PDF
An introduction to Helm - KubeCon EU 2020
bridgetkromhout
 
PDF
Join Our Party: The Cloud Native Adventure Brigade (Kubernetes Belgium 2019)
bridgetkromhout
 
PDF
devops, distributed (devopsdays Ghent 2019)
bridgetkromhout
 
PDF
Join Our Party: The Cloud Native Adventure Brigade (devopsdays Philly 2019)
bridgetkromhout
 
PDF
Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)
bridgetkromhout
 
PDF
Increasing Reliability via Helm Pre-Release Checks (Helm Summit 2019)
bridgetkromhout
 
PDF
Kubernetes for the Impatient (devopsdays Cape Town 2019)
bridgetkromhout
 
PDF
Join Our Party: The Cloud Native Adventure Brigade (OSS 2019)
bridgetkromhout
 
PDF
Helm 3: Navigating To Distant Shores (OSS NA 2019)
bridgetkromhout
 
PDF
Helm 3: Navigating to Distant Shores (OSCON 2019)
bridgetkromhout
 
PDF
Kubernetes for the Impatient (Velocity San Jose 2019)
bridgetkromhout
 
PDF
Community projects inform enterprise products (Velocity San Jose 2019)
bridgetkromhout
 
PDF
Helm 3: Navigating to Distant Shores (KubeCon EU 2019)
bridgetkromhout
 
PDF
Kubernetes Operability Tooling (GOTO Chicago 2019)
bridgetkromhout
 
PDF
Kubernetes Operability Tooling (Minnebar 2019)
bridgetkromhout
 
PDF
Livetweeting Tech Conferences - SREcon Americas 2019
bridgetkromhout
 
PDF
Kubernetes Operability Tooling (devopsdays Seattle 2019)
bridgetkromhout
 
PDF
Kubernetes Operability Tooling (LEAP 2019)
bridgetkromhout
 
PDF
Day 2 Kubernetes - Tools for Operability (KubeCon)
bridgetkromhout
 
PDF
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
bridgetkromhout
 
An introduction to Helm - KubeCon EU 2020
bridgetkromhout
 
Join Our Party: The Cloud Native Adventure Brigade (Kubernetes Belgium 2019)
bridgetkromhout
 
devops, distributed (devopsdays Ghent 2019)
bridgetkromhout
 
Join Our Party: The Cloud Native Adventure Brigade (devopsdays Philly 2019)
bridgetkromhout
 
Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)
bridgetkromhout
 
Increasing Reliability via Helm Pre-Release Checks (Helm Summit 2019)
bridgetkromhout
 
Kubernetes for the Impatient (devopsdays Cape Town 2019)
bridgetkromhout
 
Join Our Party: The Cloud Native Adventure Brigade (OSS 2019)
bridgetkromhout
 
Helm 3: Navigating To Distant Shores (OSS NA 2019)
bridgetkromhout
 
Helm 3: Navigating to Distant Shores (OSCON 2019)
bridgetkromhout
 
Kubernetes for the Impatient (Velocity San Jose 2019)
bridgetkromhout
 
Community projects inform enterprise products (Velocity San Jose 2019)
bridgetkromhout
 
Helm 3: Navigating to Distant Shores (KubeCon EU 2019)
bridgetkromhout
 
Kubernetes Operability Tooling (GOTO Chicago 2019)
bridgetkromhout
 
Kubernetes Operability Tooling (Minnebar 2019)
bridgetkromhout
 
Livetweeting Tech Conferences - SREcon Americas 2019
bridgetkromhout
 
Kubernetes Operability Tooling (devopsdays Seattle 2019)
bridgetkromhout
 
Kubernetes Operability Tooling (LEAP 2019)
bridgetkromhout
 
Day 2 Kubernetes - Tools for Operability (KubeCon)
bridgetkromhout
 
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
bridgetkromhout
 
Ad

Recently uploaded (20)

PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 

Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef