Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Status Quo on the automation support in SOA Suite OGhTech17

458 views

Published on

Presentation about influences from DevOps, Microservices and Cloud - for SOA Suite customers - how to approach DevOps

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Status Quo on the automation support in SOA Suite OGhTech17

  1. 1. sysco.no Jon Petter Hjulstad Sysco Middleware Status Quo on the automation support in SOA Suite
  2. 2. sysco.no Overview • About Speaker / Sysco • Trends: DevOps, Cloud, Microservices • The competition • Automation – What can be done ? • SOA Suite - Capabilities • Q&A
  3. 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. 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. 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. 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
  7. 7. sysco.no Evolution wave
  8. 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. 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. 10. sysco.no DevOps = Culture + Technology Movement Culture is what’s behind DevOps; technology is the enabler Culture Technology
  11. 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. 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. 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. 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
  15. 15. sysco.no The competition
  16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  27. 27. sysco.no Testing
  28. 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. 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. 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. 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
  32. 32. sysco.no Testing
  33. 33. sysco.nosysco.no Code Quality • SonarQube / Jenkins – https://technology.amis.nl/2016/07/21/oracle-soa-suite-code-quality-sonarqube-quality-gates-xml-plugin-custom- xpath-rules/ • JDeveloper Audit Rules – https://community.oracle.com/docs/DOC-893779
  34. 34. sysco.no Monitoring – closing the DevOps loop
  35. 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. 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. 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
  38. 38. sysco.no Cloud
  39. 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. 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. 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
  42. 42. sysco.no Lessons learned
  43. 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. 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. 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
  46. 46. sysco.no Q&A
  47. 47. sysco.no Enjoy the OGh Tech conference! • SYSCO 2017

×