SlideShare a Scribd company logo
Infrastructure, Platform, Everything as Code:
Provisioning Automation for the Oracle Cloud
Nikitas Xenakis, Co-op
Simon Haslam, eProseed
About Us
Nikitas Xenakis
Platform Specialist / Architect, The Co-op
• 17+ years as Enterprise DBA (v7-12cR2/19c)
• CAB/Beta Member: Oracle Database, Oracle
RAC, Data Integration (Goldengate)
• Global Leaders Transaction Processing
@Nikitas_Xenakis
https://www.linkedin.com/in/nikitasxenakis
Copyright © 2018, eProseed and its affiliates. All rights reserved.
ABOUT ME
Simon Haslam
• Platform / Infrastructure
Architect
• Focus includes HA, DR,
security, automation
Relevant to this session
• Building SOA & DB CS since
May 2016
• Designed & built SOA CS
integration platform for
global use since Oct 2017
• On team migrating eProseed
Lux data centres to OCI –
using Terraform for OCI
network configuration
@simon_haslam
Agenda
• Introduction
• Business Context, Technology Drivers
• Challenges, Direction
• Modern Platform Architecture
• Infrastructure and Platform as Code (IaC, PaC)
• Terraform and Oracle Cloud Infrastructure (OCI)
• Demo
• Summary
4
Co-op HQ, Manchester UK - One of the most sustainable large buildings in the world
▪ Annual Revenue: £9.5B
▪ 2800+ Owned Stores
▪ Retail, Wholesale, Franchise,
Ecommerce
▪ 14 Distribution Centres
▪ Logistics Network servicing
7500+ Stores
Leading UK Convenience Retailer
Business & Technology Drivers
Business Context
• Technology as an enabler and transformer for business growth
• Acquisitions increasing diversity and scaling of technology landscape
• Modern Business demands High-Velocity in delivery
• Fuel for Growth, efficiencies re-invested to the business
• New Markets/Channels: Retail, Wholesale, Franchising, E-commerce
• Zero lost productive hours from preventable issues, protect service
Technology Drivers
• Simplification and standardisation of Database & Middleware platforms
• Continuous Delivery, Continuous Integration (CI/CD)
• Strategic alignment of technology to business strategy, Cloud capability
• Exiting Data Centres where appropriate
6
Business & IT Context
Co-op
Stores
Distribution
Centres
Independent
Co-op Stores
Co-op
Data Centre
B
Support
Centre
Co-op
Data Centre
A
Cloud
2800 2500
141
70,000 colleagues
4000 users
7
6,100,000 members
CSG
Stores
2200
Challenges and Direction
On-Premises Platforms
9
On-Premises Platforms are architected and implemented in a Waterfall
manner (Design, Cost, Procure, Deploy, Configure)
• Pros
• Established
• Fit for Purpose for Waterfall
• Predictable (Cost, Performance)
• Cons
• Slow to provision from Design to Delivery
• Diverse, Complex
• Limitations in Capacity, Automation, Elasticity, Capacity On Demand
Modern Business Demands
10
Modern business expectations and demands:
• Agility
• High-Velocity
• Trial ideas without significant investment
• Technology on demand not hindering
• Security (By Design) as high-priority
• Cost Sensitive
• Scalability, Capacity on Demand
Modern Platforms Architecture
Next Generation of (Cloud) Platforms
12
Modern Platforms should be architected and engineered based on
Infrastructure & Platform as Code (IaC, PaC) with the following in
mind:
• Simple
• Repeatable
• Scalable, Elastic
• Secure
• Self-Healing
• Versionable
Cloud Platforms
13
Gen -1 Cloud Platforms are provisioned in a variety of ways
• Oracle Cloud Infrastructure (OCI) – Cloud Portal
• Azure – Azure Portal, ARM
• AWS – AWS Portal, CloudFormation
Infrastructure & Platform As Code (IaC, PaC)
Infrastructure, Platform As Code (IaC, PaC)
15
• The process and ability to define,
provision and manage IaaS, PaaS
resources and services in a declarative
manner using a simple language rather
than physical hardware installation,
configuration
Infrastructure, Platform As Code (IaC - PaC)
16
• The key pattern is to use IaC and PaC for
creating platforms that are highly automated,
Self-healing through automation in a
declarative way
• Automation supports DevOps and
Continuous Delivery and Continuous
Integration (CI/CD)
Infrastructure As Code (IaC)
17
• Terraform
• Open Source Tool (written in Go) by Hashicorp
• Multi Cloud incl. OCI
• 80+ Providers including OCI
• Other Declarative Languages/Tools
• CloudFormation, ARM
• Oracle Stack Manager
• Puppet, Chef, Salt, etc
Terraform Available Platforms
18
How Co-op use IaC & Terraform today
19
In reality any enterprise will have a multi-cloud deployment footprint
• Co-op use Terraform to define/build a Retail Digital Platform in Azure
• Digital Management Layer (mostly Open Source Technologies)
• CI/CD Pipeline
• Platform is Hosting Responsive (Microservices based) Apps accessible to
Colleagues Own Devices
Terraform’s declarative nature and syntax allows the same patterns to
be deployed on OCI with re-factoring changes for specific APIs
Terraform - Co-op Best Practices
20
• Terraform Deployment Approach
• TF binaries co-located with Jenkins VM
• TF source code stored in Gitlab
• Platform Engineers use Git Client over SSH to develop/commit source
• QA Application environments re-built daily for regression and validation
• Avoid using TF on Laptop
• TF definition enough to re-build Platform in different Region (HA/DR)
• Gitlab and TF are key for Platform Re-build
Terraform and Oracle Cloud Infrastructure (OCI)
Copyright © 2018, eProseed and its affiliates. All rights reserved.
WE NEED A DIGRESSION… CLASSIC PAAS PROVISIONING
22
Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
OCI OR OCI CLASSIC?
23
Both use
IDCS
PSM
OCI Classic
aka OPC
Mature, around for 3-4 years
Simpler, lower tech
Blogs, discussions & docs mostly
about this
Legacy but not EOL
OCI
aka Next Gen IaaS
New, around for ~2 years
More sophisticated, esp. DR, better
meets enterprise needs
New services & all autonomous
are OCI
Additional OCI-native PaaS
Info harder to find, e.g. PaaS+OCI
Strategic
C L A S S I C Shiny!
In a state of transition (18Q4)
Copyright © 2018, eProseed and its affiliates. All rights reserved.
WE NEED A DIGRESSION… PAAS PROVISIONING
• PaaS originally:
– Accessed through My Services, each service has its own console
– PaaS Services Manager (PSM) does the provisioning
• Now also have “OCI native” PaaS
– My Services (non Classic) jumps through to a new OCI-native console
– PSM is not involved
24
Future…
All service components are
managed through REST APIs…
tools like the consoles or
Terraform sit on top of APIs
Copyright © 2018, eProseed and its affiliates. All rights reserved.
GENERAL GUIDE FOR MY SERVICES
If a cloud service has two consoles “Whizz” and “Whizz
Classic” then:
– “Whizz Classic” will provision/manage Whizz instances on
Classic only
– “Whizz” will provision/manage Simon instances on OCI only,
and jump out to OCI-native PaaS console
If a cloud service has one console “Whizz” then:
– “Whizz” may provision either Classic or OCI
– If provisioned on OCI then it is still be managed by same
console (not an OCI-native one)
Autonomous provisions to OCI but has single console
25
This is how it is Dec 18… navigation
could easily change again
Whizz
Whizz Classic
Whizz
Whizz
There is no real Whizz service! ☺
Copyright © 2018, eProseed and its affiliates. All rights reserved.
HOW MANY NATIVE-OCI PAAS SERVICES ARE THERE?
26
From Oracle
under Safe Harbour statement
Sept 18, i.e. pre-OOW
Ask Oracle for latest info!
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TERRAFORM
27
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TERRAFORM’S PURPOSE
“Terraform is a tool for building, changing and versioning
infrastructure safely and efficiently”
28
Cloud-agnostic
but not generic
(each cloud has own
providers)
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TERRAFORM – KEY TERMS
• Resources: the artefacts that terraform manages
• Variables: as name, used in resource descriptions
• Data Sources: generated e.g. IDs for use elsewhere
• Execution plan: what Terraform will do to turn the
infrastructure in its current form to the desired state
• Apply: what you do to tell Terraform to change to the
desired state
• Resource graph: the plan Terraform uses to make the
changes to resources, parallelising as much a possible
• Providers: tells Terraform how to build and manage one
or many resource types
29
Copyright © 2018, eProseed and its affiliates. All rights reserved.
BOUNDARIES
30
resourcesPROVISIONING
This provisions resources
& optionally calls
“provisioner”
e.g.
network
VM instance
PaaS instance
VM images might be
Oracle supplied plain
ones, Oracle-supplied
PaaS ones, or your own
(e.g. from Packer),
Maintains state of infra
Optional
Provisioner
CONFIGURATION
MANAGEMENT
This configures
resources
e.g.
TLS certificates & identity
CM self-registration
Maintains internal state of
resources (instances)
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TERRAFORM PROVIDERS
• A provider tells Terraform how to build and manage one or many resource types
• Providers are supplied by Hashicorp, a resource provider (like Oracle), or 3rd
party/community
31
Copyright © 2018, eProseed and its affiliates. All rights reserved.
MORE ABOUT TERRAFORM PROVIDERS
• Providers are either:
– Integrated: downloaded by Terraform when needed
– Non-integrated: install from 3rd party or write your own
• 3 Oracle-developed providers available:
32
oci oracle
paas opc
More about these in a minute..These 3 Oracle providers are all
now integrated
Copyright © 2018, eProseed and its affiliates. All rights reserved.
OCI TERMS (IAAS)
• Compartments
• Compute Instances
• Virtual Cloud Networks
• Gateways (Internet Gateway & Dynamic Routing Gateway)
33
There have been 3+ Terraform, and a few
OCI, sessions this week so we’ll assume
you’ve seen the basics already
Copyright © 2018, eProseed and its affiliates. All rights reserved.
BIG PICTURE EXAMPLE
34
DRG
Dynamic
Routing
Gateway
On-prem
Another
VCN
Another
cloud
admin
Copyright © 2018, eProseed and its affiliates. All rights reserved.
GETTING STARTED
• You need a host to run Terraform from
– could be your PC, a cloud instance, or build server
• Oracle Linux 7 example:
sudo yum install -y terraform
• Create/reuse .tf config files & set up .tfvars for your account/env
• The .tf files need to have one or more providers specified
35
terraform init
terraform plan
terraform apply
…terraform destroy
Copyright © 2018, eProseed and its affiliates. All rights reserved.36
DEMO
Copyright © 2018, eProseed and its affiliates. All rights reserved.
ORACLE EXAMPLES
• https://github.com/oracle/terraform-examples
Starting point for some cases – reasonable activity (91 commits)
• https://oracle.rainfocus.com/widget/oracle/oow18/catalogoow18?search=HOL6376
37
Start here!
Probably
takes 1-3h
Copyright © 2018, eProseed and its affiliates. All rights reserved.
HANDS-ON-LAB TIP
If you have a trial account you will not have sufficient compute resources to run the HOL.
=> Raise an SR to get this increased, e.g. to 10 for 2.1 shape (change shape in .tf config):
38 Paid for accounts have default limit of 40 per AD for small VMs
https://docs.cloud.oracle.com/iaas/Content/General/Concepts/servicelimits.htm
Copyright © 2018, eProseed and its affiliates. All rights reserved.39
oci
oracle
paas
opc
almost
legacy
legacy
Copyright © 2018, eProseed and its affiliates. All rights reserved.
OCI PROVIDER
Infrastructure & OCI-native PaaS
https://www.terraform.io/docs/providers/oci/index.html
40
Lots of resources
- examples:
Copyright © 2018, eProseed and its affiliates. All rights reserved.
ORACLEPAAS PROVIDER
PaaS under PSM control
https://www.terraform.io/docs/providers/oraclepaas/index.html
41
almost
legacy
Copyright © 2018, eProseed and its affiliates. All rights reserved.
OPC PROVIDER
OCI Classic resources
https://www.terraform.io/docs/providers/opc/index.html
42
legacy
Copyright © 2018, eProseed and its affiliates. All rights reserved.
CURRENT RECOMMENDATIONS
• To provision PSM PaaS on Classic
– Use Cloud Stacks <= works well
– Use REST APIs with scripting tool, or CM tool like Chef, Puppet, Ansible
– Don’t use Terraform OPC Provider
• To provision PSM PaaS on OCI
– Use REST APIs with scripting tool, or CM tool like Chef, Puppet, Ansible
– Maybe consider Terraform with oraclepaas provider… it doesn’t look very strategic though
• To provision OCI-native PaaS
– Use Terraform with oci provider
43
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TIP!
Extension available for
Microsoft VS Code editor
44
Summary
45
1998
Summary
• Multi Cloud Enterprise Platforms and Automation is the reality
• Infrastructure, Platform as Code for standardisation and
simplification of Modern Platforms
• Terraform is the de-facto popular IaC-PaC tool but not fully cloud
independent
• Terraform patterns can help with platform portability
• Terraform & Oracle Cloud Infrastructure (OCI) fully supported
and now available with ATP/ADW
• Avoid a Data Centre in the cloud provisioning approach
46
Copyright © 2018, eProseed and its affiliates. All rights reserved.

