SlideShare a Scribd company logo
1 of 16
STRICTLY CONFIDENTIAL
DOCKER & ECS AT
MESSAGEMEDIA
MessageMedia provides a high performance two
way messaging platform for developers to build
robust and highly scalable applications. Every year
more than 23,600 customers send over 1.7 billion
messages, enriching their applications with
business messaging.
why?
• Docker containers suited for micro services
• Development, QA, staging to production consistency
• Deployment and rollback speed and ease
• Speed up and scale up number of deployments
• Onboarding new team members easier
• Already on AWS and the skillset
• Existing AWS infrastructure (Kinesis, SQS, RDS and Dynamo DB)
• ECR registry for saving Docker images
• Cost savings on AWS when using Docker
• 12 Factor App strategy
1 Codebase: One codebase tracked in revision control, many deploys
2 Dependencies: Explicitly declare and isolate dependencies
3 Config: Store config in the environment
4 Backing services: Treat backing services as attached resources
5 Build, release, run: Strictly separate build and run stages
6 Processes: Execute the app as one or more stateless processes
7 Port binding: Export services via port binding
8 Concurrency: Scale out via the process model
9 Disposability: Maximize robustness with fast startup and graceful shutdown
10 Dev/prod parity: Keep development, staging, and production as similar as possible
11 Logs: Treat logs as event streams
12 Admin processes: Run admin/management tasks as one-off processes
Twelve factor app
https://12factor.netca
PAGE 5STRICTLY CONFIDENTIAL
ECS key learnings
• ECS Components
• ECR – EC2 Container Registry
• Deployments & rollbacks
• Service scaling
• Cluster scaling
• Parameter & secrets management
• Logging
What is ECS?
EC2 Container Service is AWS’s container orchestration tool
Resource
Management
Docker Image CPU
Memory
Disk
Placement
Strategies
Constraints
Service
Discovery
Application load
balancers and path
based routing
Target Groups
Scaling
Cluster Scaling
Service Scaling
Monitoring
CloudWatch Alarms
SNS Notifications
CloudTrail for
auditing
ECS Landscape
ECR (EC2 Container
Reg)
Repository
v1 v2 v3 vN..
Repository
v1 v2 v3 vN..
Repository
v1 v2 v3 vN..
IAM
ECS Container
Instances
Developers,
QA, Sales
ECS Landscape
ECR
Task Definition
• ECR Docker Image(s)
• CPU units, Memory (Hard/Soft),
Port mappings, Env variables,
Logging driver
• Constraints
Service
• Task
• Placement
strategy
• ALB/ELB
• Scaling policy
Cluster
EC2 Container Instance
Task
EC2 Container Instance
Task Task Task Task
Task Task
Service 1
Service 2
ECS Landscape
:80
Target Group
:80
Target Group
:80
Target Group
EC2
:37004
:37002
:37001
EC2
:37001
:37002
:37033
/app1
/app2
/app3
ECS key learnings
ECS Components
ECR – EC2 Container Registry
deployments & rollbacks
service scaling
cluster scaling
parameter & secrets management
logging
Deployment pattern
REQ<100
ECS Cluster
EC2 Container Host
1
EC2 Container Host
2
EC2 Container Host
N
SVC SVCSVC
SVC SVCSVC
SVC SVCSVC
SVC SVCSVC
SVC SVCSVC
25%
CPU
Res
SVC1 SVC2SVC1
SVC3
SVC1 SVC2SVC1
SVC3
70%
CPU
Res
SVC1SVC1
SVC2 SVC2SVC3
SVC1SVC2
SVC3 SVC2
SVC3SVC1 SVC2SVC1
SVC2 SVC3SVC1
SVC1
SVC2 SVC1
SVC2 SVC1SVC1
100<REQ<200200<REQ
ECS key learnings
ECS Components
ECR – EC2 Container Registry
deployments & rollbacks
service scaling
cluster scaling
parameter & secrets management
logging
KMS
Parameter Store Container
Parameters & secrets
management
Task Variables: Differentiate using environment variables
IAM Polices: Only allow access to what is needed for the container
KMS + CMK: Encrypt secrets
IAM Users/Roles: Administering KMS
Parameter Store: Administering Parameters
ECS key learnings
ECS Components
ECR – EC2 Container Registry
deployments & rollbacks
service scaling
cluster scaling
parameter & secrets management
logging
Logging
Always log to STDOUT
Currently using the Rsyslog driver provided
Sending logs directly to Logstash from the containers
HOST Instance
syslog
syslog
syslog
DockerLogs
Stay in touch!!
Slack: https://messagemediadevs.slack.com
Developer Portal: https://developers.messagemedia.com
Twitter: https://twitter.com/messagemedia1

