Using Docker with Continuous Delivery in Oracle Cloud

Slides:



Advertisements
Similar presentations
Achieving Agility with WSO2 App Factory S. Uthaiyashankar Director, Cloud Solutions WSO2 Inc. Dimuthu Leelarathne Software Architect WSO2 Inc.
Advertisements

Windows Azure Conference 2014 Running Docker on Windows Azure.
Puppet with vSphere Workshop Install, configure and use Puppet on your laptop for vSphere DevOps Billy Lieberman August 1, 2015.
Paperless Timesheet Management Project Anant Pednekar.
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
Banjot Chanana Sr Director of Product Docker for the Enterprise with Containers as a Service.
Structured Container Delivery Oscar Renalias Accenture Container Lead (NOTE: PASTE IN PORTRAIT AND SEND BEHIND FOREGROUND GRAPHIC FOR CROP)
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Oracle Java Cloud Service Oracle Develop July 2013.
Secure Oracle SaaS and PaaS with Oracle Identity Cloud Service
Enterprise Communications
READ ME FIRST Use this template to create your Partner datasheet for Azure Stack Foundation. The intent is that this document can be saved to PDF and provided.
Microsoft Build /9/2017 5:00 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
SharePoint 101 – An Overview of SharePoint 2010, 2013 and Office 365
Appium Studio Appium testing made easy at any scale.
Run Azure Services in your datacenter
Implementing Cloud-based Agile Team Development - Lessons Learned
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Add Alice to Your Chat How Can I Help You? Beide Wang
DevOps Cloud Native Microservices
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
INTRO TO Presenter: PhuongNQK.
Implementing Cloud-based Agile Team Development - Lessons Learned
Deployment Architectures For Containers
4/24/ :07 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Develop in the Cloud, Accelerate Software Evolution
Welcome: Hands-On Lab Plug in to the network.
Essentials of UrbanCode Deploy v6.1 QQ147
This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your.
Accelerate your DevOps with OpenShift by Red Hat
Building Regression Tests With PeopleSoft Test Framework
This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your.
Hybrid Management and Security
What's There and What's Coming with BICS & Data Viz
New Oracle Database Release Model
Oracle JavaOne 2017 – Hands-On Labs (HOL) Get Started on Oracle Cloud: Java Apps with Containers and DevOps Plug in to the network Connect via WiFi. Connect.
Docker Birthday #3.
In-Depth Introduction to Docker
Brian Leonard ブライアン レオナルド
Oracle and CERN openlab
Abstract/Session Description:
A technical look at new capabilities and features
VMware és KVM környezetek változtatás nélkül a felhőben
Drupal VM and Docker4Drupal For Drupal Development Platform
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
9/20/ :55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Kubernetes Container Orchestration
Microsoft Azure P wer Lunch
BlackJack Hands-on-lab
FORCES HCM Cloud Overview
Using docker containers
Managing Development Projects Across Oracle Cloud Services: A Guide
Solutions – Oracle’s Story
OpenWorld 2016 Docker Agility in the Cloud
Confidential – Oracle Internal/Restricted/Highly Restricted
Principal Product Manager Oracle Data Science Platform
Simplified Development Toolkit
TFS from on-prem to the cloud with Azure DevOps Services
IBM Containers Docker in the Cloud
12/26/2018 1:44 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Oracle ZFS Storage Backup Appliance
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.
DEVOPS & THE FUTURE OF TESTING
Node.js Test Automation using Oracle Developer Cloud- Simplified
Managing CPQ Performance Proactively
Office 365 Development July 2014.
Containers and DevOps.
Contract Management Software 100% Cloud-Based ContraxAware provides you with a deep set of easy to use contract management features.
Containers on Azure Peter Lasne Sr. Software Development Engineer
SSDT, Docker, and (Azure) DevOps
Presentation transcript:

Using Docker with Continuous Delivery in Oracle Cloud This is a Branded Title Slide with Event Look and Feel slide ideal for including a brief title, subtitle and presenter information. Do not customize this slide with your own picture. To reuse this branded background in another presentation on PC Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To reuse this branded background in another presentation on Mac Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Mike Raab Sr Principal Product Mgr Container Cloud Service Oracle Public Cloud Greg Stachnick Sr Principal Product Mgr Developer Cloud Service Oracle Public Cloud

This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy To learn more about this policy, e-mail: Revrec-americasiebc_us@oracle.com For internal communication, Safe Harbor Statements are not required. However, there is an applicable disclaimer (Exhibit E) that should be used, found in the Oracle Revenue Recognition Policy for Future Product Communications. Copy and paste this link into a web browser, to find out more information.   http://my.oracle.com/site/fin/gfo/GlobalProcesses/cnt452504.pdf For all external communications such as press release, roadmaps, PowerPoint presentations, Safe Harbor Statements are required. You can refer to the link mentioned above to find out additional information/disclaimers required depending on your audience.

