Download presentation
Presentation is loading. Please wait.
Published byKathryn Bond Modified over 8 years ago
1
© 2015 IBM Corporation IBM Containers A Bluemix Runtime Leveraging Docker Technology
2
© 2015 IBM Corporation Content What is IBM Bluemix? Introduction to Docker Why do developers care? Additional Resources 2
3
© 2015 IBM Corporation Bluemix – IBM’s Cloud Platform Build, run, scale and manage applications in the cloud 3 DevOps Big Data Mobile Bluemix service categories Cloud Integration Security Internet of Things Watson Business Analytics Database Web and application Developer experience Rapidly deploy and scale applications in any language. Compose applications quickly with useful APIs and services and avoid tedious backend config. Realize fast time-to-value with simplicity, flexibility and clear documentation. Enterprise capability Securely integrate with existing on-prem data and systems. Choose from flexible deployment models. Manage the full application lifecycle with DevOps. Develop and deploy on a platform built on a foundation of open technology. Built on a foundation of open technology.
4
© 2015 IBM Corporation Build your apps, your way Bluemix is powered by a full open cloud architecture 4 Bluemix supports a wide diversity of workloads by offering developers a range of choices associated with how they build and run their apps. App-centric runtime environments Flexible and powerful VMs Portable and consistent containers Pure PaaS Support for node.js, Java, Go, Python, Ruby, Ruby on Rails,.php and includes the ability to bring your own buildpack Focus on your code and your data, the platform manages the rest Deploy and manage VMs consistently for dedicated and public clouds through a single dashboard using open source technologies. A user-specific repository of images which are trusted and secure High availability of the IBM- hosted container images Integrated networking and storage
5
© 2015 IBM Corporation 5 Continuous delivery Manage & monitor Instant feedback Track and plan Dev tools and web IDE Repos Continuous integration Vulnerability testing Plan and measure Release and deploy Develop and test Monitor and optimize Monitoring and Analytics Full application lifecycle management and devops
6
© 2015 IBM Corporation Introduction to Docker Open Software –Launched March 2013 –100+ million downloads of Docker images Open Contribution –750+ contributors –#2 most popular project –137 community meet-up groups in 49 countries Open Design –Contributors include IBM, Red Hat, Google, Microsoft, VMware, AWS, Rackspace, and others Open Governance –12 member governance advisory board selected by the community 6 Enabling application development efficiency, making deployment more efficient, eliminating vendor ‘lock-in’ with true portability
7
© 2015 IBM Corporation 7 Docker is a shipping container system for code Multiplicity of Stacks Multiplicity of hardware environments QA server Development VM Contributor’s laptop Customer Data Center Production Cluster Public Cloud Static website User DB Analytics DB Queue Web frontend Do services and apps interact appropriately? Can I migrate smoothly and quickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform An engine that enables any payload to be encapsulated as a lightweight, portable, self- sufficient container…
8
© 2015 IBM Corporation Docker Mission Docker is an open platform for building distributed applications for developers and system administrators. Build Ship Run Anywhere Any App 8
9
© 2015 IBM Corporation Docker Containers simplifies cloud portability 9 A platform to build, ship, and run applications in “containers”. Developers & SysAdmins love the flexibility and standardization of Docker Standardization Application portability Package, ship, and run applications anywhere The Docker Hub Registry has 5,000+ "Dockerized" applications Lightweight Containers are “light” users of system resources, smaller than VMs, start up much faster, and have better performance Ecosystem-friendly A new industry standard, with a vibrant ecosystem of partners. 750+ community contributors; 50,000 third-party Docker projects on GitHub User-friendly Developers build with ease and ship higher-quality applications SysAdmins deploy workloads based on business priorities and policies. "Containers managed by Docker are effective in resource isolation. They are almost on par with the Linux OS and hypervisors in secure operations management and configuration governance." Joerg Fritsch, Gartner Analyst, Security Properties of Containers Managed by Docker, January 7, 2015
10
© 2015 IBM Corporation Docker Containers A technical view into the shared and layered file systems technology Docker uses a copy-on-write (union) filesystem New files(& edits) are only visible to current/above layers Layers allow for reuse More containers per host Faster start-up/download time – base layers are "cached" Images Tarball of layers (each layer is a tarball) 10 Filesystem Base OS / Kernel Fedora Ubuntu tomcat liberty CNTR1CNTR2CNTR3CNTR4 app1 app2 app4 app3 Layer
11
© 2015 IBM Corporation Dockerfile 11 Build git clone https://github.com/dockerfile/nginx.git docker build -t="dockerfile/nginx" github.com/dockerfile/nginx Run docker run dockerfile/nginx
12
© 2015 IBM Corporation Docker Architecture 12 Source: https://docs.docker.com/introduction/understanding-docker/ The Client is typically a laptop or a build server such as Jenkins The DOCKER_HOST could be a VM on the same laptop as the Client, or a Linux VM in a Datacenter, or Bluemix Registry could be the Docker hub, a private corporate registry, or Bluemix
13
© 2015 IBM Corporation Container Lifecycle for Today’s Lab #2 13 Client (Laptop) DOCKER_HOST (Laptop) DOCKER_HOST (Bluemix) Registry (Bluemix) Node.js (IBM Created) Node.js (IBM Created) docker pull registry.ng.bluemix.net/i bmnode:latest git clone.../etherpad-lite docker build -t etherpad_bluemix. etherpad_bluemix docker push registry.ng.bluemix.net/ /etherpa d_bluemix iblue300etherpadxxxx docker run etherpad_bluemix (or click Start in Bluemix Console)
14
© 2015 IBM Corporation Why do Developers care about Containers? Demand for Increased Application Development Efficiency Enable Continuous Integration/Continuous Delivery Developer Laptops, through automated test, to production, and through scaling without modification DevOps Requires Improved Deployment Efficiency Higher Density of Compute Resources (CPU, Memory, Storage) Hybrid Cloud and Choice Require Portability Cross Cloud Deployment - move the same application across multiple clouds. Eliminate “lock-in”, become a “Cloud Broker” 14 Customer pain pointsUser scenariosHow this offering helps Need resources fasterGet a working environment up and running in minutes, not hours or weeks Users can instantiate new container instances in seconds with the consistent experience working directly with Docker Innovation requires agility and DevOps Continuous delivery pipelineIBM Containers integrates with Bluemix apps including a continuous delivery pipeline, partnered with the fast deployments of containers Ability to migrate workload from on-prem to off-prem infrastructure Changes made on developer’s local image is ready to deploy to production cloud Portability as images can be developed on a local workstation, tested in a staging cloud on-prem, and finally to the production off-prem cloud Environment to facilitate incremental production deployment Business wants to deploy in a phased approach to validate the expected experience of the new version Users can deploy new releases in a controlled manner enabling them to monitor the performance and behavior with the ability to roll back if needed
15
© 2015 IBM Corporation IBM and Docker Partnership Strategic partnership announced December, 2014 https://www-03.ibm.com/press/us/en/pressrelease/45597.wss Objective: Deliver next generation enterprise-grade, portable, distributed applications that are composed of interoperable Docker containers Enables hybrid cloud use cases for the enterprise Initiatives Underway IBM Containers on Bluemix enables enterprises to launch Docker containers to automate application deployment on or off premise IBM UrbanCode automates the deployment of multiple Docker containers to various dev/test and staging environments, as part of the DevOps pipeline PureApplication Systems & Services builds, deploys and runs Pure patterns with Docker containers Docker Hub Enterprise (DHE) integration Extend IBM DevOps and IBM cloud solutions by integrating with and reselling Docker Hub Enterprise software & support 15
16
© 2015 IBM Corporation 16 IBM Containers Documentation IBM Containers Documentation IBM Containers white paper IBM Containers white paper IBM Containers Blogs & more IBM Containers Blogs & more Approaches to packaging your app Approaches to packaging your app Demo of IBM Containers Demo of IBM Containers IBM Containers Labs IBM Containers Labs IBM Containers Q&A in DeveloperWorks IBM Containers Q&A in DeveloperWorks Blog - IBM Containers Game Changing Capabilities Blog - IBM Containers Game Changing Capabilities Blog - IBM Containers on Bluemix using the CLI and existing Docker images Blog - IBM Containers on Bluemix using the CLI and existing Docker images Running Docker on pLinux Running Docker on pLinux Running Docker on zLinux Running Docker on zLinux IBM Containers Product Management: Robin Hernandez/Austin/IBM Christopher Rosen/Raleigh/IBM Where to go to Learn More Kimi Cousins/Raleigh/IBM Ted Mazanec/Raleigh/IBM
17
© 2015 IBM Corporation 17 Backup
18
© 2015 IBM Corporation Containers Use Case – Microservices (Exclude) What is a Microservices Architecture? Application architected as a suite of small services, each running in its own process, and communicating with lightweight mechanisms e.g. REST/HTTP Services built around business capabilities Each service independently deployable via automation Minimal centralized governance May be written in different languages May use different data storage technologies Challenges with Microservices Architecture Cultural Embracing a DevOps culture Agility required from inception through to deployment – not just development Ensuring autonomy does not preclude sharing Technological Distributed systems are hard – introduce network latency, fault tolerance, serialization, … Automation needed everywhere Keeping latency down Designing decoupled non-transactional systems is hard Service versioning Why Microservices? Agility Services evolve independently and at difference speeds Easier to adopt new technology and evolve architecture Enables continuous delivery Resilience Use services boundaries for fault tolerance and isolation Design for failure Runtime scalability Stateless services designed for horizontal scalability Services can be scaled independently Scalability of the development organisation Easier to develop services in parallel Smaller working set for each developer Microservices misconceptions Microservices do not require Docker containers Docker containers do not have to be microservices Containers assist with portability, maintenance, and deployment; hence a natural choice for microservices
19
© 2015 IBM Corporation Moving from monolithic applications to microservices (Exclude) 19 Monolithic appMicroservices Scaling
20
© 2015 IBM Corporation Package your app to run virtually anywhere, including Bluemix Cloud Foundry – Bluemix foundation that provides developers the ability to quickly compose their apps without worrying about the underlying infrastructure as these services run in secure droplet execution agent (DEA) environments. The Bluemix catalog consists of over 100 selections. Cloud Foundry IBM Containers – Provides portability and consistency regardless of where your app is run— be it on bare metal servers in Bluemix, your company's data center, or on your laptop. Easily deploy containers from IBM’s hosted image hub or from your own private registry. IBM Containers Virtual Machines – Offers the most control over your apps and middleware. The virtual machine contains the complete operating system and application, running on virtualized hardware that is provided by Bluemix. Virtual Machines Deploying to the Cloud in a repeatable way (Exclude) Summer 2015 Summer 2015 Same great services, no matter where your app runs Bluemix Public – World class enterprise PaaS in the public cloud Bluemix Public Bluemix Dedicated – Your own PaaS private cloud, that’s securely connected to both the public Bluemix and your own network. Bluemix Dedicated Bluemix Local – Bring cloud agility to even the most sensitive workloads in your data center. Delivered as a fully managed service behind your firewall. 20
21
© 2015 IBM Corporation Beta Customer Feedback so far (Exclude) “We are anxious for the end of the beta to migrate existing Docker workload to a production model on Bluemix.” A technology company providing mobility solutions “Running containers inside a virtual machine defeats the purpose in my opinion.” A large healthcare provider “The intuitive price model is much easier to understand compared to other vendor models.” A major consumer services company “The portability of IBM Containers eliminates vendor lock-in of an open source project while adding enterprise capabilities to Docker.” A large US-based financial services company “We like the vision and especially the promise of being able to connect to other services so readily.” A gamification company 21
22
© 2015 IBM Corporation Individuals on teams influence and guide future strategies Teams including IT Admins, that want to redeploy their off- premise application to on- premise… 22 Medium to large enterprises require real game-changers to meet demands of teams Lines of Business and respective Application Ops teams who want to provide paying clients with… Organizations look for a new operational model that provide…. Maureen, DevOps Professional …developers control of infrastructure resources with portable, rapid and iterative development services Michael, Infrastructure Admin Rick, Application Operations …more predictable performance and higher SLAs while maintaining an aggressive cost and compliance posture …while maintaining control over all the critical services it depends on for compute, networking and storage, without having to develop any new code
23
© 2015 IBM Corporation IBM Containers Pricing Model Common GB/hour fee −Pricing is based on actual usage of container size at the common GB/hour fee; billed at a partial GB/hour fee −Choice of pre-sized Containers (t-shirt sizes) −Sizes for compute resources are based on Memory and Disk Storage −Monthly Free Tier: 365 container GB hours, 2 public IP address, 20 GB external storage (i.e. 365 hours of 1 medium container running) 30-day free trial of an IBM Containers environment (up to: 2 GB total memory, 2 public IP address, 20 GB external storage) Upgrade Options for a fee: − Public IP addresses ~ increments of 1 IP at $2/month − External Storage Volumes ~ increments of 20GB at $14/month 23 Micro MediumLargeSmall 256MB Memory 16 GB Local Storage 512MB Memory 32 GB Local Storage 1GB Memory 64 GB Local Storage 2GB Memory 128 GB Local Storage $0.028 Memory GB/hour Container Fee XLarge 4GB Memory 256 GB Local Storage 2XLarge 8GB Memory 512 GB Local Storage 128MB Memory 8 GB Local Storage 64MB Memory 4 GB Local Storage NanoPico Customers only pay for the resources that are deployed 3XLarge 16GB Memory 1024 GB Local Storage
24
© 2015 IBM Corporation © IBM Corporation 24 Will you disrupt or be disrupted by your industry?
25
© 2015 IBM Corporation 25 Thank You
26
© 2015 IBM Corporation Service Existing services on Bluemix, they can be either public or private ones only visible within the organization. An application can be made into a service following an on boarding process. Application Basic unit of deployment in Bluemix. It may include multiple services, public or private. It cannot include other application. It's recommended to use traditional application architecture(a.k.a monolithic) on an application. It's the basic unit of red/black deployment. [Do we want this?] An application can be made into a system. Doing so, the original application will become the first app in the system. System (We coined this) An special kind of application that follows the MSA architecture(or multi-tier application architecture). It can integrate other applications(micro services) & services. Containers (Docker) Dockerfile A text doc that contains all the commands to build a Docker image. Docker Image The building block from which containers are launched. An image is the read-only layer that never changes. Images can be created based on the committed containers. Docker Container An running instance, generated from an Docker image. Self-contained environment built from one or more images Information available at the Container level includes image from which it is generated, memory used, ip address assigned it, etc. Container Group A group of containers, which all share the same image. Docker Registry A registry server for Docker that helps hosting and delivery of repositories and images. Layer Each file system that is stacked when Docker mounts rootfs Repository Set of images on local Docker or registry server. 26 Terminology
27
© 2015 IBM Corporation Multi-Container Application (We coined this) An application with 2 or more distinct components, and these components are running on different containers/ container groups that are linked. An example would be a Wordpress app, where the PHP Web server runs on 1 container, while the MySQL database runs on another that's linked to the Web server container. How to create a new image? Create a container from a image, make changes to that container as you would change code, and then commit those changes to a new image using docker commit. Or, change the Dockerfile from which the image is generated, then generate a new image from the new Dockerfile. The Dockerfile way is preferred How to launch a multi-container application using Fig (now Docker Compose)? This is an example running Magento using Fig on a local machine (modified from http://www.fig.sh/wordpress.html)http://www.fig.sh/wordpress.html 1.Create a folder for the project 2.Download the source code for Magento from Magento git 3.Create a Dockerfile for the PHP Web server 4.Create a Fig configuration file fig.yml (Docker Compose configuration file in.yaml), that contains commands to launch the PHP Web server container with the previous Dockerfile, and the database container with a MySQL image. It also links the two containers. Similar to this below. 5.Modify the code to set up database connection credentials 6.In CLI, do fig run to launch the two containers Flowchart Terminology 27
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.