The presentation will cover:
• Why the push to Docker and what we wanted to achieve
• Why we chose ECS as our container orchestration tool
• The basic landscape of ECS
• Thing we wish we knew before starting on ECS
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
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
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
Strategy / Mission
Strategy / Mission
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
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
Strategy / Mission
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
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
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