Program Agenda 1 What is Developer Cloud Service Introducing Container Cloud Service Integration Concepts Integration Demo 2 3 4

Why Containerize? Portability / Standardized Envs Rapidly Scale Up / Scale Down Companies of all sizes today are moving towards containerization for these reasons Portability: Idea of writing once and running anywhere Once containerized, run your app anywhere that has the Docker Engine installed Easy to change from 1 host to another Example: Dev / Test in Oracle Cloud – Production on-Prem Standardized Environments: Coding environments can be made consistent from development ->staging->QA->production Per environment configurations are fed in the same way to each container which reduces configuration issues Time spent debugging environmental issues is reduced drastically Scaling: Containers take seconds to deploy Scale up and down your infrastructure is much faster than traditional configuration management Better utilization of compute resource Dependency Management: Dependency chaos happens when: 2 running Java or Ruby applications that depend on different versions of the same library How Containerization can help: Isolate each application (along with it’s dependencies) so that they can be run in their own container Similar application containers can co-exist on same host, instead of individual VMs Continuous Integration and Continuous Delivery (CI/CD): Docker makes it easier to build a deployment pipeline After successful builds, a CI system can build and push a Docker image to the Hub/private Docker repo Deploy new containers to desired environment on a more frequent basis Microservices and Cloud are better enabled with Docker Each microservice can be run in its own container Enable dev teams to focus on specific pieces of the application independently as long as they agree on the interface between the two components Containerized microservice apps are a perfect complement to Cloud deployments Code Agility and a CI/CD Pipeline Dependency Management Microservices & Cloud Native Apps

What is Developer Cloud Service

Agile Development Infrastructure Team Infrastructure Version Management Issue & Task Tracking Testing Documentation / Wiki Continuous Integration Code Review Deployment Services Team/Process Management Agile development can help deliver better software faster. Increasing the agility for delivering features in your product in a more frequent pattern. But there are a bunch of tools you’ll need to make your team adopt agile propely.

The DevOps Cycle Oracle Developer Cloud Service Oracle PaaS & IaaS Plan Code Build Test Release Deploy Operate Monitor Oracle Developer Cloud Service Oracle PaaS & IaaS Oracle Management Cloud To achieve the full DevOps solution you’ll leverage the following cloud solutions from Oracle: DevCS for the Dev part, PaaS for the deployment, Management Cloud for the operate and monitor

Oracle Cloud Platform - Application Development Cloud Native, Polyglot, Java, Mobile, HTML5, Declarative Developer Cloud: Continuous integration/Continuous Delivery/Collaboration Application Container Cloud Java Cloud/ WebLogic Server Mobile Cloud Application Builder Cloud Container Cloud Service Develop Cloud Native, Polyglot Apps Modernize Java Apps to Cloud Develop Mobile Apps Declarative HTML5 Apps Managed Docker Containers Management Cloud: Performance Management, Log Analytics, IT Analytics For all application types - Cloud Native, Java EE, Mobile, HTML5 Cloud native developer infrastructure - Designed for DevOps Multi datacenter cloud deployment and management

The Oracle Developer Cloud Service Development Platform Provided as a Service Enabling agile development process Automating DevOps & delivery

Oracle Developer Cloud Service – What’s In It Version Management – Git Build Automation Ant, Maven, Gradle, npm, Grunt, Bower, Gulp, Command line Continuous Integration - Hudson Issues Tracking Code review Deployment automation Agile process management wiki Activity stream These are the components of Developer Cloud Service. In addition we provide integration with the IDEs.

Oracle Developer Cloud Service and The DevOps Cycle Plan Code Build Test Release Deploy Operate Monitor Plan Task tracking, Agile boards, wiki Code Git– branch/merge IDE integration, code review, snippets Build Hudson CI + Build Tools & Utilities Test JUnit & Selenium, Findbugs, deploy to QA Release & Deploy Deploy Plans Developer Cloud Service covers most of the DevOps cycle Additional yellow spots are covered by Management Cloud Service

Developer Cloud Service: Bringing it All Together Review CI / CD Source Tasks Wiki  = Dev, Test or Production Commit Deploy Developers can commit changes to the Git repository, create tasks and assign them to team members, define and collaborate on projects through wiki services and continuously build and deploy their application to the cloud or On-Premise with Hudson. There’s also the ability to track and monitor deployments and then within Java Cloud Services one can analyze their deployed and running application through Enterprise Manager. For details on Hudson -> http://wiki.eclipse.org/Hudson-ci/Meet_Hudson Oracle Cloud Services Developers Developer Service Cloud or On-Premise Track & Monitor

