Oracle Middleware & Database Provisioning By Edwin Biemond OGH 6 Mei 2014 2 Ons doel voor vandaag Provisioning van de volgende Oracle Componenten Een Oracle database 11.2.0.4 met daarbij • SOA Suite repository 11.1.1.7 • Tablespaces • Users & Roles Een Oracle FMW cluster met daarbij • WebLogic 10.3.6 + BSU patch • SOA Suite 11.1.1.7 cluster met BPM & BAM + OPatch • OSB 11.1.1.7 cluster • JMS Servers 3 Start it up Watch the Database Magic 4 Ons probleem Vaak is het doorlopen van het proces belangrijker dan de omgeving Problemen, laten we meer schakels Aan het proces toevoegen Min/Max doorlooptijd 5 Waarom is het zo moeilijk????? 6 Complex, arbeidsintensief en foutgevoelig 7 Aantal handelingen FMW Server DB Server Operating System 40 Operating system 40 WebLogic 13 Database software 30 OSB 8 Database creatie 5 Soa Suite Repository 8 Soa Suite 10 Domein creatie 10 Initiele Domein setup 40 X Aantal stappen 8 Mogelijke oplossingen • Administrators – Kennis zit bij de mensen – De kwaliteit kan verschillen – 2 mogelijkheden • Alles met de hand – Lange doorlooptijd en grote kans op fouten • Scripts – Vaak een applicatie op zich – Code en omgeving variabelen lopen vaak door elkaar heen – Na een fout kan men niet het installatie proces herstellen 9 Cloning • Golden image – Waarschijnlijk is elke image anders • Kopieën & Kopieën van Kopieën – Wat zijn de verschillen? – Hoe kunnen we alle omgevingen verversen – Er zijn nog steeds aanpassingen nodig • Elke paar maanden is er wel een nieuwe patch van – – – – Operating System Java WebLogic Fusion Middleware 10 Ons doel Het leveren van een herhaalbaar platform van een zeer hoge kwaliteit in zo’n kort mogelijke tijd. 11 Wat is de oplossing? Gebruik een provisioning Tool!!! zoals Puppet, Chef, Salt of Ansible. Handmatig is tegenwoordig geen optie meer • Beschrijf je omgeving in tekst & onder versiebeheer • Bevat geen omgeving specifieke variabelen ( buiten de template ) • • • • Uitkomst is dan voorspelbaar en herhaalbaar Geen handmatige handelen Reporting van alle acties Altijd zijn alle servers up-to-date 12 Waarom Puppet? • Wereldwijd en in NL zeer populair, elk kwartaal verdubbelen ze hun omzet – Totaal ongeveer 10.000.000 Puppet nodes – 60.000 nodes bij 1 klant – Google beheert m.b.v. Puppet, 5000 server per beheerder • Meer dan 2300 vrij te gebruiken modules • Support voor VMware, Google cloud, OpenStack, Microsoft Azure en Amazon • Ondersteunt Linux, Windows, Solaris, AIX • Open Source eventueel masterless • Enterprise Edition – Gratis te gebruiken tot max 10 nodes • First Mile support (PXE boot / Razor) 13 Hoe werkt het? Puppet beschrijft de To-Be situatie 14 Blauwdruk 15 Foto 16 Verschil 17 Puppet Type reference 18 Puppet en Database demo 19 Oracle Database Puppet Modules • Puppet module install biemond-oradb of • Checkout https://github.com/biemond/biemond-oradb • Puppet module install hajee-oracle • Checkout https://github.com/hajee/oracle 20 Oracle Database features • Only for Linux & Solaris • GoldenGate • Oracle Database installation (S-One, SE& EE) – 12.1.2 – – – – 12.1.0.1 11.2.0.4 11.2.0.3 11.2.0.1 – 11.2.1 • Repository Creation Utilitity – SOA Suite – WebCenter – OIM/OAM • Oracle Grid installation & ASM configuration • Oracle Database Client – 12.1 – 11.2 • Oracle Database Net + Listener • OPatch upgrade + Apply • Create a database instance • • • • Tablespace User + grants & quotas Role Services 21 Oracle WebLogic Puppet Modules @Forge ( Puppetlabs) http://forge.puppetlabs.com/biem ond @Github https://github.com/biemond • 2000 bezoekers per week • Vele forks en contributions • Waardering vanuit Oracle en PuppetLabs 22 JDK7 & ORAUTILS puppet modules • JDK7 – – – – For JAVA 7 & 8 JCE extension (US export policy) RSA Key Size Fix in combination with JSSE ( WebLogic 10.3.6 & 12.1.1) Entropy fix on Linux • RNGD or RNG-TOOLS service • java.security urandom fix • ORAUTILS ( scripts /opt/scripts/wls ) – – – – – showStatus.sh startNodeManager.sh stopNodeManager.sh startWeblogicAdmin.sh stopWeblogicAdmin.sh 23 ORAWLS puppet module • Support for Linux & Solaris • Installs – – – – – WebLogic 10.3.6, 12.1.1, 12.1.2 ADF 11g & 12.1.2 Oracle Service Bus 11g Soa Suite 11g WebCenter 11g Portal & Content • Patching ( Native Puppet types) – BSU – OPatch • Domain options – – – – – – Standard Standard + ADF Oracle Service Bus SOA Suite OSB + SOA Suite OSB + SOA Suite + BPM 24 ORAWLS Configuration • WebLogic – – – – – Multi node ( Cluster ) NodeManager StoreUserConfig Java Secure Socket Extension (JSSE) Native Puppet types for • • • • • • • Machine, Server & Cluster Channels & Virtual hosts User & Group Workmanagers Datasource Persistence JMS, JMS Server, Module, Connection Factory, Queue, Topic, SubDeployment, Quota & Foreign Server • SAF, Store & Forward • Fusion Middleware – – – – FMW Log location SOA Suite / OSB Cluster JRF / ADF Cluster Resource Adapters 25 Hoe garanderen we de Kwaliteit? • Getest tegen 6 versies • Control op Syntax Lint tegen verdachte code of formatting • 100den Unit Tests (RSPEC) 26 Wat zijn de next steps? • Oracle building blocks – Beperkte Keuze • duidelijkheid • geen specials • Beter te patchen – Geoptimaliseerd en getuned – Geschikt voor een specifieke taak – Sneller beschikbaar door minder overhead • • Geen parameter document Kan men meteen uitrollen – Mogelijkheden voor een automatische uitrol 27 Database building block • Oracle Database 11gR2 of 12c installatie – Met 1 of meerdere Database instances • Database Types – – – Multipurpose Data warehousing OLTP • Tablespaces • Roles • Users • Oracle Database 11gR2 of 12c installatie met ASM (Grid) • Optioneel met – GoldenGate – Repository Creation Utility (RCU) • • • SOA Suite WebCenter Alle schema’s 28 WebLogic Building blocks • Developer – 1 image – AdminServer met eventueel een WebLogic Managed Server – Ook beschikbaar via Vagrant i.c.m. Virtualbox / Vmware workstation • Verbeter hoog beschikbaar – 1 image – Clusters met daarbij 1 WebLogic Managed Server – Deployment moet gelijk zijn aan de productie omgeving • Hoog Beschikbaar – Multi-node 2 tot X images – Cluster met meerdere WebLogic Managed Servers 29 WebLogic building block • JDK 1.7 met Mission Control • Java Secure Socket Extension (JSSE) • WebLogic Domain – – – – Production of Developer domain mode Logging op een centrale plek Domain gescheiden van de binaries Volledig ingericht met • • • • • • User & Group Machine, Server en Cluster Channel en Virtual host Datasource Persistence JMS ( server, module, quota, sub-deployment , queue /topic , connection factory , foreign server ) • SAF ( Store and Forward ) 30 Fusion Middleware building blocks • Hetzelfde als de WebLogic maar in combinatie met de volgende FMW software – – – – ADF 11g & 12.1.2 SOA Suite 11g optioneel met BAM en BPM OSB Suite 11g WebCenter Portal & Content 11g • Extra FMW WebLogic opties – Cluster opties ( op basis van de Enterprise Deployment Guide ) • • Omzetten naar een OSB,SOA Suite Cluster JRF ( ADF ) Cluster – Aanpassen van de FMW logging locatie – OPSS security store in de database – Resource Adapters 31 FMW - Developer • 1 image – Vagrant i.c.m Virtualbox of VMware workstation – Een centrale omgeving • Domain opties – 1 AdminServer met daarop alle FMW applicaties – Default Oracle Template, FMW component heeft zijn eigen Managed Server – WebLogic Domain in developer mode • Combinatie van FMW software – – – – ADF 11g of 12.1.2 SOA Suite 11g OSB Suite 11g WebCenter Portal & Content 11g 32 FMW - Test • 1 image • Voorbereid op Productie – WebLogic Domain in production mode – Exact dezelfde oplever procedure als acceptatie of productie – – – – WebLogic Domain gescheiden van de binaries Alle logging op een centrale plek Java Secure Socket Extension (JSSE) FMW Clusters bestaan uit 1 WebLogic Managed Server 33 FMW – Hoog Beschikbaar • Multi-node ( 2 tot X servers ) • WebLogic Cluster kan bestaan uit 2 tot X server • Centrale JMS en of Transaction persistence • OPSS security in de database • Coherence configuratie 34 Hoe kan het er uit zien • Een provisioning applicatie – Beperkte keuzes gebaseerd op de Oracle building blocks – Binnen een uur een gewenste en gecontroleerde omgeving – Secretaresse doet de uitrol!!! 35 Resultaat Klant is happy Wij zijn happy en kunnen weer focussen op development 36 Oracle WebLogic Demo