Wie Passen Serverless & Autonomous Zusammen?

Wie Passen Serverless & Autonomous Zusammen?

Wie passen Serverless & Autonomous zusammen? Volker Linz Senior Solution Engineer Oracle Deutschland B.V. & Co. KG November 2019 1 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, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 2 © 2019 Oracle Corporation Agenda Einführung von Serverless & Autonomous Anwendungsszenarien / Einsatzgebiete Lösungen mit Oracle Functions & Autonomous DB entwickeln Show Cases Zusammenfassung 3 Einführung in Serverless & Autonomous 4 Software Development treibt Business Agilität voran Development Process Application Deployment Application Architecture Packaging Infrastructure Waterfall Monolithic Physical Server Datacenter 07 - 2000 Agile N-Tier Virtual Server Hosted 15 - 2008 Plan Monitor Code Microservices Containers Cloud Operate DevOps Build 2016+ Deploy Test Release 5 Evolution der Compute Virtualization Functions Abstractions Containers Virtual machines Bare Metal Decreasing concern (and control) over infrastructure implementation 6 Functions-as-a-service (FaaS) Functions Abstractions Containers Virtual machines Bare Metal Decreasing concern (and control) over infrastructure implementation 7 Functions-as-a-service (FaaS) Bare Metal Virtual machines Containers Functions Code Code Code Code App Container App Container App Container Language Runtime Language Runtime Operating System Operating System Hardware 8 Serverless is an abstraction of infrastructure and its operations including provisioning, scaling, patching, etc. FaaS (Functions-as-a-Service) is the compute component in a serverless platform 9 ROI bei Adoption von Serverless (Nutzen) 47% 10X 13X reduction in VMs, OS licensing in cost reductions for more software releases and server costs maintaining existing apps ✓ increase in ✓ reduction in CAPEX ✓ reduction in OPEX developer productivity Source: Introduction to Docker, Docker, Inc. 10 Was ist Autonomous (autonom)? RPA (Robotic 10 Millionen KI hat größeres Process Automation) selbstfahrende Potential als die wird 2022 Autos bis 2020 Dampfmaschine Mainstream - Forbes (2017) – McKinsey (2019) - Gartner (2019) 11 Ist serverless = autonomous? Serverless ist die Abstraktion der Infrastruktur und des Betriebs, das Provisionierung, Skalierung, Wartung u.a. inkludiert Der Betrieb der Infrastruktur ist automatisiert & wird vom Provider bereitgestellt. Autonomous Services = autonome Dienste kennzeichnen sich durch den hohen Automatisierungsgrad aus, der Nutzer braucht sich nicht um Betrieb & Wartung des Services kümmern, z.B.: AWS Lambda, Azure und Oracle Functions, Oracle Autonomous Database Services 12 Anwendungsszenarien / Einsatzgebiete 13 Allgemeine Anwendungsfälle – “Führe Code als Antwort auf Events aus” Glue Cloud Web, Mobile, IoT Real-time File, DevOps, Batch Services, Event- Backends Stream Processing driven Processing 14 Cloud Infrastructure Event-Driven Architekturen ORACLE CLOUD Network DB / DW DB / DW Audit Events Functions Trigger Storage functions Compute Storage Functions can use DB, Storage, and other services 15 Functions als Klebstoff für Cloud Services Cloud Applications (SaaS) Cloud Platform (PaaS) ERP HCM Supply Chain Mobile Data Mgmt Custom Apps Functions Business Data Analytics CX Integration Insight Collaboration Cloud Infrastructure (IaaS) Network Compute Storage Audit Events 16 Bedarf an Persistenz im Serverless Umfeld Persistence allows containers to “remember” - Mechanisms for persistence: API call Functions with Persistence Autonomous Database Benefits • Fully managed, self tuned database • Complete infrastructure automation Oracle Function • Consolidation and standardization: multi modal polyglot • Security: automated patching/updating • Interoperable with any development, data integration, analysis and reporting tool • Multitenant, pluggable architecture Object Block File Autonomous Database Storage Storage Storage Block, File Storage Benefits • Durable Oracle Cloud Infrastructure Oracle Cloud Infrastructure storage, external to Functions • Enable scalable and resilient architecture • Dynamic provisioning 17 Lösungen mit Oracle Functions & Autonomous DB entwickeln 18 Zweck & Nutzen von Oracle Functions Pay Per Use Pay for execution, not for Oracle Functions idle time Functions-as-a- Service Oracle Cloud Autonomous Integrated Platform auto-scales Container Native functions No servers to provision, Open Source Engine manage Multi-tenant No Lock-in Secure Built on open-source Project and Docker 19 Fn Project im Überblick ✅ Open Source—no vendor lock-in ✅ Platform Independent—laptop, server, cloud ✅ Approachable—easy for new users, low level controls for advanced users ✅ Docker Based—leverage Docker ecosystem ✅ Scheduler Independent—deploy to Kubernetes, Swarm, Mesos, etc. http://fnproject.io or https://github.com/fnproject 20 Was ist eine Fn Function? • Small chunk of code wrapped into a container image with all dependencies • Fn server passes in function input and environment • Fn server returns results to caller • STDERR automatically routed to logs • Various development kits to develop a function availlable • Simple Fn Debugging by sending messages to syslog log server & using OpenTracing metrics The Fn server handles everything else, like the API gateway, piping things around, storing logs, etc. 21 Fn Plattform Architektur 22 Fn Function Request Flow 23 Fn CLI fn init --runtime go fn create app myapp fn deploy --app myapp fn invoke myapp myfunc → http://localhost:8080/t/myapp/myfunc 24 Fn Function deployen 1.Builds container (multi-stage) + bumps version 2.Pushes container to registry 3.Creates/updates function & triggers (fn servers lazy load images) 1 2 3 Your code Fn Service myfunc → /t/myapp/myfunc:0. MyFunc:0.0. MyFunc:0.0.2 MyFunc:0.0.2 0.2 2 25 Oracle Functions – High Level Architektur Oracle Functions 26 Oracle Functions – High Level Architektur Oracle Functions 27 Oracle Functions – High Level Architektur Invocation Oracle Functions 28 Oracle Functions – High Level Architektur Invocation Oracle Functions 29 Oracle Functions – High Level Architektur Invocation Oracle Functions Tenant Resources 30 Oracle Functions – High Level Architektur OCI Registry Invocation Oracle Functions Tenant Resources OCI Services 31 Oracle Functions – High Level Architektur OCI Registry Invocation Function FunctionFunction Oracle Functions Tenant Resources OCI Services 32 Oracle Functions – High Level Architektur Internet Service A OCI Registry Invocation Service B Service C FunctionFunction Function DBaaS Oracle Functions Tenant Resources OCI Services 33 Oracle Functions – High Level Architektur Service A OCI Registry Invocation Service B Monitoring Service C Object Events storage Logging Key Function Function Mgmt Function DBaaS Oracle Functions Tenant Resources OCI Services 34 How to deploy functions to Oracle Functions 35 http://bit.ly/FunctionsQuick Part B: Set up your client – 1/3 Create Signing Key-Pairs openssl genrsa -out ~/.keys/<private-key-file-name>.pem -aes128 2048 openssl rsa -pubout -in ~/.keys/<private-key-file-name>.pem -out ~/.oci/<public-key-file-name>.pem Add public key in OCI console (User -> User settings -> API Keys -> Add Public Key ) Create & configure OCI profile on your client [fn-user-profile] user=<ocid user> fingerprint=<fingerprint, like e1:9d:7c:f1:e7:0b:fc:7d:ac...> key_file=/home/oracle/.keys/<private-key-file-name>.pem tenancy=<ocid tenant> region=eu-frankfurt-1 pass_phrase=<password> 36 Confidential – Oracle Internal/Restricted/Highly Restricted Part B: Set up your client – 2/3 Install Docker & verify installation docker version docker run hello-world Install Fn CLI & validate installation curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh fn version Configure Fn CLI Context to connect to Oracle Functions Service fn create context fn-services --provider oracle fn use context fn-services fn update context oracle.compartment-id <ocid.compartment> fn update context api-url https://functions.eu-frankfurt-1.oraclecloud.com fn update context registry fra.ocir.io/<tenancy namespace>/<user- repository> fn update context oracle.profile fn-user-profile 37 Confidential – Oracle Internal/Restricted/Highly Restricted Part B: Set up your client – 3/3 Generate auth Token in OCI console (User -> User Settings -> Auth Tokens -> Generate Token and save it locally, example output xl;>Lr]sZ}GB{-SC+380 Log in to registry docker login fra.ocir.io username: volkerlinzdemo/oracleidentitycloudservice/[email protected] password: <enter auth token>, for example xl;>Lr]sZ}GB{-SC+380 38 Confidential – Oracle Internal/Restricted/Highly Restricted Part C: Create & Deploy first function to Oracle Functions Create function fn init --runtime java helloworld-func Create app (logical group of functions) fn create app Hello-Fn-App -annotation oracle.com/oci/subnetIds=‚ ["<ocid.subnet>"]' Change directory & deploy function cd helloworld-func fn deploy --app Hello-Fn-App Test function fn invoke Hello-Fn-App helloworld-func 39 Confidential – Oracle Internal/Restricted/Highly Restricted Autonomous Database Eine Oracle Datenbank mit allen Optionen, auf Exadata, vorkonfiguriert und automatisiert ORACLE CLOUD Automatated Data ORACLE Exadata Database

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    84 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us