More Related Content

What's hot

What's hot (20)

Building and Scaling Your First Containerized Microservice
Building and Scaling Your First Containerized MicroserviceBuilding and Scaling Your First Containerized Microservice
Building and Scaling Your First Containerized Microservice
 
Getting Started with Docker On AWS
Getting Started with Docker On AWSGetting Started with Docker On AWS
Getting Started with Docker On AWS
 
AWS Enterprise Day | Hybrid IT with AWS: Best of Both Worlds
AWS Enterprise Day | Hybrid IT with AWS: Best of Both WorldsAWS Enterprise Day | Hybrid IT with AWS: Best of Both Worlds
AWS Enterprise Day | Hybrid IT with AWS: Best of Both Worlds
 
Deep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at ScaleDeep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at Scale
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
AWS Summit 2013 | Auckland - Scalable Media Processing on the Cloud
AWS Summit 2013 | Auckland - Scalable Media Processing on the CloudAWS Summit 2013 | Auckland - Scalable Media Processing on the Cloud
AWS Summit 2013 | Auckland - Scalable Media Processing on the Cloud
 
Amazon EFS
Amazon EFSAmazon EFS
Amazon EFS
 
AWS Data migration services
AWS Data migration servicesAWS Data migration services
AWS Data migration services
 
Getting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container ServiceGetting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container Service
 
Running SQL Server on AWS | John McCormack | DataGrillen 2019
Running SQL Server on AWS | John McCormack | DataGrillen 2019Running SQL Server on AWS | John McCormack | DataGrillen 2019
Running SQL Server on AWS | John McCormack | DataGrillen 2019
 
Database Containerization Platform Checklist
Database Containerization Platform ChecklistDatabase Containerization Platform Checklist
Database Containerization Platform Checklist
 
VMware and AWS Together - VMware Cloud on AWS
VMware and AWS Together  - VMware Cloud on AWSVMware and AWS Together  - VMware Cloud on AWS
VMware and AWS Together - VMware Cloud on AWS
 
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
AWS Summit 2013 | India - Scaling Seamlessly and Going Global with the Cloud,...
 
(ENT201) New Generation Hybrid Architectures with Suncorp, NetApp, and AWS | ...
(ENT201) New Generation Hybrid Architectures with Suncorp, NetApp, and AWS | ...(ENT201) New Generation Hybrid Architectures with Suncorp, NetApp, and AWS | ...
(ENT201) New Generation Hybrid Architectures with Suncorp, NetApp, and AWS | ...
 
Introduction to Batch Processing on AWS
Introduction to Batch Processing on AWSIntroduction to Batch Processing on AWS
Introduction to Batch Processing on AWS
 
Getting Started with Amazon EKS (Managed Kubernetes)
Getting Started with Amazon EKS (Managed Kubernetes)Getting Started with Amazon EKS (Managed Kubernetes)
Getting Started with Amazon EKS (Managed Kubernetes)
 
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
 
Advanced Container Management and Scheduling
Advanced Container Management and SchedulingAdvanced Container Management and Scheduling
Advanced Container Management and Scheduling
 
Enterprise Workloads on AWS
Enterprise Workloads on AWSEnterprise Workloads on AWS
Enterprise Workloads on AWS
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 

Similar to Docker and ECS at MessageMedia

Similar to Docker and ECS at MessageMedia (20)

AWS Summit Singapore - More Containers, Less Operations
AWS Summit Singapore - More Containers, Less OperationsAWS Summit Singapore - More Containers, Less Operations
AWS Summit Singapore - More Containers, Less Operations
 
