Successfully reported this slideshow.
Your SlideShare is downloading. ×

"Wie passen Serverless & Autonomous zusammen?"

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 83 Ad

"Wie passen Serverless & Autonomous zusammen?"

Download to read offline

Moderne Serverless-Computing-Plattformen sind in aller Munde und stellen ein Programmiermodell zur Verfügung, wo sich der Nutzer keine Gedanken mehr über die Administration der Server, Storage, Netzwerk, virtuelle Maschinen, Hochverfügbarkeit und Skalierbarkeit machen brauch, sondern sich auf das Schreiben von eigenen Code konzentriert. Der Code bildet die Geschäftsanforderungen modular in Form von kleinen Funktionspaketen (Functions) ab. Functions sind das Herzstück der Serverless-Computing-Plattform. Sie lesen von der (oft Standard-)Eingabe, tätigen ihre Berechnungen und erzeugen eine Ausgabe. Die zu speichernden Ergebnisse von Funktionen werden in einem permanenten Datastore abgelegt, wie z.B. der Autonomous Database gespeichert. Die Autonomous Database besitzt folgende drei Eigenschaften self-driving, self-repairing und self-securing, die für einen modernen Anwendungsentwicklungsansatz benötigt werden.

Moderne Serverless-Computing-Plattformen sind in aller Munde und stellen ein Programmiermodell zur Verfügung, wo sich der Nutzer keine Gedanken mehr über die Administration der Server, Storage, Netzwerk, virtuelle Maschinen, Hochverfügbarkeit und Skalierbarkeit machen brauch, sondern sich auf das Schreiben von eigenen Code konzentriert. Der Code bildet die Geschäftsanforderungen modular in Form von kleinen Funktionspaketen (Functions) ab. Functions sind das Herzstück der Serverless-Computing-Plattform. Sie lesen von der (oft Standard-)Eingabe, tätigen ihre Berechnungen und erzeugen eine Ausgabe. Die zu speichernden Ergebnisse von Funktionen werden in einem permanenten Datastore abgelegt, wie z.B. der Autonomous Database gespeichert. Die Autonomous Database besitzt folgende drei Eigenschaften self-driving, self-repairing und self-securing, die für einen modernen Anwendungsentwicklungsansatz benötigt werden.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to "Wie passen Serverless & Autonomous zusammen?" (20)

Advertisement
Advertisement

