Upload
others
View
37
Download
0
Embed Size (px)
Citation preview
Making DevOps Really Work
Gustavo Michel Torres
Principal Technologist
Platform Technology Solutions
Setembro 2017
1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
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, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Sound Familiar? Who is at fault? Who to blame?
It's not my machines, it's your code!
It's not my code, it's your machines!
3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
DevOps Principles Cultural movement enabled by technology
Paid to add new features
Development Operations
Devops
Paid to keep system stable, fast and available
New goal: Add new features and keep the system stable, fast and available
4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
FASTER RELEASES
•Quickly align with business requirements
•Increase accuracy of releases - avoid downtime
SAVE MONEY
•Automate manual processes to reduce OPEX
•Prevent human error and reducing downtime
FOCUS ON BUSINESS
Allow high value employees to focus on higher value activities
Core Business Values of DevOps
5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 6 Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Cloud Platform: DevOps Ready
Oracle Platform for Cloud Application Development
BACK-END SERVICES
Mobile Application Container
Java Docker Containers
EE
JET Low Code Composers
3rd Party SDKs
A FRONT-END TOOLING
Compute Network Storage
Robust IaaS
INTEGRATION SERVICES
DATA SERVICES Database NoSQL MySQL
Integration SOA
Big Data
B
COMMON SERVICES Identity
Management
Continuous Delivery
API Management
Analytics
6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Keys to Cloud DevOps Success
Runtime/Deployment CLOUD SERVICES
Management CLOUD SERVICES
Development/Build CLOUD SERVICES
7
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
DevOps
• DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably.
– Wikipedia
8
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Cloud Native Microservice Demonstration Scenario
9
Lynn (Project Manager)
Jean (DBA)
Joe (UI Developer)
Larry (Service Developer)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Developer Cloud Service
• Track Issues
• Agile Project Management
• Wikis
10
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Issue Tracking
11
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Agile and Sprint Planning
12
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Agile Reports for Progress Tracking
13
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Developer Cloud Service
• Git Repositories
• Coding in the Cloud
• Code Review
• IDE Integration
14
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Manage Code Repositories
15
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Track Code Changes
16
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Conduct Peer Code Review and Merge Requests
17
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Code in the Browser*
*Coming soon
18
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Developer Cloud Service
• Support Popular Build Frameworks
• Orchestration and Dependencies
• Build Reports and Notifications
19
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Build Dashboard
20
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Multiple Build Steps Orchestrations
21
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Developer Cloud Service
• JUnit
• Selenium
• FindBugs
• QA Deployments
22
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Test Results Dashboard
23
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Developer Cloud Service
• Create packages
• Direct deployment
24
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Deployment Configuration
25
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Oracle Cloud Services
• Easily provision deployment platforms
• Java Cloud Service
– Java EE in the Cloud
• Application Container Cloud
– Java SE, NodeJS, PHP, Ruby*, Python*
• Mobile Cloud Service
– Mobile Services
• Container Cloud Service
– Docker Containers
26
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Polyglot Platform for Running any Workload
Developer CS
Mobile CS
Java CS (Java EE)
Application Container CS (Java SE & Node) Container CS
(Docker Containers)
27
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 28
Easy Configuration – Fast Provisioning
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Cloud Native Completely Automated with DevOps Plugging into Existing DevOps Pipelines Seamlessly
29
Service API Catalog
Oracle Cloud
REST APIS
• Docker, VMs, Storage, Network
REST APIs for IaaS
• AppDev, Integration, Mobile, BI, DB…
REST API for PaaS
• ERP, Service, Sales, Support ...
REST APIs for SaaS
Service APIs
DevOps Pipelines
Automation Tools
Command Line tools or curl
>psm setup >psm list services >psm push app …
>curl -i -X GET -H
"Authorization:joe@exam
ple.com:joePassword" \ -
H ...
Oracle DevCS
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal Use Only
Cloud Stack Manager: Manage Many PaaS Services as One
• Manage group of cloud services as a single atomic unit called a Cloud Stack
• Template driven approach to maximize reuse and sharing
• Eliminate manual tasks to create a cloud environment
• Automatically manages dependencies
• True Infrastructure-as-Code for your DevOps needs
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Oracle Cloud Services
• Automatic Scaling
• Easy Patching/Upgrade
• Live Reporting
31
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 32
Scale Out & Scale Up
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Automatic Scaling Settings
33
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
One Click Upgrades
34
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
Oracle Management Cloud
35
01100100 01100001 01110100 01100001 0110010001100001 01110100 0100 0110000101100100 01100001 01110100 01100001 0110010001100001 01011 01110100110000101100100 01100001 01110100 110000101100100 01100001 01110100 011000010110010001100001 01110100 110000101100100 0100111 01100001 01110100110000101100100 01100001 01110100 01100001 011010 0110010001100001 0111010001100001 0110010001100001 01110100 01001 01100001 0110010001100001 0111010001100001 0110010001100001 01001 01110100 01100001 0110010001100001 0111010001100001 0100101001 001 0110010001100001 01110100 01100001 011001000110000101110100 010011 01100001 0110010001100001 01110100 01100001 01100100 0110000101001 01110100 01100001 0110010001100001 01110100 01100001 01100100 0100 0110000101110100 01100001 0110010001100001 01110100 01000100 0100 11000010110010001100001 01110100 110000101100100 01100001 01110100 01100001 011001000110000101110100 110000101100100 01100001 010001 01110100 110000101100100 0110000101110100 01100001 01000100 010011 0110010001100001 01110100 011000010110010001100001 01110100 01000 01110100 110000101100100 01100001 0111010001100001 01000100 010011 0110010001100001 01110100 01100001 011001000110000101110100 010011
END USER EXPERIENCE
APPLICATION
MIDDLE TIER
DATA TIER
VIRTUALIZATION TIER
VM CONTAINER
INFRASTRUCTURE TIER
VM CONTAINER
Real UsersSynthetic Users
Unified Platform
App metricsTransactions
Server metricsDiagnosticsLogs
Host metricsVM metricsContainer metrics
CMDBTicketsAlerts
INTELLIGENT, UNIFIED PLATFORM…
POWERED BY MACHINE LEARNING
COMPLETE, INTEGRATED SUITE
HETEROGENEOUS AND OPEN
✔
✔
✔
✔
• Intelligent management for heterogeneous environments
• Unified cross-stack operational data
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
01100100 01100001 01110100 01100001 0110010001100001 01110100 0100 01100001 01100100 01100001 01110100 01100001 0110010001100001 01011 01110100 110000101100100 01100001 01110100 110000101100100 01100001 01110100 01100001 0110010001100001 01110100 110000101100100 0100111 01100001 01110100 110000101100100 01100001 01110100 01100001 011010 0110010001100001 01110100 01100001 0110010001100001 01110100 01001 01100001 0110010001100001 01110100 01100001 0110010001100001 01001 01110100 01100001 0110010001100001 01110100 01100001 0100101001 001 0110010001100001 01110100 01100001 0110010001100001 01110100 010011 01100001 0110010001100001 01110100 01100001 01100100 01100001 01001 01110100 01100001 0110010001100001 01110100 01100001 01100100 0100 01100001 01110100 01100001 0110010001100001 01110100 01000100 0100 110000101100100 01100001 01110100 110000101100100 01100001 01110100 01100001 0110010001100001 01110100 110000101100100 01100001 010001 01110100 110000101100100 01100001 01110100 01100001 01000100 010011 0110010001100001 01110100 01100001 0110010001100001 01110100 01000 01110100 110000101100100 01100001 01110100 01100001 01000100 010011 0110010001100001 01110100 01100001 0110010001100001 01110100 010011
36
Powered by Machine Learning
END USER EXPERIENCE
APPLICATION
MIDDLE TIER
DATA TIER
VIRTUALIZATION TIER
VM CONTAINER
INFRASTRUCTURE TIER
VM CONTAINER
Real Users Synthetic Users
Unified Platform
App metrics Transactions
Server metrics Diagnostics Logs
Host metrics VM metrics Container metrics
CMDB Tickets Alerts
ANOMALY DETECTION
CLUSTERING
PREDICTION
CORRELATION
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Normal application behavior and expected component and transaction performance are automatically learned by Oracle Management Cloud, ensuring intelligent alerting.
37
Application topologies and cross-tier dependencies are automatically learned and kept up to date by Oracle Management Cloud, ensuring rapid troubleshooting.
Rapid Troubleshooting Across The Stack
Developer Cloud Real World Example
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
A Real World Example – The DevCS Development Team
43
~170 Project Members
1000s LOCs
2 Week Sprints
Oracle Developer Cloud Service
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Merge Process – Merge Requests
• ~200 commits a week
45
Master
New feature/ bug fixes
Complete code Merge request
to target
Code review
Iterate, fix & review
Code approved Automate build
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Build Process
• Check in builds
– ~50 builds a day
• + 2 times a day
– All git repositories
– Deploy to dev VM
– Automated tests
46
• Master branched every 2 weeks
– All git repositories
– Deploy to stage VM
– Automated tests
– Manual QA
– Candidate for production deploy
– ~Candidate for customers
Development Production
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Metrics: Developer Cloud Service Team
• One Developer Cloud Service Project
• 40 git repositories, 1 binary repository
• 170 project members, 50 active contributors
• 200 commits a week
• 50 builds a day
• 21365 issues
• 250 wiki pages
47
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
For More Information
More About DevOps https://cloud.oracle.com/en_US/application-development
Oracle Application Development 30-Day Free Trials https://cloud.oracle.com/en_US/tryit
Join the Conversation
Innovation to grow. Insight to control.