Migrating the GoPro Plus Cloud Service to Amazon ECS
Migrating the GoPro Plus Cloud Service to Amazon ECSMigrating the GoPro Plus Cloud Service to Amazon ECS
Migrating the GoPro Plus Cloud Service to Amazon ECS
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
 
Wi t containerizemicroservices
Wi t containerizemicroservicesWi t containerizemicroservices
Wi t containerizemicroservices
 
SRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and DockerSRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and Docker
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
AWS re:Invent re:Cap - 배포를 더욱 손쉽고 빠르게: Amazon EC2 Container Service - 김일호
AWS re:Invent re:Cap - 배포를 더욱 손쉽고 빠르게: Amazon EC2 Container Service - 김일호AWS re:Invent re:Cap - 배포를 더욱 손쉽고 빠르게: Amazon EC2 Container Service - 김일호
AWS re:Invent re:Cap - 배포를 더욱 손쉽고 빠르게: Amazon EC2 Container Service - 김일호
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
 
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
 
Micro service in aws meetup
Micro service in aws   meetupMicro service in aws   meetup
Micro service in aws meetup
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.
 
Docker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and KubernetesDocker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and Kubernetes
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
 
SRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and DockerSRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and Docker
 
Rackspace Best Practices for DevOps on AWS
Rackspace Best Practices for DevOps on AWSRackspace Best Practices for DevOps on AWS
Rackspace Best Practices for DevOps on AWS
 
Running database infrastructure on containers
Running database infrastructure on containersRunning database infrastructure on containers
Running database infrastructure on containers
 
Deep Dive on Microservices and Docker
Deep Dive on Microservices and DockerDeep Dive on Microservices and Docker
Deep Dive on Microservices and Docker
 
Running database infrastructure on containers
Running database infrastructure on containersRunning database infrastructure on containers
Running database infrastructure on containers
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Docker and ECS at MessageMedia

  • 1. STRICTLY CONFIDENTIAL DOCKER & ECS AT MESSAGEMEDIA
  • 2. MessageMedia provides a high performance two way messaging platform for developers to build robust and highly scalable applications. Every year more than 23,600 customers send over 1.7 billion messages, enriching their applications with business messaging.
  • 3. why? • Docker containers suited for micro services • Development, QA, staging to production consistency • Deployment and rollback speed and ease • Speed up and scale up number of deployments • Onboarding new team members easier • Already on AWS and the skillset • Existing AWS infrastructure (Kinesis, SQS, RDS and Dynamo DB) • ECR registry for saving Docker images • Cost savings on AWS when using Docker • 12 Factor App strategy
  • 4.
  • 5. 1 Codebase: One codebase tracked in revision control, many deploys 2 Dependencies: Explicitly declare and isolate dependencies 3 Config: Store config in the environment 4 Backing services: Treat backing services as attached resources 5 Build, release, run: Strictly separate build and run stages 6 Processes: Execute the app as one or more stateless processes 7 Port binding: Export services via port binding 8 Concurrency: Scale out via the process model 9 Disposability: Maximize robustness with fast startup and graceful shutdown 10 Dev/prod parity: Keep development, staging, and production as similar as possible 11 Logs: Treat logs as event streams 12 Admin processes: Run admin/management tasks as one-off processes Twelve factor app https://12factor.netca
  • 7. ECS key learnings • ECS Components • ECR – EC2 Container Registry • Deployments & rollbacks • Service scaling • Cluster scaling • Parameter & secrets management • Logging
  • 8. What is ECS? EC2 Container Service is AWS’s container orchestration tool Resource Management Docker Image CPU Memory Disk Placement Strategies Constraints Service Discovery Application load balancers and path based routing Target Groups Scaling Cluster Scaling Service Scaling Monitoring CloudWatch Alarms SNS Notifications CloudTrail for auditing
  • 9. ECS Landscape ECR (EC2 Container Reg) Repository v1 v2 v3 vN.. Repository v1 v2 v3 vN.. Repository v1 v2 v3 vN.. IAM ECS Container Instances Developers, QA, Sales
  • 10. ECS Landscape ECR Task Definition • ECR Docker Image(s) • CPU units, Memory (Hard/Soft), Port mappings, Env variables, Logging driver • Constraints Service • Task • Placement strategy • ALB/ELB • Scaling policy Cluster EC2 Container Instance Task EC2 Container Instance Task Task Task Task Task Task Service 1 Service 2
  • 11. ECS Landscape :80 Target Group :80 Target Group :80 Target Group EC2 :37004 :37002 :37001 EC2 :37001 :37002 :37033 /app1 /app2 /app3
  • 12. ECS key learnings ECS Components ECR – EC2 Container Registry deployments & rollbacks service scaling cluster scaling parameter & secrets management logging Deployment pattern
  • 13. REQ<100 ECS Cluster EC2 Container Host 1 EC2 Container Host 2 EC2 Container Host N SVC SVCSVC SVC SVCSVC SVC SVCSVC SVC SVCSVC SVC SVCSVC 25% CPU Res SVC1 SVC2SVC1 SVC3 SVC1 SVC2SVC1 SVC3 70% CPU Res SVC1SVC1 SVC2 SVC2SVC3 SVC1SVC2 SVC3 SVC2 SVC3SVC1 SVC2SVC1 SVC2 SVC3SVC1 SVC1 SVC2 SVC1 SVC2 SVC1SVC1 100<REQ<200200<REQ
  • 14. ECS key learnings ECS Components ECR – EC2 Container Registry deployments & rollbacks service scaling cluster scaling parameter & secrets management logging KMS Parameter Store Container Parameters & secrets management Task Variables: Differentiate using environment variables IAM Polices: Only allow access to what is needed for the container KMS + CMK: Encrypt secrets IAM Users/Roles: Administering KMS Parameter Store: Administering Parameters
  • 15. ECS key learnings ECS Components ECR – EC2 Container Registry deployments & rollbacks service scaling cluster scaling parameter & secrets management logging Logging Always log to STDOUT Currently using the Rsyslog driver provided Sending logs directly to Logstash from the containers HOST Instance syslog syslog syslog DockerLogs
  • 16. Stay in touch!! Slack: https://messagemediadevs.slack.com Developer Portal: https://developers.messagemedia.com Twitter: https://twitter.com/messagemedia1

