Professional Documents
Culture Documents
S105465GC10 Mod11 PDF
S105465GC10 Mod11 PDF
Student Guide
S105465GC10
Learn more from Oracle University at education.oracle.com
Copyright © 2020, Oracle and/or its affiliates.
Disclaimer
This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training
course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display,
perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle.
The information contained in this document is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of
such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software
documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure,
modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered
hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable
contract. The terms governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services. No other rights are granted to the U.S. Government.
Trademark Notice
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc.
AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not
be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.
Copyright © 2020, Oracle and/or its affiliates.
Disclaimer
This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training
course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display,
perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle.
The information contained in this document is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of
such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software
documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure,
modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered
hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable
contract. The terms governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services. No other rights are granted to the U.S. Government.
Trademark Notice
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc.
AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not
be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.
Implementation Approach: Cloud
Applications & Extensions Development with
DevOps
Oracle Cloud Project Management Training for Partner
The following is intended to outline our general product direction. It is intended for information
purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be relied upon in making purchasing decisions. The
development, release, timing, and pricing of any features or functionality described for Oracle’s
products may change and remains at the sole discretion of Oracle Corporation.
Statements in this presentation relating
Please taketo Oracle’s
note of ourfuture plans, expectations,
safe harbor statement beliefs, intentions and
prospects are “forward-looking statements” and are subject to material risks and uncertainties. A
detailed discussion of these factors and other risks that affect our business is contained in Oracle’s
Securities and Exchange Commission (SEC) filings, including our most recent reports on Form 10-K and
Form 10-Q under the heading “Risk Factors.” These filings are available on the SEC’s website or on
Oracle’s website at http://www.oracle.com/investor. All information in this presentation is current as of
September 2019 and Oracle undertakes no duty to update any statement in light of new information or
future events.
Analyze & Plan & Configure & Validate & Transition & Sustain &
Prepare Design Build Test Go Live Realize
DevSecOps AI / ML Data
Science Platform
Contributions to
Open Source Supporting Open Source
NetBeans, Eclipse, Spark, Hadoop, OpenJDK,…
OCI Regions
Infra as a Code
(Global Availability LBaaS API / CLI (TF, Chef, Puppet)
Networkin Compute Storag Edge Key
Key Mgmt
IaaS)
IAM
IAM Mgmt
Domains g e
Serverless
f(x)
User: DevOps / SRE User: Web/Mobile Dev User: Operations User: Line of
Business
Development Effort Low Code High Code / Low Code High Code
Data Access Drag and Drop APIs + Database REST APIs only
Security SSO for UI + OAuth for API SSO for UI + OAuth for API SSO for UI + OAuth for API
Operational Control Low – Fully Oracle Managed Medium – Partially Managed Low – Fully Oracle managed
Development Effort Low Code High Code / Low Code High Code
Data Access Drag and Drop APIs + Database REST APIs only
Security SSO for UI + OAuth for API SSO for UI + OAuth for API SSO for UI + OAuth for API
Operational Control Low – Fully Oracle Managed Medium – Partially Managed Low – Fully Oracle managed
Content and
SaaS Native Tooling* Visual Builder Cloud OIC (Process) Java Cloud Oracle JET Mobile Cloud
Experience Cloud
VBCS / JET / APEX OKE *Not PaaS
Agility
Container
Cloud Service
Efficiency
Phase III
Business Focus
Phase II
DevOps Focus
Phase I
Developer Focus
Speed
When Running
For fast consistent more workloads on
delivery of your the same hardware
application
For responsive
deployment
and scaling
Container 1
Containers communicate
with each other via
Container 2 Kubernetes
Container 3
Docker Kubernetes
Container n-1
Docker is used to manage Kubernetes link containers
and build the containers Container n running on multiple hosts
and orchestrates
NODE DOCKER
POD POD POD
UI
Container Container Container
Kubernetes
API Masters
NODE DOCKER
POD POD POD
CLI
Container Container Container
Foo1 Foo2
Event
API Registry Open Service Broker
Management
Managed Kubernetes
OKE OCIR
Unmodified Codebase 3rd Party 3rd Party
Kubernetes Registry
Portable Interoperable
• No Lock-In – Move containers from one • Use Oracle Infrastructure Cloud Registry
Kubernetes environment to another or any other external Docker registry
• Ensures Portability – Built on • Leverage Container Pipelines or any other
unmodified open source codebase continuous integration / delivery system
Containerize
WebLogic Deploy images
to production
WebLogic Application
WebLogic WebLogic
Application Operator
WebLogic Server
+ Server managing
Migrate WebLogic
WebLogic data store Domains
Autonomous Kubernetes
Transaction worker nodes
Processing
Data Store
(ex. Oracle Database)
Microservices
Deploy
Containers images to
Re-factor app running production
microservices
Kubernetes
User Interface worker nodes
App Server +
Data Access
Monolith
Application ORACLE CLOUD INFRASTRUCTURE
Data Store
• Open Source
• Native Docker: use any Docker container as your Function
• Supports all languages
• Run anywhere What Can We Build With
o Public, private and hybrid cloud Serverless?
o Import Lambda functions and run them anywhere
• Web & Mobile Backends
• Simple yet powerful extensibility
• Can significantly reduce costs, given proper planning and • Any other API
implementations
implementation
• An Architecture which allows developers to focus on just • Real-time processing of
Files, Streams
developing code and business logic
• There are servers in serverless • Batch processing
• An architectural trend that tries to “reduce all notion of • Gluing up SaaS Apps
Infrastructure”
• Polyglot function platform with Java Optimizations
42 Copyright © 2020, Oracle and/or its affiliates.
Oracle Functions
Benefits
Pay Per Use
Pay for execution, not for idle
time
Functions-as-a-Service
Secure
No Lock-in
Built on open-source Fn
Project and Docker
HTTP
Events
Streams
Timer
• Short execution
• Stateless
• Triggered from user code or cloud events
• Self contained
• Scale automatically
• Container-Native – packed in container with Inherit a rich
ecosystem of container tools
• Function Developers – OCI users who create, deploy
functions
• Application is a logical group of functions
• When a function is deployed to Oracle functions, function is
built as Docker Image and pushed to Docker registry
• Definition of Function describes how function is executed
and also includes
o Docker Image to pull when function is invoked
o Maximum length of time the function is invoked for
o Maximum memory the function is allowed to consume
Fn Flow
Triggers
Managed Kubernetes
Uses
Identity
Cloud Associated
Oracle
Access
Manager
Key
AuthN Management Oracle
Fusion
SaaS
Business
Visual Logic
API Gateway
Builder
Business
Logic
Other Services
Oracle Functions
OCI
49 Copyright © 2020, Oracle and/or its affiliates.
Common Use Cases – “Run Code in Response to Events”
Glue Cloud Services, Web, Mobile, IoT Real-time File, DevOps, Batch
Event-driven Backends Stream Processing Processing
Functions
Business
Data Analytics CX Integration Insight Collaboration
ORACLE CLOUD
Network DB / DW DB / DW
Trigger Storage
functions
Compute Storage Functions can use DB, Storage, and
other services
ORACLE CLOUD
Network DB / DW
Log
Destination
Audit OCI Events Functions
ORACLE CLOUD
DB / DW
However
• Higher level frameworks reducecontrol Extensibility is important
• Applications are tied to a specific framework Also true of JS frameworks
• May not be suited to every screen in every app Use for apps thatmake sense
• Every low code tool caters to a specific need Know what your lookingfor
Development
Runtime
Oracle JET
HTTPS / REST
App Hosting Business Objects Data
• Full two-way editing between code and declarative designers • Code is not readable in a
Code accessibility • Built-in Git integration with Developer Cloud Service meaningful way
Platform Framework ATP Database Language Complex Managed By SOAP REST IDCS Dev Style
/ Library Access Business Support Support Integration/
Logic Propagation
OIC REST via Adaptor Declarative Medium Oracle Yes Yes Yes* Declarative
Integration
WLCS JAXRS JDBC / REST Java Yes Customer Yes Yes Declarative Code
WLCS ADFBC Declarative / Java Java/XML Yes Customer Yes Yes Declarative Declarative
OKE* HELIDON JDBC / REST Java Yes Oracle/ Yes Yes Yes Code
Customer
ATP ORnS Native PLSQL Yes Oracle No* Yes No only Code
ORDS
security*
Functions* Java REST Java Yes Oracle Yes Yes Yes via Code
APIGW
Visual Business REST Declarative Medium Oracle No Yes Yes Declarative
Builder Objects
- OKE and Functions have the ability to use any docker container created by the user
65 Copyright © 2020, Oracle and/or its affiliates.
Monolithic
Development
Java
On-Premise,
On-Premise, Private Cloud,
Private Cloud Other Clouds
Java Apps
Dev and Test In Cloud Migrate Apps to Cloud New App Development In Cloud
• Faster spin-up of dev/test • Lower overall cost – no data • Simplified Java infrastructure for
instances centers building cloud-native
• Easy standardization • Reduce ongoing management applications
enforcement cost with OOTB tooling for • Broad cloud service portfolio to
• Integrated developer production class operations – meet all technical needs
environment with DevCS backup, restore, manage, • Integrated dev environment with
• Consolidate with monitor, scale, patch DevCS
standardization • Standardization and • Lower overall cost
• Faster time to market consolidation
• Lower cost • Ability to move back to on-
premise with Exalogic
69 Copyright © 2020, Oracle and/or its affiliates.
Oracle Mobile
Services
Mobile HUB
Digital Assistant
Client
Mobile
Development
Core
Line of Tools
Business
71
71 Copyright ©
Copyright © 2020,
2020, Oracle
Oracle and/or
and/or its
its affiliates.
affiliates.
Oracle Multi-Channel Cloud
UI Console
API, Backend Lifecycle Security Diagnostics
Hybrid Built-in
APIs / Other SaaS
SDKs Platform
APIs
Database
Connect
User Mgmt
Custom or Oracle SaaS
REST
Nativ Notifications Code
Object Container SOAP
e Data Shaping
APIs / Storage ICS
SDKs
Location Mash-up
Orchestrate On-Premise
Offline Sync Packaged
Applications
Mob Analytics
Other Oracle Client
tools Customer
APIs / APIsAPI
Custom OCI Shared services
SDKs Custom
BOTS VBCS JET 3rd Party API Obj Storage DB Identity Applications
Custom
Dialog State machine that
Channel
Target Flow executes context &
multiple clients Configurator memory driven
Execution
conversations
SCM Inventory
SCM skills
Purchase Manufacturing
Orders
ERP
ERP skills
Procurement
Selected
Submit skills Submit
HCM Expense Expenses
Absence Inventory
CX manager
CX skills Sales
Employee Sales
goals
3rd Party
3rd party skills Location
services
Enables trust
Integration challenges Expensive and complex to integrate diverse data sources with
enterprise business applications
Keeping up with open-source evolution Open source software such as Hyperledger innovates rapidly,
keeping platform up to date is challenging
Enterprise-grade
Container Identity Event Administration & Off-chain
Management Management Management DevOps Services Data Sync
Peer nodes
Distributed ledger
(single version of truth) Applications
Smart contract (REST API)
REST proxy
(aka chaincode) Membership
service
Ordering service
Membership
service
Applications Ordering service
REST proxy (SDK based)
Admin UI
Admin UI
Applications
Managed PaaS
85 Copyright © 2020, Oracle and/or its affiliates.
Part 3 - Implementation Approach: Cloud
Applications & Extensions Development with
DevOps
Java
• Task tracking System Database
Application
Container
• Agile and Sprint Planning
• Code Versioning and Repositories
• Code Review Process Visual Mobile
Builder
• Build Servers
Developer
• Test Automation
• Continuous Integration Engine
SOA Containers
• Deployment Automation
Compute Storage
JDeveloper,
REST
NetBeans Mylyn
Interface
and Eclipse
Web
Dashboard SSH to GIT
Partners
Deploy
WebHooks
Deployment Server
Build Server
Wiki Server
NetBeans Agile JCS – SaaS
Development Extensions
Environment
Web Interface
Merger On-
Requests Premise
Command Weblogic
Line Others
• Project Properties
• Build Environments
• Analyze Usage Metrics & Data
• Issue Tracking
• Customize Issue Tracking
• Configure Git Repositories
• Manage Branches
• Create Webhook Connections to
External System
• Connect to Syndication Services
• Import/Export Projects
• Plan
• Task tracking, Agile planning, wiki Plan
• Code Monitor Code
• Git– version management
• Code review, snippets
• Build
• CI + Build Tools & Utilities
Operate Build
• Test
• JUnit & Selenium, Findbugs, Sonar deploy
to QA
• Release & Deploy
Deploy Test
• Deploy Plans, Provisioning, and configuring
• Operate & Monitor Release
Plan &
Plan Design
Monitor Code
Sustain &
Realize
Configure
Operate Build
& Build
Validate
Deploy Test
& Test
Release
Transition &
Go Live
12-Factor App
An environment lets you define and manage Oracle cloud Paas and OCI service
1 instances as a single entity
Example: An Oracle Java Cloud Service instance is being used to deploy the
3 application to and run Selenium tests.
User can create a stage environment that uses the same Oracle Database Cloud
4 service instance as the QA environment, but a different Oracle Java Cloud Service
instance to deploy the application to.
User can view the health of at service instances comprising each environment on the
5 project page or on the environments page
Any project member can create an environment and add service instances to it.
6 Other project members can use the service instances of the environment to run, test
and deploy applications
User can access and manage the project’s environments from the
7 environments page
User can create, update, and delete environments, and add or remove service
8 instances from existing environments
User can capture information in a single place about health status of service
9 instances, their account names, tags, and service IDs. The details tab displays
its details such as name description, and tags of the selected environments
• Issue Tracking
Plan • Agile project Management and Dashboard
• Create dashboard
Monitor Code • Scrum & Kanban
• Manage issues backlog
• Manage development sprints
• Track team/tasks status
• Progress Charts
Operate Build • Team Reports
• Wikis Share information, Attachment
support, Wiki markup of choice
• Agile and sprint execution Team
collaboration features
Deploy Test
• Git source version management CI/CD
Pipelines
Release
Assign
Story Track and
Task List Board Sprint Resource &
Points Monitor
Timeline
• Git Repositories
• Private or shared
Plan
• Protected branches
• Online Peer Code Review in the Cloud
Monitor Code
• Manage merge requests
• Built as a part of review
• Large utilities on build servers
• Java, Node.js, Python, Groovy, C++, Ruby,
Operate Build SQL
• Code Review
• IDE Integration
• Create Requirements/Bugs/ERs
• Assign to team members
Deploy Test • Assign to sprints
• Customize attributes values
Release • Access from IDE
https://git-scm.com/
112 Copyright © 2020, Oracle and/or its affiliates.
Source Code Management
Developer
Cloud
Hashicorp
Git
Test Push Deploy
A job is a recipe (or build configuration) of how Hudson is going to build your project
Target
A Request is sent to one or more
reviewers to review code on a branch Branch
and upon approval, that branch is
merged with the master branch.
Master
Merge Source
Create a new
branch Code approved Build test Review
Branch
Review code
1. Create a branch
2. Download the branch
3. Review code
A merge request can be closed without
4. Fix and enhance code
merging. Also, the “fix” branch can be
5. Upload the branch
Iterate, fix, merged without approval
and review
123 Copyright © 2020, Oracle and/or its affiliates.
Validate &
Implementation Approach – Cloud Apps & Extensions Development Test
Major Activities:
• Continuously validate code developments Main Artifacts of Development &
• Conduct source code auditing and QA Extension Deliverables:
• Validate security • Development specification
• Continuously manage change requests and rework orders • Code Repository
• Continuously compile application package • User Roles & Responsibilities
• Continuously deploy the compiled application package • End-User Test Plan & Test
Results
• Continuously test the application package functionalities
• Issue Tracking
• All necessary Test / Validation Scripts have been • Development cloud services
developed to conduct comprehensive testing of the documentation and training
desired custom build applications, extensions, materials
functionality, business processes, security, mobile apps,
data loaded, reports, dashboards
Plan
• Part of CI/CDPipelines Testing
Monitor Code
• Selenium, Junit, Others
• Code Auditing
• SonarQube, findbugs
Operate Build
• QA Deployment
• Security Validation
• NVD review of code
Deploy Test
Release
Plan
• Easily provision deployment platforms as part of
Monitor Code Ci/CD pipeline
• Terraform & Packer Docker & Kubernetes
• Leverage in built Docker commands
• Publish to any registry and Enable other
builds
Operate Build
• Automate IaaS tasks
• Orchestrate OCI and OCI classic as part of the
build pipeline
• Leverage Terraform build VM image
Deploy Test • Configure Services (OCIcli, PSM)
Release
Major Activities:
Main Artifacts of Development &
• Transfer to end-user the knowledge base and perform Extension Deliverables:
application trainings • Final test results
• Save end-user functionality and performance tests • Support and Issue
• Implement & Run Support and Issue management activities Management process
• Maintain application cloud environment in a hosted/delivered • Deployment documentation
distribution model and training materials for
• Scale up and down the pipeline application package and
• Modify & deploy configuration scripts (YAML) supporting cloud services
• Monitor Kubernetes pods
• Stop and Start OCI infra & Kubernetes (OKE)
• Monitor Dashboards & Metrics
Plan
Monitor Code
• Automatic Scaling
• Easy Patching/Upgrade
• Live Reporting
Operate Build
Deploy Test
Release
Plan
Intelligent management for heterogeneous environments
Monitor Code Unified cross-stack operational data
01100100 01100001 01110100 01100001 01100100011
01100100 01100001 01110100 01100001 01100
END USER
EXPERIENCE 110000101100100 01100001 01110100 1100001011001
Real Users
0110010001100001 01110100 110000101100100
Synthetic Users
APPLICATION
110000101100100 01100001 01110100 01100001 0110
Operate Build 01100001
App metrics
0110010001100001 01110100 01001 011000
01100001
Transactions 0110010001100001 01001 01110100 011000
MIDDLE TIER 01100001 0100101001 001 0110010001100001 011101
Server metrics
01110100 010011 01100001 0110010001100001 011101
Diagnostics
01001
Logs 01110100 01100001 0110010001100001 01110100
DATA TIER 01110100 01100001 0110010001100001 01110100 0
Host metrics
01100001
VM metrics 01110100 110000101100100 01100001 01110
Deploy Test VIRTUALIZATION Container metrics
01110100 110000101100100 01100001 010001 01110
VM CONTAINER
TIER VM CONTAINER 01110100 01100001 01000100 010011 01100100
CMDB
Release INFRASTRUCTURE
0110010001100001
Tickets
Alerts
01110100 01000 01110100 11000
Unified Platform
01100001 01000100 010011 0110010001100001 01110
TIER
01110100 010011
01110100
Tickets 01100001 0110010001100001
Platform 01110100 01000 01110100 110000101100100
Alerts
INFRASTRUCTURE
TIER
01100001 01110100 01100001 01000100 010011 0110010001100001 01110100 01100001
0110010001100001 01110100 010011
Now that you have completed this module, you should be able to :
• Describe the evolution of the Applications development in Cloud
• Select & decide the appropriate cloud development frameworks for project in scope
• Understand the key concepts of Cloud Native Development & Use cases
• Explain the core concepts and deployment of serverless Functions
• Understand the Low code development difference from traditional coding
• Explain the usage and difference of Visual Builder and APEX
• Elaborate on the monolithic development approach using Java
• Plan deployment of Mobile HUB & Digital Assistant services
• Depict the key considerations of deploying Blockchain services
• Understand the core concepts and tools of Oracle Developer Cloud Services - ODCS
• Depicts the steps of developing new cloud applications leveraging ODCS
• Monitor and manage the development lifecycle in a CI/CD model (Agile / Scrum)