More Related Content

What's hot (20)

PDF
A2 run vmware_workloads_on_public_cloud-without_any_change
Dr. Wilfred Lin (Ph.D.)
 
PPTX
Oracle IaaS/PaaS - Experience Technology Night
Luis Albinati
 
PDF
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
PPTX
Enterprise Ready OpenStack, Wiekus Beukes, Oracle
Sriram Subramanian
 
PPTX
Oracle cloud, private, public and hybrid
Johan Louwers
 
PDF
OpenStack Days East -- MySQL Options in OpenStack
Matt Lord
 
PDF
Omaha rug customer 2 cloud customer facing hcm ppt aug 2014
tecrecruiter
 
PDF
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
ragss
 
PDF
Five Journeys to (your) Cloud Infrastructure
Riccardo Romani
 
PPTX
RethinkDB on Oracle Linux
Johan Louwers
 
PPTX
Oracle Database Cloud Service
Jean-Philippe PINTE
 
PDF
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
Dr. Wilfred Lin (Ph.D.)
 
PDF
BYOP: Custom Processor Development with Apache NiFi
DataWorks Summit
 
PPTX
OpenStack Telco Cloud Challenges, David Fick, Oracle
Sriram Subramanian
 
PDF
Lightweight Java in the Cloud
Shaun Smith
 
