Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Docker with Continuous Delivery in Oracle Cloud

Similar presentations


Presentation on theme: "Using Docker with Continuous Delivery in Oracle Cloud"— Presentation transcript:

1

2 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

3 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, 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.   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.

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

5 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

6 What is Developer Cloud Service

7 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.

8 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

9 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

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

11 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.

12 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

13 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 -> Oracle Cloud Services Developers Developer Service Cloud or On-Premise Track & Monitor

14 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

15 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

16 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

17 Introducing Container Cloud Service

18 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.

19 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

20 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…

21 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.

22 Integration Concepts

23 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

24 Concept Demo

25 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

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

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

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

29 Demo – DevCS Docker User story detail

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

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

32 Demo – DevCS Docker Image versioning and deployment
Build overview

33 Demo – DevCS Docker Build overview

34 Demo – DevCS Docker Sprint update

35 Demo – Container CS Deploys JET App

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

37 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.

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

39 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.

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

41 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.

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

43 The Jetv2 version is mapped to port 9001 for testing purposes

44 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.

45 The pre-defined service can be delployed in a click

46 Container CS pull the image from the Registry

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

48 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.

49 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.

50 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.

51 Container CS is pulling this new image.

52 Its up and running pretty quickly.

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

54 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

55 We can fully remove the stopped deployment, as well.

56 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

57 Demo – Container CS Deploys JET App

58 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

59 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.


Download ppt "Using Docker with Continuous Delivery in Oracle Cloud"

Similar presentations


Ads by Google