dockerizing mule esb
TRANSCRIPT
Build Ship Run
Challenge
When something goes wrong..
Cargo Transport 1960s
Solution: Intermodal Shipping Container
Docker is a Container System for Code
Ok so what does that give us?
Developer: Build Once, Run AnywhereA clean, safe, hygienic and portable runtime environment for your app.
No worries about missing dependencies, packages and other pain points during subsequent deployments.
Run each app in its own isolated container, so you can run various versions of libraries and other dependencies for each app without worryingAutomate testing, integration, packaging…anything you can script
Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers.
Operator: Configure Once, Run AnythingMake the entire lifecycle more efficient, consistent, and repeatable
Increase the quality of code produced by developers.
Eliminate inconsistencies between development, test, production, and customer environments
Support segregation of duties
Significantly improves the speed and reliability of continuous deployment and continuous integration systems
Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
Why it works—separation of concerns• Dan the Developer
• Worries about what’s “inside” the container• His code• His Libraries• His Package Manager• His Apps• His Data
• All Linux servers look the same
• Oscar the Ops Guy• Worries about what’s
“outside” the container• Logging• Remote access• Monitoring• Network config
• All containers start, stop, copy, attach, migrate, etc. the same way
Containers vs. VMs
People were like….
Dockerfile for MMC ServerFROM image:version
COPY your_app_code
RUN your_cmds_before_app
EXPOSE port
CMD to_run_app
FROM codingtony/java MAINTAINER vallurusateesh2009(at)google(dot)com RUN wget https://repository.mulesoft.org/nexus/content/repositories/releases/org/mule/distributions/mule-standalone/3.5.0/mule-standalone-3.5.0.tar.gzRUN cd /opt && tar xvzf ~/mule-standalone-3.5.0.tar.gzRUN echo "4a94356f7401ac8be30a992a414ca9b9 /mule-standalone-3.5.0.tar.gz" | md5sum -cRUN rm ~/mule-standalone-3.5.0.tar.gzRUN ln -s /opt/mule-standalone-3.5.0 /opt/mule CMD [ "/opt/mule/bin/mule" ]
Bored.. Lets code
Partner Eco System
What is Docker
Docker is “an open source project to pack, ship and run any application as a lightweight container.”
The idea is to provide a comprehensive abstraction layer that allows developers to “containerize” or “package” any application and have it run on any infrastructure
Docker containers provide a standard, consistent way of packaging just about any application.
Since it started in March 2013...• >200,000 pulls• >7,500 github stars• >200 significant contributors• >200 projects built on top of docker• UIs, mini-PaaS, Remote Desktop...• 1000’s of Dockerized applications
Memcached, Redis, Node.js, Hadoop...• Integration in Jenkins, Travis, Chef, Puppet,
Vagrant and OpenStack• Meetups arranged around the world…
with organizations like Ebay, Cloudflare, Yandex, and Rackspace presenting on their use of Docker