PDF
Hadoop Operations - Past, Present, and Future
DataWorks Summit
 
PDF
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Shaun Smith
 
PPTX
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
DataWorks Summit
 
PDF
Ten Real-World Customer Configurations on Oracle Database Appliance
Simon Haslam
 
PDF
OpenStack in Action 4! Franz Meyer - What Use Case does Red Hat Enterprise ...
eNovance
 
A2 run vmware_workloads_on_public_cloud-without_any_change
Dr. Wilfred Lin (Ph.D.)
 
Oracle IaaS/PaaS - Experience Technology Night
Luis Albinati
 
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
Enterprise Ready OpenStack, Wiekus Beukes, Oracle
Sriram Subramanian
 
Oracle cloud, private, public and hybrid
Johan Louwers
 
OpenStack Days East -- MySQL Options in OpenStack
Matt Lord
 
Omaha rug customer 2 cloud customer facing hcm ppt aug 2014
tecrecruiter
 
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
ragss
 
Five Journeys to (your) Cloud Infrastructure
Riccardo Romani
 
RethinkDB on Oracle Linux
Johan Louwers
 
Oracle Database Cloud Service
Jean-Philippe PINTE
 
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
Dr. Wilfred Lin (Ph.D.)
 
BYOP: Custom Processor Development with Apache NiFi
DataWorks Summit
 