"Wie passen Serverless & Autonomous zusammen?"

  1. 1. Volker Linz Senior Solution Engineer Oracle Deutschland B.V. & Co. KG 25. September 2019 1 Wie passen Serverless & Autonomous zusammen?
  2. 2. Einführung von Serverless & Autonomous Agenda Anwendungsszenarien / Einsatzgebiete Lösungen mit Oracle Functions & Autonomous DB entwickeln Demo – Show Cases Ausblick 2
  3. 3. Einführung in Serverless & Autonomous 3
  4. 4. Software Development treibt Business Agilität voran 4 Development Process Application Architecture Deployment Packaging Application Infrastructure 2000-072008-152016+ Waterfall Monolithic Physical Server Datacenter N-Tier Virtual Server HostedAgile Plan Code Build Test Release Deploy Operate Monitor DevOps Microservices Containers Cloud
  5. 5. Evolution der Compute Virtualization 5 Abstractions Decreasing concern (and control) over infrastructure implementation Virtual machines Functions Containers Bare Metal
  6. 6. Functions-as-a-service (FaaS) 6 Abstractions Decreasing concern (and control) over infrastructure implementation Virtual machines Functions Containers Bare Metal
  7. 7. Functions-as-a-service (FaaS) 7 Virtual machines FunctionsContainersBare Metal Code App Container Language Runtime Operating System Hardware Code App Container Language Runtime Operating System Code App Container Code
  8. 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 8
  9. 9. 47% reduction in VMs, OS licensing and server costs 10X in cost reductions for maintaining existing apps 13X more software releases ROI bei Adoption von Serverless (Nutzen) 9 ✓ reduction in CAPEX ✓ increase in developer productivity ✓ reduction in OPEX Source: Introduction to Docker, Docker, Inc.
  10. 10. Vorteile von Serverless 10 AgilityEconomics InnovationReliability
  11. 11. Was ist Autonomous (autonom)? 11 10 Millionen selbstfahrende Autos bis 2020 - Forbes (2017) KI hat größeres Potential als die Dampfmaschine – McKinsey (2019) RPA (Robotic Process Automation) wird 2022 Mainstream - Gartner (2019)
  12. 12. 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 Ist serverless = autonomous?
  13. 13. Anwendungsszenarien / Einsatzgebiete 13
  14. 14. Allgemeine Anwendungsfälle – “Führe Code als Antwort auf Events aus” 14 Web, Mobile, IoT Backends Real-time File, Stream Processing DevOps, Batch Processing Glue Cloud Services, Event- driven
  15. 15. ORACLE CLOUD Cloud Infrastructure Event-Driven Architekturen 15 StorageCompute Network Functions can use DB, Storage, and other services Trigger functions FunctionsEventsAudit DB / DW Storage DB / DW
  16. 16. Functions als Klebstoff für Cloud Services 16 Functions Analytics ERP Data HCM CX Supply Chain StorageComputeNetwork Integration Mobile Business Insight Collaboration Custom AppsData Mgmt Cloud Applications (SaaS) Cloud Platform (PaaS) Cloud Infrastructure (IaaS) Audit Events
  17. 17. Oracle Cloud Infrastructure Bedarf an Persistenz im Serverless Umfeld 17 Block Storage File Storage Object StorageAutonomous Database Oracle Function Functions with Persistence Autonomous Database Benefits • Fully managed, self tuned database • Complete infrastructure automation • Consolidation and standardization: multi modal polyglot • Security: automated patching/updating • Interoperable with any development, data integration, analysis and reporting tool • Multitenant, pluggable architecture Block, File Storage Benefits • Durable Oracle Cloud Infrastructure storage, external to Functions • Enable scalable and resilient architecture • Dynamic provisioning Persistence allows containers to “remember” - Mechanisms for persistence: API call
  18. 18. Lösungen mit Oracle Functions & Autonomous DB entwickeln 18
  19. 19. Zweck & Nutzen von Oracle Functions 19 Autonomous Platform auto-scales functions No servers to provision, manage Pay Per Use Pay for execution, not for idle time No Lock-in Built on open-source Project and Docker Oracle Functions Functions-as-a- Service Oracle Cloud Integrated Container Native Multi-tenant Secure Open Source Engine
  20. 20. 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. 20 http://fnproject.io
  21. 21. Functions == Containers ▪ Functions are packaged as containers— so any container can be deployed as a function ▪ Package and reuse open source libraries as functions! 21
  22. 22. 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 The Fn server handles everything else, like the API gateway, piping things around, storing logs, etc. 22
  23. 23. Fn CLI fn init --runtime go fn deploy --app myapp fn invoke myapp myfunc → http://localhost:8080/t/myapp/myfunc 23
  24. 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) 24 MyFunc:0.0.2 MyFunc:0.0.2 MyFunc:0.0. 2 Your code Fn Service myfunc → /t/myapp/myfunc:0. 0.2 1 2 3
  25. 25. Fn Function Debugging fn update app cloudevents --syslog-url="tcp+tls://logs7.papertrailapp.com:40277" Metrics created using OpenTracing w/ initial collectors and extensions for Prometheus, ZipKin, and soon Jaeger 25
  26. 26. Function Development Kits (FDKs) Familiar syntax for Lambda developers Simply write a `handler` function that adheres to the FDK’s interface and the FDK will provide the input to your function, as well as deal with returning the proper output format. FDKs make it easy to write functions 26
  27. 27. Fn Plattform Architektur 27
  28. 28. Fn Function Request Flow 28
  29. 29. Oracle Functions – High Level Architektur 29 Oracle Functions
  30. 30. Oracle Functions – High Level Architektur 30 Oracle Functions
  31. 31. Oracle Functions – High Level Architektur 31 Invocation Oracle Functions
  32. 32. Oracle Functions – High Level Architektur 32 Invocation Oracle Functions
  33. 33. Oracle Functions – High Level Architektur 33 Invocation Oracle Functions Tenant Resources
  34. 34. Oracle Functions – High Level Architektur 34 Invocation Oracle Functions OCI ServicesTenant Resources OCI Registry
  35. 35. Oracle Functions – High Level Architektur 35 Invocation FunctionFunctionFunction Oracle Functions OCI ServicesTenant Resources OCI Registry
  36. 36. Oracle Functions – High Level Architektur 36 Invocation FunctionFunctionFunction DBaaS Service B Service C Service A Internet Oracle Functions OCI ServicesTenant Resources OCI Registry
  37. 37. Oracle Functions – High Level Architektur 37 Oracle Functions Invocation FunctionFunctionFunction DBaaS Service B Service C Service A OCI Services Object storage Events Key Mgmt OCI Registry Logging Monitoring Tenant Resources
  38. 38. How to deploy functions to Oracle Functions 38 http://bit.ly/FunctionsQuick
  39. 39. 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=7b:c7:cd:c0:f3:8b:46:e1:9d:7c:f1:e7:0b:fc:7d:ac key_file=/home/oracle/.keys/<private-key-file-name>.pem tenancy=…3quoga region=eu-frankfurt-1 pass_phrase=<password> Confidential – Oracle Internal/Restricted/Highly Restricted39
  40. 40. 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 Confidential – Oracle Internal/Restricted/Highly Restricted40
  41. 41. 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/volkerlinz1980dev@gmail.com password: <enter auth token>, for example xl;>Lr]sZ}GB{-SC+380 Confidential – Oracle Internal/Restricted/Highly Restricted41
  42. 42. 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 Confidential – Oracle Internal/Restricted/Highly Restricted42
  43. 43. Autonomous Database Eine Oracle Datenbank mit allen Optionen, auf Exadata, vorkonfiguriert und automatisiert 43 Automatated Data Center Operations Exadata Infrastructure Automation Database Automation ORACLE AUTONOMOUS DATABASE ORACLE CLOUD
  44. 44. Oracle DB unterstützt Polyglot Persistence Polyglot (single-model) ▪ Oracle supports multiple data stores Oracle Database Oracle NoSQL Database Hadoop ▪ Oracle integrates polyglot environments Big Data SQL Multimodel ▪ Oracle Database supports multiple models Relational XML JSON Text ▪ Oracle Database provides integrated access to all database objects - Spatial - Graph - OLAP - Sharding Spatial XML Relational JSON Graph Text 44
  45. 45. Oracle Multimodel DB supports all major Dev Env. & API’s – 1/2 LANGUAGE DRIVER C OCI, ODPI-C C++ OCCI Java JDBC .NET ODP.NET Node.js node-oracledb Python cx_Oracle PHP OCI8, PDO_OCI R ROracle Go goracle, rana, mattn Rust mimir Ruby ruby-oci8 Perl DBD::Oracle … and ODBC, OLE DB, Pro*C, Pro*COBOL, Pro*Fortran, SQLJ Open Source Drivers (Third-party maintainers) Open Source Drivers (Oracle contributions) Oracle provided Drivers
  46. 46. Oracle Multimodel DB supports all major Dev Env. & API’s – 2/2 Model Language/API Spatial Java, REST, SQL, ODPI-C Graph PGQ, SPARQL, Java, REST Analytics Python, R, JDBC .NET ODP.NET Node.js node-oracledb Python cx_Oracle PHP OCI8, PDO_OCI R ROracle Go goracle, rana, mattn Rust mimir Ruby ruby-oci8 … and ODBC, OLE DB, Pro*C, Pro*COBOL, Pro*Fortran, SQLJ Open Source Drivers (Third-party maintainers) Open Source Drivers (Oracle contributions) Oracle provided Drivers 46
  47. 47. Eigenschaften der Autonomous Database 47 47 Self-Driving Automates database and infrastructure management, configuring, monitoring, tuning, patching Self-Securing Protects from both external attacks and malicious internal users Self-Repairing Protects from all downtime including planned maintenance Save on Human Labor Prevent Human Error No Human Intervention
  48. 48. Eine Autonomous Familie optimiert für verschiedene Workloads 48 All Analytic Workloads • Data Warehouse, Data Mart • Data Lake, Machine Learning Autonomous Data Warehouse Online TP & Mixed Workloads • Transactions, Batch, Reporting, • Application Dev, ML,IoT Autonomous Transaction Processing Wähle eine Autonomous Database Cloud Lösung, die am besten zu Deinen Workload passt Oracle Autonomous Database
  49. 49. Autonomous Transaction Processing gibt es in zwei Deployment-Varianten 49 Dedicated Exadata Cloud Infrastructure Serverless Exadata Cloud Infrastructure Autonomous Transaction Processing Ultra-Simple, Elastic Customizable Private Cloud in Public Cloud
  50. 50. Autonomous Database Serverless Simple Customer chooses database compute, storage, and region Oracle manages deployment, lifecycle, and software versions Elastic Low minimum size - 1 OCPU and 1 TB of storage Low minimum time commitment - 1 hour Instantly grow or shrink online, pay for what you use 50 DB
  51. 51. Autonomous Database Dedicated • Administrator specifies size, region, and availability domain of dedicated Exadata Systems • Billed hourly after the first month • Administrator then partitions the system by specifying container databases • Database users provision databases within the container databases • Users just specify DB compute (OCPUs) and storage capacity • CPU and storage can grow or shrink online • Bring your database licenses or pay-per-use for software 51 RAC CLUSTER Online STORE SHOP SHIP….
  52. 52. Autonomous DB Dedicated Isolation 52 RAC CLUSTER • Dedicated allows multiple levels of isolation – Database (DB) – Container database (CDB) – Cluster of VMs – Separate Hardware (Exadata Infrastructure) – Hardware Enforced Private Network (VCN) • The level of security and performance isolation can be tailored to the needs of each database • Implementing isolation is normally complex but in autonomous you just specify what you want Online STORE SHOP SHIP….
  53. 53. Autonomous DB Dedicated Customizable Operational Policies 53 Online STORE SHOP SHIP…. • Customize database separation policy • Separate critical, general purpose, and test databases • Separate databases by organization (sales, HR, marketing) • Customize software patching and upgrade policies • Deploy new versions on test/dev database before production • Avoid updates during peak periods (e.g. sale, quarter close) • Control upgrade to conform to application certified version • Customize availability policies • Level of HA and DR can be customized by database
  54. 54. Probiere Oracle Cloud Free Tier aus! oracle.com/cloud/free 54 “Always Free” • Services you can use for an unlimited time. + 30-day Free Trial • US$300 in free credits. • Access to a wide range of Oracle Cloud services for 30 days, including Databases, Analytics, Compute, and Container Engine for Kubernetes • Up to eight instances across all available services • Up to 5 TB of storage See the list of eligible services
  55. 55. 55
  56. 56. 56
  57. 57. 57
  58. 58. 58
  59. 59. 59
  60. 60. 60
  61. 61. 61
  62. 62. 62
  63. 63. 63
  64. 64. 64
  65. 65. 65
  66. 66. 66
  67. 67. 67
  68. 68. 68
  69. 69. 69
  70. 70. 70
  71. 71. 71
  72. 72. 72
  73. 73. 73
  74. 74. Demo Show Cases 74
  75. 75. Show-Case: Public Safety 75
  76. 76. Proxima City Demo am Oracle Stand 76
  77. 77. Ausblick 77
  78. 78. Zusammen- fassung – 1/2 78 • No need for operational DBAs • Oracle manages failures and exceptions • Exadata – Extreme Perf and Availability • Customizable for DWH or TP Workload Autonomous • Full control including DBA and root access • Runs older database versions • More Packaged application certifications • ALL database features ( e.g. GG, Java, etc ) Automated Serverless Ultra-Simple & Elastic Dedicated Deployed in Private VCN ExaCS Scale, Performance, Availability DBCS General Purpose, Single Instance Oracle DB in OCI ATP-CC ADB on Premise ExaCC Cloud on Premise
  79. 79. Zusammenfassung - 2/2 79 Autonomous Platform auto-scales functions No servers to provision, manage Pay Per Use Pay for execution, not for idle time No Lock-in Built on open-source Project and Docker Oracle Functions Functions-as-a- Service Oracle Cloud Integrated Container Native Multi-tenant Secure Open Source Engine
  80. 80. Oracle Functions im Zusammenspiel mit Autonomous DB Todd Sharps Blogartikel Serie : Java basierende Function im Zusammenspiel mit Autonomous DB https://blogs.oracle.com/developers/oracle-functions-connecting-to-an-atp-database NodeJS basierende Function im Zusammenspiel mit Autonomous DB https://blogs.oracle.com/developers/oracle-functions-connecting-to-atp-with-nodejs Connecting your function to Autonmous DB by leveraging ORDS (REST Feature of Oracle DB) https://blogs.oracle.com/developers/oracle-functions-an-easier-way-to-talk-to-your- autonomous-database 80
  81. 81. Weitere Functions Beispiele Serverless Image Classification with Oracle Functions and TensorFlow Serverless and Recurrent Neural Networks with Fn, GraphPipe and TensorFlow Using GraalVM for AOT compiled Java functions in serverless Official Fn tutorials 81
  82. 82. Kontakt volker.linz@oracle.com @sporti1703 82 Fragen & Antworten

×