Oracle Developer Cloud Service Interfaces Web Comprehensive IDE Integration JDeveloper, Eclipse, NetBeans Source, tasks, and build Mylyn based Webhooks SSH/Https connection Git & Hudson REST services Hudson Web interface for all your work Or integration with the IDEs (in the pictures Jdev and Eclipse integration) Web hooks to connect to external system through events

Special Features for the Oracle Platform Oracle Platform Support Advanced WebLogic deployment ADF Libraries SOA Libraries JDeveloper deployment profiles IDE integration – OEPE, NetBeans and JDeveloper Oracle Cloud Integration Provisioned with other cloud services Seamless cloud deployment to various Oracle Cloud Services Central management console & IDM

Developer Cloud Service Features Simplify Development Automatically provisioned Preconfigured and integrated Automated builds and deployments Web based administration Collaborate & Manage Team repositories Code reviews by peers Agile Process tracking Activity stream and notifications Continuous integration dashboard Deploy Automatically Deploy into Oracle Cloud Services automatically Workflow ensures proper build and test Integrated With IDEs JDeveloper Eclipse NetBeans

Introducing Container Cloud Service

StackEngine - the basis of Oracle Container CS Provides an Easy to Use interface to manage the Docker environment Out-of-the-box examples of containerized Services and Application stacks that can be Deployed in one Click Easily connect to your private Docker registries – bring your own containers Focus on building your containerized Application images and CI/CD pipeline, not on learning complex Orchestration technologies Gain the benefits of containerization, easily and securely StackEngine had an existing product. We are bringing these key features into our Container CS service.

How Does Container CS fit into the Oracle Public Cloud? Complements Oracle PaaS Applications with a Bring your Own Container Service Run ANY Containerized Application including Open Source Mobile CS The Container CS is very complementary to the other existing PaaS services, in that it brings the ability to run any Container. “Bring your own Container”. These containerized apps could be based on Open Source or any other technology that is capable of being containerized and run with Docker. As a proof point, StackEngine, the product that was acquired and that the Oracle Container Cloud Service is based off of, came with an assortment of example “Stacks” that were ready to run. These stacks could be used by the customer as is, or modified as they need to run with their own software/applications. Some of these example Stacks include: A performance monitoring Stack based on Promethius and cAdvisor A load balancing Stack based on HAProxy with nginx or Apache A logging Stack based on ELK, Elastisearch, Kibana, Logspout and Logstash The PaaS applications in general, enable customers to extend their Oracle SaaS products and/or create new applications, based on a JavaEE, JavaCS, Node etc. Today, a customer can do their development in the Developer CS and then launch the code directly into Java CS or App Container CS. Oracle Container CS, customers can run any polyglot / open source Docker containerized applications that they have developed, and run them in the Oracle Public cloud. We will be working closely with the Developer CS team to enhance the integration between the two services. Developer CS Java CS (Java EE) Application Container CS (Java SE & Node) Container CS