OpenStack Telco Cloud Challenges, David Fick, Oracle
Sriram Subramanian
 
Lightweight Java in the Cloud
Shaun Smith
 
Hadoop Operations - Past, Present, and Future
DataWorks Summit
 
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Shaun Smith
 
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
DataWorks Summit
 
Ten Real-World Customer Configurations on Oracle Database Appliance
Simon Haslam
 
OpenStack in Action 4! Franz Meyer - What Use Case does Red Hat Enterprise ...
eNovance
 

Similar to Platform Provisioning Automation for Oracle Cloud (20)

PDF
Terrraform meet Oracle Cloud: Platform Provisioning Automation
Simon Haslam
 
PDF
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
PPTX
20191201 kubernetes managed weblogic revival - part 1
makker_nl
 
PDF
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle Developers
 
PDF
Oracle Cloud - Infrastruktura jako kód
MarketingArrowECS_CZ
 
PPTX
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
Lucas Jellema
 
PDF
Oracle Cloud deployment with Terraform
Stefan Oehrli
 
PDF
introduction to kubernetes slide deck by Roach
ZiyanMaraikar1
 
PPTX
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Lucas Jellema
 
PPTX
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Robert van Mölken
 
PDF
Community Session: Strategic Private Cloud in SKY UK
VMUG IT
 
PDF
Putting Private Clouds to Work with PaaS Interop Vegas 2013 presentation by D...
Diane Mueller
 
PDF
Putting Private Clouds to Work with PaaS Interop 2013 Vegas Diane Mueller
OpenShift Origin
 
PDF
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
VMware Tanzu
 
PPTX
Microservices at Scale with Istio
Jesse Butler
 
PDF
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
PDF
01282016 Aerospike-Docker webinar
Aerospike, Inc.
 
PDF
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...
IndicThreads
 
PPTX
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
Rohit Agarwalla
 
PPTX
PaaSVSContainerization
Seyed Ehsan Beheshtian
 