Editor's Notes

  1. Goal / Vision Should we call them engineers instead? Wides the scope a little bit Maybe need to include the word platform, and potentially talk about a developers toolbox Do we want to provide an example, tied to the toolbox point above, i.e. GitHub is the first (and only choice) for managing code
  2. Strategy / Mission
  3. Strategy / Mission
  4. Goal / Vision Should we call them engineers instead? Wides the scope a little bit Maybe need to include the word platform, and potentially talk about a developers toolbox Do we want to provide an example, tied to the toolbox point above, i.e. GitHub is the first (and only choice) for managing code
  5. Focus Areas: Visibility Sponsorship of conferences, events, hackathons, exhibiting (NDC and YOW! for example) Host technical meetups in our Melbourne offices (doesn’t necessarily involve talks except for a welcome and who is MessageMedia) Invite developers to an event hosted by MessageMedia with talks on our new features, promoting our API, potentially gamified as a hackathon style event
  6. Strategy / Mission
  7. Focus Areas: Visibility Sponsorship of conferences, events, hackathons, exhibiting (NDC and YOW! for example) Host technical meetups in our Melbourne offices (doesn’t necessarily involve talks except for a welcome and who is MessageMedia) Invite developers to an event hosted by MessageMedia with talks on our new features, promoting our API, potentially gamified as a hackathon style event
  8. Focus Areas: Visibility Sponsorship of conferences, events, hackathons, exhibiting (NDC and YOW! for example) Host technical meetups in our Melbourne offices (doesn’t necessarily involve talks except for a welcome and who is MessageMedia) Invite developers to an event hosted by MessageMedia with talks on our new features, promoting our API, potentially gamified as a hackathon style event
  9. Focus Areas: Visibility Sponsorship of conferences, events, hackathons, exhibiting (NDC and YOW! for example) Host technical meetups in our Melbourne offices (doesn’t necessarily involve talks except for a welcome and who is MessageMedia) Invite developers to an event hosted by MessageMedia with talks on our new features, promoting our API, potentially gamified as a hackathon style event