2. sysco.no
Overview
• About Speaker / Sysco
• Trends: DevOps, Cloud, Microservices
• The competition
• Automation – What can be done ?
• SOA Suite - Capabilities
• Q&A
3. sysco.no
Information about me
• Jon Petter Hjulstad
• Dept Manager for Middleware at Sysco
• 20 years experience with Oracle Products
• Focusing on WLS, SOA Suite, BPM Suite ++
• SOA Partner Community Award 2012
• WLS Partner Community Award 2015
• Oracle ACE Associate
• Twitter: jphjulstad
• Blog: http://blog.sysco.no/
Info
4. sysco.no
About Sysco
• IT-company established in 2004
• Operations, development, consulting in technology and economics
– Competence in database technology, middleware
– Special focus in the energy sector
• More than 150 employees
• 9 Office Locations
– Bergen, Haugesund, Lima, Oslo, Stavanger, Stord, Ølen, København, Stockholm
• Fusion Middleware Partner Community Award: “Outstanding WebLogic
Contribution 2015”
• Fusion Middleware Partner of the year 2016 for Norway
• Partner of the year 5 times in a row
• Specialized Partner in 10+ areas
• Sysco is part of Red Expert Alliance
5. sysco.no
Automation
Integration is about automating the customers processes.
This presentation will be abut how to automate the full lifecycle around
these processes
SOA Suite has been available for a long time – and lots has happened
in the IT landscape since the birth of SOA Suite
6. sysco.no
DevOps
Going from siloes with complex ticketing systems and request
procedures to a team based collaboration where developers and
operations talk about the product, production and the build metrics,
throughout its lifecycle, discussing requirements, features, schedules,
resources, and whatever else might come up
Mandi Wallis
8. sysco.no
DevOps Principles changes the goals
Cultural movement enabled by technology
Paid to add new features
Achievement:
Innovation
Speed & Agility
Ease of change
Self Service
Dev Ops
DevOps
Paid to keep system stable, fast and
available.
Achievement:
Planning,
Security and Control, Simplicity
What, where, who, when?
New goal:
Add new features and keep the
system stable, fast and available
Business Values
9. sysco.no
DevOps Primary Focus Areas/principles
• Collaboration between project members/roles
• Infrastructure as code as scripted infrastructure configuration
• Automation of tasks, processes, workflow
• Monitoring applications and infrastructure for constantly
improvements
Monitoring is the last part that makes it DevOps…. Monitoring of at
least accepted application performance but also if the business values
are achieved.
10. sysco.no
DevOps = Culture + Technology Movement
Culture is what’s behind DevOps; technology is the enabler
Culture
Technology
11. sysco.no
Collaboration – culture must change
DiscussRespect
Avoid
Blaming
“Done”
Means
Released
•Mutual Respect
•No stereotyping
•Don’t just say “no”
•Open honest culture
•Delegate in each others
discussions
•Shared runbooks/escalation
plans
•Ops should give devs access
to systems
•No fingerpointing
•We are all in the same boat
•Dev’s
responsibility does
not end when it’s
in production
•“Throwing it over
the wall” is dead
12. sysco.no
Change in Technology
Shared
Version
Control
Infra as
Code
One
Step
Build/
Deploy
Don’t Fix
Anything
•Use config mgmt
to build
environments
•Scripts checked in
and managed as
source
•Single system for code and
build artifacts
•Every commit triggers a build
and automated build
verification tests
•Ship trunk
•Enable features through flags
•One button build/deploy
(manual)
•Scheduled builds/deploys
•If verification fails, stop and
alert
•If something
breaks, re-deploy.
Don’t fix
•Fix environment
setup scripts!
13. sysco.no
Microservices Architecture
The term "Microservice Architecture" has sprung up over the last few
years to describe a particular way of designing software applications as
suites of independently deployable services. While there is no precise
definition of this architectural style, there are certain common
characteristics around organization around business capability,
automated deployment, intelligence in the endpoints, and decentralized
control of languages and data.
Martin Fowler
14. sysco.no
Cloud Computing
Cloud computing is a type of Internet-based computing that provides
shared computer processing resources and data to computers and other
devices on demand. It is a model for enabling ubiquitous, on-demand
access to a shared pool of configurable computing resources (e.g.,
computer networks, servers, storage, applications and services), which
can be rapidly provisioned and released with minimal management
effort
Wikipedia
16. sysco.nosysco.no
The competition
• The competition is out there:
– Cloud based integration Platforms
– Java based Microservice Platforms
– Docker
– Testing frameworks
• Expectations are higher
– New approaches show where traditional product fall short when you
want to automate/integrate things
• With SOA Suite we know what we got
– Let us look at the options
– Feedback based on our customers and partners
17. sysco.no
«Golden» SOA Suite Server
The «Golden» SOA Suite Server og Jdeveloper PC idea is dead – you
want to be able to reprovision that software in short time and to be able
to provide latest version with little effort.
Jon Petter Hjulstad
18. sysco.no
Popular “DevOps” Technology
The menu is not always easy to choose from
Jenkins / Hudson
Rundeck
Bamboo
FlexDeploy
Git
Perforce
Subversion
Ansible, Puppet, Chef
MyST
Gradle
Jenkins / Hudson
Robot
Jira with Bamboo
Artifactory
Nexus
Docker
Vagrant
Version Control
Build & Functional Testing Binary ManagementVirtualization
Continuous Integration
Continuous Delivery
Configuration Management
19. sysco.no
How does Oracle SOA Suite fit in here?
• The influences may make us do things differently in the future
• Maybe not perfect fit, but ..
– For SOA Suite customers, their investment in technology usually goes way
beyond what they are buying from Oracle
– Many of them are using the tools mentioned: Confluence, Jira, Splunk, Nexus,
Hudson / Jenkins, Puppet, etc.
– Within the DevOps cycle you can leverage the overall investment by setting up
integrated development ecosystems where most of it can be automated
– In spite of FMW shortcomings its not really that difficult to integrate it with any of
these
• Do not wait for any of this OOB, so as a customer you need to invest some more on it
– Or invest in tools like MyST or Flexdeploy
• As an integration partner it’s important to have this skill set around and outside the
product boundaries.
20. sysco.no
Oracle Fusion Middleware – Deployment Tools
Install
Java
MyST
Java Plugin
Install
WebLogicWLS Plugin
Configure to
Work With
Install IdM
IdM Plugin
Configure to
Work With
Install
WebCenter Sites
WCS Plugin
Configure to
Work With
Recorded
Script
Replay
Elsewhere
Puppet
Ant
Maven
Custom
Shell Script
AtlassianBamboo
Provision HW
Success!
Install
WebLogic
Success
!
Install
Coherence
Success!
Patch
WebLogic
Success!
Orchestration
Engine
Ant
Maven
Custom
Plugin
Provision HW
Success!
Install
WebLogic
Success!
Install Coherence
Success!
Patch
WebLogic
Success!
Target
System
Provision Complex Multi-tier Oracle
Fusion Middleware Environments in
Minutes
21. sysco.no
FlexDeploy for Continuous Delivery
Achieving DevOps and Continuous Delivery with Ease
• Integrated Suite for Build, CI, Artifact Repo, Deploy, Test
• Improves speed, quality, and cost of software delivery
• Visibility to real-time and historical data
Oracle Plugins/Integrations make Oracle based solutions easy, repeatable, and efficient
• Fusion Middleware – WebLogic, SOA, OSB, ADF, BPM, ODI, MDS, WebCenter
• Cloud PaaS – Java, Database, SOA
• Database, WebLogic Resource Management, E-Business Suite
22. sysco.no
Keep JDeveloper Environment up to date
• Not easy to know which patches to apply
– Apply Java, WLS, SOA, OSB patches
– http://blog.sysco.no/soa/Patching_JDev/
• You can provide scripts to keep it up to date
– http://blog.darwin-it.nl/2016/06/automatic-patching-of-soabpm-quickstarts.html
• You can provide developer VMs
– Virtualbox, Oracle VM
– Quickstart helps a lot – so may not be worth effort
• May need to clear cache to activate patch
– http://blog.sysco.no/soa/JDev-OSB_Projects-Migrated/
23. sysco.no
The best code is code you do not write
• Reuse is key
– https://www.slideshare.net/rluttikhuizen/nordic-ace-director-tour-2015-reuse-in-oracle-soa-suite-12c
• Three variants:
– Pattern
– Library
– Service
• Maven
– Build automation tool from Java
– Introduced in SOA Suite 12c
– Maven uses templates for predefined project structures
– Create, Build, Deploy
24. sysco.nosysco.no
Quick start development
• Can provide templates (from 12c)
– SOA Suite (SOA Project, Service Component, BPEL Scope)
– SB (Pipeline)
• Enforce standards
• Make it easier for developers
• Updating template does not fix for old projects
25. sysco.nosysco.no
Documentation
• To document takes time
• Implementations change
• Can to a large degree be automated
– SOA files are configurations
• We have customers who has created integrations from OSB to
Confluence
• Implemented into your build pipeline
26. sysco.nosysco.no
Job Scheduling: Enterprise Scheduler Service (ESS)
• Implemented SOA Pattern (less code to maintain)
• Available from 12.1.3
• Provides the ability to run different job types, including:
– Java, PL/SQL, binary scripts, web services and EJBs distributed
across the nodes in an Oracle WebLogic Server cluster.
– Dependencies, Parallelization, Throttling / Prioritazion
• Jay Kasi: https://www.youtube.com/watch?v=YYe782oQZT8
• Should consider changing your old tools when migrating
28. sysco.no
Fraternité’s Deployment Pipeline
As we move from left to right, the stages become longer and more production-like.
• Precommit: Allows a developer to run the same build and tests as the commit phase, but without having to first commit their
changes to the trunk. The purpose of this stage is to allow the developer to determine if they are ready to commit to trunk.
• Commit: Runs the main build - compile, test, package - to produce a binary, which is published to the Binary Repository. This stage runs
fast - no more than five minutes at the absolute maximum - and so it includes unit tests and integration tests that run quickly and do not
require the binary to deployed to a sophisticated runtime environment.
• Quality: Executes a large number of quality checks on the project to look for common errors.
• Automated Acceptance Test: Runs the main test suites, which are automated, which take longer to run, and which require a production-
like environment with test data, stub services, etc. to execute. This stage should catch regressions and should give a high level of
confidence that the application is release-ready.
• Manual Acceptance Test: Creates a production-like environment and deploys the application into it for manual testing by QA engineers.
• Release: Releases the application to a (pre-)production environment.
Precommit Commit
Auto
Acceptance
Test
Manual
Acceptance
Test
Release
Quality
29. sysco.no
• Many kinds of tests
– Unit
– Integration
– Acceptance
– Performance
– Longevity
– Functional
– Stress/Load
• Many things to test
– Code
– Deployment
– Configuration
– Infrastructure
– User Interface
– Quality
Testing and Quality
30. sysco.nosysco.no
When to run tests
Precommit Commit Quality Auto Acpt. Manual Acpt.
Faster Time Slower
Smaller Scope Larger
High Probability of Failure Low
31. sysco.no
Testing
• Oracle Core functionality is not good enough
– And has been unchanged for long time
• Opitz has done some great work
– https://www.slideshare.net/bernhasv/test-driven-soa-suite-12c-upgrade
35. sysco.nosysco.no
Monitoring
• Metrics
– Real-time data about application performance
• Log data
– Information about activities and events
• Alerting
– Notifications – you do not want to watch graphs
https://www.slideshare.net/NenadBozic2/challenges-of-monitoring-distributed-systems
36. sysco.nosysco.no
Monitoring
• We see different approches at customers – often based on what they have
licenced
• For those with management packs – they use Cloud Control
– Management Cloud
– APM
– Log Analytics
• For others they use:
– EM console
– Custom Scripts
– Splunk / ELK
• Other automation support is
– Error Hospital
– Circuit Breaker (licenced)
37. sysco.nosysco.no
Collaboration - Social Monitoring
• Slack integration
– Message from Jenkins when Build is finished
– Start Build from Slack
– Updates from Jira
– Add comments in Trello
• Developers have tools they love
– Let them use it for other areas as well
39. sysco.no
How has cloud affected us?
• Oracle has focus on PaaS – not on-premise
• Releases have Cloud-version-numbers
• On 12.2 we have not gotten Bundle Patches (functional)
– Focus on security
• Cloud way is to install and migrate artifacts
• Customers expect more from us – more «cloud-like»
• How is developer productivity in cloud?
– Are there less automation capabilities ?
40. sysco.no
Cloud - Multitenancy
• Oracle has multitenancy in database
• Weblogic 12.2.1has multitenancy
• Multitenancy gives more efficient use of resources
• What about SOA ?
https://blogs.oracle.com/imc/introducing-oracle-weblogic-server-1221-multitenancy:-a-qa-game
41. sysco.nosysco.no
Cloud
• Oracle has PaaS products which are based on on-premise
• That means your existing competence is still valid
• Cloud introduces scalability/elasticy
– These are challenging in todays software
– https://jeqo.github.io/talk/scale-wls-the-k8s-way-ougn-17/
– Licencing also impacts this
• Will se hybrid for a long time
43. sysco.no
Repeatable Tasks:
Steeper Learning Curve vs Constant Time Investment
Time
# of Repetitions
DevOps
approach
General
approach for
deploy and
operations
Choose and learn tools, time consumed creating scripts
44. sysco.no
What we have seen
• No one does everything
• It takes time to change behavior
• New versions give new functionality, but to implement it is
sometimes an effort
• Features requiring additional licences have a less chance to get
implemented
– Management Packs
– Circuit Breaker, IWR
• Key to share knowledge your outside organization
45. sysco.no
Benefits Towards a DevOps Approach
• Increased Agility
✓ Better Time to Market
✓ Business & Technology Alignment
• Increased Quality
✓ Consistent Environments
✓ Increased Reliability
✓ Improved Resiliency
• Continuity of Business
• Reduced Overhead
✓ More time to focus on:
✓ solutions,
✓ testing
✓ and innovation
✓ Projects become more feasible