Terrraform meet Oracle Cloud: Platform Provisioning Automation
Simon Haslam
 
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
20191201 kubernetes managed weblogic revival - part 1
makker_nl
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle Developers
 
Oracle Cloud - Infrastruktura jako kód
MarketingArrowECS_CZ
 
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
Lucas Jellema
 
Oracle Cloud deployment with Terraform
Stefan Oehrli
 
introduction to kubernetes slide deck by Roach
ZiyanMaraikar1
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Lucas Jellema
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Robert van Mölken
 
Community Session: Strategic Private Cloud in SKY UK
VMUG IT
 
Putting Private Clouds to Work with PaaS Interop Vegas 2013 presentation by D...
Diane Mueller
 
Putting Private Clouds to Work with PaaS Interop 2013 Vegas Diane Mueller
OpenShift Origin
 
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
VMware Tanzu
 
Microservices at Scale with Istio
Jesse Butler
 
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
01282016 Aerospike-Docker webinar
Aerospike, Inc.
 
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...
IndicThreads
 
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
Rohit Agarwalla
 
PaaSVSContainerization
Seyed Ehsan Beheshtian
 
Ad

More from Simon Haslam (20)

PDF
Platform Engineering for the Modern Oracle World
Simon Haslam
 
PDF
Better Practices when Using Terraform to Manage Oracle Cloud Infrastructure
Simon Haslam
 
PDF
The Kubernetes WebLogic revival (part 2)
Simon Haslam
 
PDF
Delivering Mobile Apps to the Field with Oracle
Simon Haslam
 
PDF
Oracle SOA Cloud - Skanska Customer Journey
Simon Haslam
 
PDF
Tips & Tricks for Oracle PaaS Admins
Simon Haslam
 
PDF
Delivering Mobile Apps to the Field with Oracle JET
Simon Haslam
 
PDF
JET Hybrid Mobile Apps - taster for Oracle CodeOne
Simon Haslam
 
PDF
Delivering Mobile Apps to the field using Oracle
Simon Haslam
 
PDF
Connecting Oracle Cloud to your Data Centre (Part A)
Simon Haslam
 
PDF
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Simon Haslam
 
PDF
Tips & Tricks for Java & SOA Cloud Service
Simon Haslam
 
PDF
SOA & WebLogic - Lift & Shift to the Cloud
Simon Haslam
 
PDF
Driving DevOps for Oracle with the orawls Puppet Modules
Simon Haslam
 
PDF
Experiences of SOACS
Simon Haslam
 
PDF
3 Ways to Connect to the Oracle Cloud
Simon Haslam
 
PDF
SSL Everywhere!
Simon Haslam
 
PDF
Oracle Traffic Director - a vital part of your Oracle infrastructure
Simon Haslam
 
PDF
Java & SOA Cloud Service for Fusion Middleware Administrators
Simon Haslam
 
PDF
What should I do now?! JCS for WebLogic Admins
Simon Haslam
 
Platform Engineering for the Modern Oracle World
Simon Haslam
 
Better Practices when Using Terraform to Manage Oracle Cloud Infrastructure
Simon Haslam
 
The Kubernetes WebLogic revival (part 2)
Simon Haslam
 
Delivering Mobile Apps to the Field with Oracle
Simon Haslam
 
Oracle SOA Cloud - Skanska Customer Journey
Simon Haslam
 
Tips & Tricks for Oracle PaaS Admins
Simon Haslam
 
Delivering Mobile Apps to the Field with Oracle JET
Simon Haslam
 
JET Hybrid Mobile Apps - taster for Oracle CodeOne
Simon Haslam
 
Delivering Mobile Apps to the field using Oracle
Simon Haslam
 
Connecting Oracle Cloud to your Data Centre (Part A)
Simon Haslam
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Simon Haslam
 
Tips & Tricks for Java & SOA Cloud Service
Simon Haslam
 
SOA & WebLogic - Lift & Shift to the Cloud
Simon Haslam
 
Driving DevOps for Oracle with the orawls Puppet Modules
Simon Haslam
 
Experiences of SOACS
Simon Haslam
 
3 Ways to Connect to the Oracle Cloud
Simon Haslam
 
SSL Everywhere!
Simon Haslam
 
Oracle Traffic Director - a vital part of your Oracle infrastructure
Simon Haslam
 
Java & SOA Cloud Service for Fusion Middleware Administrators
Simon Haslam
 
What should I do now?! JCS for WebLogic Admins
Simon Haslam
 
Ad

Recently uploaded (20)

PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 