Container CS Key Features Cloud & Container Native Enterprise Operations Ready Collaboration Built-In Docker Compatible (Docker Engine, Docker Compose) Convert between Docker run, UI, YAML One Click Deploy (of example application stacks) Registry Integration (connect to public & private registries such as Docker Hub) Build CI/CD Pipelines (via “WebHooks”) Service Discovery – Built in to enable multi-container cross host deployments Operations Dashboards Key health/performance stats & container logs Container Health Checks (port ping for container processes) Service Scaling (scale out services via UI or API) Orchestration & Scheduling Policies (least CPU/Memory, tag based placement, others) Self-Healing Deployments (maintain the desired state of a deployed multi-container app) Elegant Interface - “Quickstart” Wizards to get users started Best Practices Included (example stacks covering monitoring, logging, load balancing) Run & Deploy Oracle Certified Docker images API Ready – Drive common container operations and deployments via REST API Resource Pools (partition compute resources across dev, test, staging etc…

Key Container CS Terminology Used in the Demo Container CS Concept Description Service A service is a template for how to run a container from a single image and associated Docker runtime information (e.g. mapped ports, storage volumes etc…) Deployment One or more running containers that have been created from deploying a Service or a Stack Container CS will introduce some new terms and concepts, to help our customers gain traction with containerization more quickly.

Integration Concepts

The New Docker Pipeline Docker App Image Registry Docker Management & Control A conceptual flow of a potential Docker pipeline showing the flow from local Development to Dev CS to Container CS. The Developer works locally with Docker, writing code locally and building and testing locally – potentially pulling down containers from the registry to perform integration testing locally, as well as leveraging certified company base Docker images/artifacts to build on top of. The developer then checks in their code to GIT, including Docker file with instructions on how to build the image, and any pertinent tests. The application Docker image is built in Dev cloud, leveraging any controlled base Docker images in play. The “golden” application Docker image is pushed to a registry – from which Docker containers can be deployed and orchestrated within the Container Cloud Service – promoting Docker applications through the appropriate life cycle of choice (e.g. test, staging, production) App Code, Tests, Docker File Certified Base Docker Images Test Staging Production Developer Local Dev CS Container CS

Concept Demo

Demo – Scenario Overview Workbetter HR Application New Sprint to display User Profile details in main portal Collaborate on User Story Build application and containers Deploy, Manage, & Compare application versions

Demo – DevCS Docker Image versioning and deployment Home page, activity stream

Demo – DevCS Docker Image versioning and deployment Agile board - sprint

Demo – DevCS Docker Image versioning and deployment Agile board - sprint

Demo – DevCS Docker User story detail

Demo – DevCS Docker Code Review Conversation, branch diffs, teammate feedback

Demo – DevCS Docker Code Review Conversation, branch diffs, teammate feedback

Demo – DevCS Docker Image versioning and deployment Build overview

Demo – DevCS Docker Build overview

Demo – DevCS Docker Sprint update

Demo – Container CS Deploys JET App

Main Dashboard – Overview of everything that is running in this Container environment

This is a list of all available Services that we can run This is a list of all available Services that we can run. These are Docker Templates of Images that are ready to deploy.

Notice we have 2 versions of the Jet app that we are developing

If you look at the v1 version, You can see how it is setup here in the UI. Notice it is setup to pull the v1 take of the WorkBetter image.

Notice that it is mapped to port 9000 for testing this v1 version.

This is a list of all available Services that we can run This is a list of all available Services that we can run. These are Docker Templates of Images that are ready to deploy.

Now, lets look at Jetv2. Its setup to pull the v2 tag of the WorkBetter image.

The Jetv2 version is mapped to port 9001 for testing purposes

This is a list of all available Services that we can run This is a list of all available Services that we can run. These are Docker Templates of Images that are ready to deploy.

The pre-defined service can be delployed in a click

Container CS pull the image from the Registry

Once, the screen goes green, we know that the container is up and running and healthy.

If we navigate to the browser tab and type in the address of the host with port 9000, we see the default picture of Steven King, here in the middle in Green About Me section.

This is a list of all available Services that we can run This is a list of all available Services that we can run. These are Docker Templates of Images that are ready to deploy.

WorkBetter:V2 is the image:tag with Greg’s modifications WorkBetter:V2 is the image:tag with Greg’s modifications. Again, we can deploy in a click.

Container CS is pulling this new image.

Its up and running pretty quickly.

Navigating to a new tab, on Port 9001, we can see the modification in the About Me section, now with My Picture.

As a dev team, we are satisfied with the changes and want to kill the running v1 deployment. Just click Stop on the v1 deployment in Container CS

We can fully remove the stopped deployment, as well.

Now we just have the v2 deployment as the sole running instance. This instance could be behind a load balancer, so all new traffic would be routed to port 9001

Demo – Container CS Deploys JET App

Related Sessions Oracle Linux, Docker, and Oracle's Container Registry [CON7461] Avi Miller, Oracle Keshav Sharma, Sr. Director, Oracle Tim Oldham, Data Centre Infrastructure Architect, BT Monday, Sep 19, 5:30 p.m. - 6:15 p.m. | Marriott Marquis—Salon 1/2/3 Docker Agility in the Cloud: Introducing Oracle Container Cloud Service [CON7404] Jon Reeve, Sr. Director Product Mgmt, Oracle Tuesday, Sep 20, 12:15 p.m. - 1:00 p.m. Moscone South - 310 Hands-on Lab: Setting Up Your Enterprise-Class DevOps Solution Using Docker [HOL5960] Wen-sheng Liu, engineer, Oracle Yu Wang, Software Engineer, Oracle Gary Wang, Senior Manager, Oracle Thursday, Sep 22, 8:00 a.m. - 9:00 a.m. | Hotel Nikko—Nikko Ballroom I (3rd Floor) General Session: Agile Development and DevOps Done Even Faster with Oracle IaaS and PaaS [GEN6861] Michael Lehmann, VP Product Management, Oracle Suhas Uliyar, Vice President Mobile Product Management, Oracle Siddhartha Agarwal, Vice President, Product Management and Strategy, Oracle Tuesday, Sep 20, 11:00 a.m. - 11:45 a.m. | Moscone West—2002/2004

Q&A This is a Custom Section Header slide ideal for including a a brief title and optional subtitle. This slide can also be used as a Q and A slide. Do not customize this slide with your own picture.