Platform Provisioning Automation for Oracle Cloud

  • 1. Infrastructure, Platform, Everything as Code: Provisioning Automation for the Oracle Cloud Nikitas Xenakis, Co-op Simon Haslam, eProseed
  • 2. About Us Nikitas Xenakis Platform Specialist / Architect, The Co-op • 17+ years as Enterprise DBA (v7-12cR2/19c) • CAB/Beta Member: Oracle Database, Oracle RAC, Data Integration (Goldengate) • Global Leaders Transaction Processing @Nikitas_Xenakis https://www.linkedin.com/in/nikitasxenakis
  • 3. Copyright © 2018, eProseed and its affiliates. All rights reserved. ABOUT ME Simon Haslam • Platform / Infrastructure Architect • Focus includes HA, DR, security, automation Relevant to this session • Building SOA & DB CS since May 2016 • Designed & built SOA CS integration platform for global use since Oct 2017 • On team migrating eProseed Lux data centres to OCI – using Terraform for OCI network configuration @simon_haslam
  • 4. Agenda • Introduction • Business Context, Technology Drivers • Challenges, Direction • Modern Platform Architecture • Infrastructure and Platform as Code (IaC, PaC) • Terraform and Oracle Cloud Infrastructure (OCI) • Demo • Summary 4
  • 5. Co-op HQ, Manchester UK - One of the most sustainable large buildings in the world ▪ Annual Revenue: £9.5B ▪ 2800+ Owned Stores ▪ Retail, Wholesale, Franchise, Ecommerce ▪ 14 Distribution Centres ▪ Logistics Network servicing 7500+ Stores Leading UK Convenience Retailer
  • 6. Business & Technology Drivers Business Context • Technology as an enabler and transformer for business growth • Acquisitions increasing diversity and scaling of technology landscape • Modern Business demands High-Velocity in delivery • Fuel for Growth, efficiencies re-invested to the business • New Markets/Channels: Retail, Wholesale, Franchising, E-commerce • Zero lost productive hours from preventable issues, protect service Technology Drivers • Simplification and standardisation of Database & Middleware platforms • Continuous Delivery, Continuous Integration (CI/CD) • Strategic alignment of technology to business strategy, Cloud capability • Exiting Data Centres where appropriate 6
  • 7. Business & IT Context Co-op Stores Distribution Centres Independent Co-op Stores Co-op Data Centre B Support Centre Co-op Data Centre A Cloud 2800 2500 141 70,000 colleagues 4000 users 7 6,100,000 members CSG Stores 2200
  • 9. On-Premises Platforms 9 On-Premises Platforms are architected and implemented in a Waterfall manner (Design, Cost, Procure, Deploy, Configure) • Pros • Established • Fit for Purpose for Waterfall • Predictable (Cost, Performance) • Cons • Slow to provision from Design to Delivery • Diverse, Complex • Limitations in Capacity, Automation, Elasticity, Capacity On Demand
  • 10. Modern Business Demands 10 Modern business expectations and demands: • Agility • High-Velocity • Trial ideas without significant investment • Technology on demand not hindering • Security (By Design) as high-priority • Cost Sensitive • Scalability, Capacity on Demand
  • 12. Next Generation of (Cloud) Platforms 12 Modern Platforms should be architected and engineered based on Infrastructure & Platform as Code (IaC, PaC) with the following in mind: • Simple • Repeatable • Scalable, Elastic • Secure • Self-Healing • Versionable
  • 13. Cloud Platforms 13 Gen -1 Cloud Platforms are provisioned in a variety of ways • Oracle Cloud Infrastructure (OCI) – Cloud Portal • Azure – Azure Portal, ARM • AWS – AWS Portal, CloudFormation
  • 14. Infrastructure & Platform As Code (IaC, PaC)
  • 15. Infrastructure, Platform As Code (IaC, PaC) 15 • The process and ability to define, provision and manage IaaS, PaaS resources and services in a declarative manner using a simple language rather than physical hardware installation, configuration
  • 16. Infrastructure, Platform As Code (IaC - PaC) 16 • The key pattern is to use IaC and PaC for creating platforms that are highly automated, Self-healing through automation in a declarative way • Automation supports DevOps and Continuous Delivery and Continuous Integration (CI/CD)
  • 17. Infrastructure As Code (IaC) 17 • Terraform • Open Source Tool (written in Go) by Hashicorp • Multi Cloud incl. OCI • 80+ Providers including OCI • Other Declarative Languages/Tools • CloudFormation, ARM • Oracle Stack Manager • Puppet, Chef, Salt, etc
  • 19. How Co-op use IaC & Terraform today 19 In reality any enterprise will have a multi-cloud deployment footprint • Co-op use Terraform to define/build a Retail Digital Platform in Azure • Digital Management Layer (mostly Open Source Technologies) • CI/CD Pipeline • Platform is Hosting Responsive (Microservices based) Apps accessible to Colleagues Own Devices Terraform’s declarative nature and syntax allows the same patterns to be deployed on OCI with re-factoring changes for specific APIs
  • 20. Terraform - Co-op Best Practices 20 • Terraform Deployment Approach • TF binaries co-located with Jenkins VM • TF source code stored in Gitlab • Platform Engineers use Git Client over SSH to develop/commit source • QA Application environments re-built daily for regression and validation • Avoid using TF on Laptop • TF definition enough to re-build Platform in different Region (HA/DR) • Gitlab and TF are key for Platform Re-build
  • 21. Terraform and Oracle Cloud Infrastructure (OCI)
  • 22. Copyright © 2018, eProseed and its affiliates. All rights reserved. WE NEED A DIGRESSION… CLASSIC PAAS PROVISIONING 22
  • 23. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential OCI OR OCI CLASSIC? 23 Both use IDCS PSM OCI Classic aka OPC Mature, around for 3-4 years Simpler, lower tech Blogs, discussions & docs mostly about this Legacy but not EOL OCI aka Next Gen IaaS New, around for ~2 years More sophisticated, esp. DR, better meets enterprise needs New services & all autonomous are OCI Additional OCI-native PaaS Info harder to find, e.g. PaaS+OCI Strategic C L A S S I C Shiny! In a state of transition (18Q4)
  • 24. Copyright © 2018, eProseed and its affiliates. All rights reserved. WE NEED A DIGRESSION… PAAS PROVISIONING • PaaS originally: – Accessed through My Services, each service has its own console – PaaS Services Manager (PSM) does the provisioning • Now also have “OCI native” PaaS – My Services (non Classic) jumps through to a new OCI-native console – PSM is not involved 24 Future… All service components are managed through REST APIs… tools like the consoles or Terraform sit on top of APIs
  • 25. Copyright © 2018, eProseed and its affiliates. All rights reserved. GENERAL GUIDE FOR MY SERVICES If a cloud service has two consoles “Whizz” and “Whizz Classic” then: – “Whizz Classic” will provision/manage Whizz instances on Classic only – “Whizz” will provision/manage Simon instances on OCI only, and jump out to OCI-native PaaS console If a cloud service has one console “Whizz” then: – “Whizz” may provision either Classic or OCI – If provisioned on OCI then it is still be managed by same console (not an OCI-native one) Autonomous provisions to OCI but has single console 25 This is how it is Dec 18… navigation could easily change again Whizz Whizz Classic Whizz Whizz There is no real Whizz service! ☺
  • 26. Copyright © 2018, eProseed and its affiliates. All rights reserved. HOW MANY NATIVE-OCI PAAS SERVICES ARE THERE? 26 From Oracle under Safe Harbour statement Sept 18, i.e. pre-OOW Ask Oracle for latest info!
  • 27. Copyright © 2018, eProseed and its affiliates. All rights reserved. TERRAFORM 27
  • 28. Copyright © 2018, eProseed and its affiliates. All rights reserved. TERRAFORM’S PURPOSE “Terraform is a tool for building, changing and versioning infrastructure safely and efficiently” 28 Cloud-agnostic but not generic (each cloud has own providers)
  • 29. Copyright © 2018, eProseed and its affiliates. All rights reserved. TERRAFORM – KEY TERMS • Resources: the artefacts that terraform manages • Variables: as name, used in resource descriptions • Data Sources: generated e.g. IDs for use elsewhere • Execution plan: what Terraform will do to turn the infrastructure in its current form to the desired state • Apply: what you do to tell Terraform to change to the desired state • Resource graph: the plan Terraform uses to make the changes to resources, parallelising as much a possible • Providers: tells Terraform how to build and manage one or many resource types 29
  • 30. Copyright © 2018, eProseed and its affiliates. All rights reserved. BOUNDARIES 30 resourcesPROVISIONING This provisions resources & optionally calls “provisioner” e.g. network VM instance PaaS instance VM images might be Oracle supplied plain ones, Oracle-supplied PaaS ones, or your own (e.g. from Packer), Maintains state of infra Optional Provisioner CONFIGURATION MANAGEMENT This configures resources e.g. TLS certificates & identity CM self-registration Maintains internal state of resources (instances)
  • 31. Copyright © 2018, eProseed and its affiliates. All rights reserved. TERRAFORM PROVIDERS • A provider tells Terraform how to build and manage one or many resource types • Providers are supplied by Hashicorp, a resource provider (like Oracle), or 3rd party/community 31
  • 32. Copyright © 2018, eProseed and its affiliates. All rights reserved. MORE ABOUT TERRAFORM PROVIDERS • Providers are either: – Integrated: downloaded by Terraform when needed – Non-integrated: install from 3rd party or write your own • 3 Oracle-developed providers available: 32 oci oracle paas opc More about these in a minute..These 3 Oracle providers are all now integrated
  • 33. Copyright © 2018, eProseed and its affiliates. All rights reserved. OCI TERMS (IAAS) • Compartments • Compute Instances • Virtual Cloud Networks • Gateways (Internet Gateway & Dynamic Routing Gateway) 33 There have been 3+ Terraform, and a few OCI, sessions this week so we’ll assume you’ve seen the basics already
  • 34. Copyright © 2018, eProseed and its affiliates. All rights reserved. BIG PICTURE EXAMPLE 34 DRG Dynamic Routing Gateway On-prem Another VCN Another cloud admin
  • 35. Copyright © 2018, eProseed and its affiliates. All rights reserved. GETTING STARTED • You need a host to run Terraform from – could be your PC, a cloud instance, or build server • Oracle Linux 7 example: sudo yum install -y terraform • Create/reuse .tf config files & set up .tfvars for your account/env • The .tf files need to have one or more providers specified 35 terraform init terraform plan terraform apply …terraform destroy
  • 36. Copyright © 2018, eProseed and its affiliates. All rights reserved.36 DEMO
  • 37. Copyright © 2018, eProseed and its affiliates. All rights reserved. ORACLE EXAMPLES • https://github.com/oracle/terraform-examples Starting point for some cases – reasonable activity (91 commits) • https://oracle.rainfocus.com/widget/oracle/oow18/catalogoow18?search=HOL6376 37 Start here! Probably takes 1-3h
  • 38. Copyright © 2018, eProseed and its affiliates. All rights reserved. HANDS-ON-LAB TIP If you have a trial account you will not have sufficient compute resources to run the HOL. => Raise an SR to get this increased, e.g. to 10 for 2.1 shape (change shape in .tf config): 38 Paid for accounts have default limit of 40 per AD for small VMs https://docs.cloud.oracle.com/iaas/Content/General/Concepts/servicelimits.htm
  • 39. Copyright © 2018, eProseed and its affiliates. All rights reserved.39 oci oracle paas opc almost legacy legacy
  • 40. Copyright © 2018, eProseed and its affiliates. All rights reserved. OCI PROVIDER Infrastructure & OCI-native PaaS https://www.terraform.io/docs/providers/oci/index.html 40 Lots of resources - examples:
  • 41. Copyright © 2018, eProseed and its affiliates. All rights reserved. ORACLEPAAS PROVIDER PaaS under PSM control https://www.terraform.io/docs/providers/oraclepaas/index.html 41 almost legacy
  • 42. Copyright © 2018, eProseed and its affiliates. All rights reserved. OPC PROVIDER OCI Classic resources https://www.terraform.io/docs/providers/opc/index.html 42 legacy
  • 43. Copyright © 2018, eProseed and its affiliates. All rights reserved. CURRENT RECOMMENDATIONS • To provision PSM PaaS on Classic – Use Cloud Stacks <= works well – Use REST APIs with scripting tool, or CM tool like Chef, Puppet, Ansible – Don’t use Terraform OPC Provider • To provision PSM PaaS on OCI – Use REST APIs with scripting tool, or CM tool like Chef, Puppet, Ansible – Maybe consider Terraform with oraclepaas provider… it doesn’t look very strategic though • To provision OCI-native PaaS – Use Terraform with oci provider 43
  • 44. Copyright © 2018, eProseed and its affiliates. All rights reserved. TIP! Extension available for Microsoft VS Code editor 44
  • 46. Summary • Multi Cloud Enterprise Platforms and Automation is the reality • Infrastructure, Platform as Code for standardisation and simplification of Modern Platforms • Terraform is the de-facto popular IaC-PaC tool but not fully cloud independent • Terraform patterns can help with platform portability • Terraform & Oracle Cloud Infrastructure (OCI) fully supported and now available with ATP/ADW • Avoid a Data Centre in the cloud provisioning approach 46
  • 47. Copyright © 2018, eProseed and its affiliates. All rights reserved.