SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Terraform Meet Oracle Cloud:
Platform Provisioning Automation
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
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, inc Corente.
• 3rd year presenting “how to
connect on-prem to cloud”
• Designed & built SOA CS
integration platform for
global use since Oct 2017, inc
VPNaaS
• On team migrating eProseed
Lux data centres to OCI@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
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
Business & Technology Drivers
Business Context
• Technology as an enabler and transformer for business growth
• Acquisitions increasing diversity 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
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
8
6,100,000 members
CSG
Stores
2200
Challenges and Direction
On-Prem Platforms
10
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
11
Modern business expectations and demands:
• Agility
• Technology not hindering
• High-Velocity
• Ability to grow into new markets
• Security (By Design) as high-priority
• Cost Sensitive
• Scalability, Capacity on Demand
Modern Platforms Architecture
Next Generation of (Cloud) Platforms
13
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
14
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)
16
• The process and ability to define,
provision and manage IaaS, PaaS
resources and services in a declarative
manner using a declarative language
rather than physical hardware
installation, configuration
Infrastructure, Platform As Code (IaC - PaC)
17
• 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)
18
• 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
Terraform Available Platforms
19
How Co-op use IaC & Terraform today
20
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
21
• 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.
OCI CONCEPTS
• Compartments
• Compute Instances
• Virtual Cloud Networks
• Gateways (Internet Gateway & Dynamic Routing Gateway)
23
Copyright © 2018, eProseed and its affiliates. All rights reserved.
BIG PICTURE EXAMPLE
24
DRG
Dynamic
Routing
Gateway
On-prem
Another
VCN
Another
cloud
admin
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TERRAFORM CONCEPTS
“Terraform is tool for building, changing, and
versioning infrastructure safely and efficiently”
• Resources: the artefacts that terraform manages
• 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
25
Cloud-agnostic
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TERRAFORM PROVIDERS
• Modules which tell Terraform how to build or change resources
• Supplied by Hashicorp, resource provider (like Oracle) or 3rd party/community
26
Copyright © 2018, eProseed and its affiliates. All rights reserved.
MORE ABOUT PROVIDERS
• Providers are either:
– Integrated: downloaded by Terraform when needed
– Non-integrated: install from 3rd party or write your own
• 3 Oracle-developed providers:
– https://www.terraform.io/docs/providers/oci/index.html OCI
https://github.com/terraform-providers/terraform-provider-oci
– https://www.terraform.io/docs/providers/oraclepaas/index.html Oracle Cloud Platform (Oracle PaaS)
provider is used to interact with resources supported by the Oracle Cloud Platform services. Talks to
the PaaS REST APIs
– https://www.terraform.io/docs/providers/opc/index.html Oracle Public Cloud = Classic
27
Oracle providers are all
now integrated
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
28
terraform init
terraform plan
terraform apply
…terraform destroy
Copyright © 2018, eProseed and its affiliates. All rights reserved.29
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
30
Terraform as a
Service…?
Copyright © 2018, eProseed and its affiliates. All rights reserved.
TIP!
Extension available for
Microsoft VS Code editor
31
Summary
32
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
33
Copyright © 2018, eProseed and its affiliates. All rights reserved.

Mais conteúdo relacionado

Mais procurados

EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...{code}
 
Automating Your Data Center with RackHD - EMC World 2016
Automating Your Data Center with RackHD - EMC World 2016Automating Your Data Center with RackHD - EMC World 2016
Automating Your Data Center with RackHD - EMC World 2016Kendrick Coleman
 
Highly Available And Distributed Containers - ContainerCon NA 2016
Highly Available And Distributed Containers - ContainerCon NA 2016Highly Available And Distributed Containers - ContainerCon NA 2016
Highly Available And Distributed Containers - ContainerCon NA 2016{code}
 
Se training storage grid webscale technical overview
Se training   storage grid webscale technical overviewSe training   storage grid webscale technical overview
Se training storage grid webscale technical overviewsolarisyougood
 
EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...
EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...
EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...{code}
 
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for ApplicationsEMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for ApplicationsDavid vonThenen
 
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...{code}
 
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...Cesar Maciel
 
EMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep diveEMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep divesolarisyougood
 
EMC World 2016 - cnaITL.06 Containers are not Cloud Native
EMC World 2016 - cnaITL.06 Containers are not Cloud NativeEMC World 2016 - cnaITL.06 Containers are not Cloud Native
EMC World 2016 - cnaITL.06 Containers are not Cloud Native{code}
 
Emc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopEmc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopsolarisyougood
 
Power systems virtualization with power kvm
Power systems virtualization with power kvmPower systems virtualization with power kvm
Power systems virtualization with power kvmsolarisyougood
 
Presentation symmetrix vmax family with enginuity 5876
Presentation   symmetrix vmax family with enginuity 5876Presentation   symmetrix vmax family with enginuity 5876
Presentation symmetrix vmax family with enginuity 5876solarisyougood
 
IBM POWER Systems
IBM POWER SystemsIBM POWER Systems
IBM POWER Systemstcp cloud
 
Compare emc symmetrix vmax cat presentation
Compare   emc symmetrix vmax cat presentationCompare   emc symmetrix vmax cat presentation
Compare emc symmetrix vmax cat presentationxKinAnx
 

Mais procurados (20)

EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
 
Automating Your Data Center with RackHD - EMC World 2016
Automating Your Data Center with RackHD - EMC World 2016Automating Your Data Center with RackHD - EMC World 2016
Automating Your Data Center with RackHD - EMC World 2016
 
Highly Available And Distributed Containers - ContainerCon NA 2016
Highly Available And Distributed Containers - ContainerCon NA 2016Highly Available And Distributed Containers - ContainerCon NA 2016
Highly Available And Distributed Containers - ContainerCon NA 2016
 
Emc vipr srm workshop
Emc vipr srm workshopEmc vipr srm workshop
Emc vipr srm workshop
 
Se training storage grid webscale technical overview
Se training   storage grid webscale technical overviewSe training   storage grid webscale technical overview
Se training storage grid webscale technical overview
 
EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...
EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...
EMC World 2016 - code.16 Running Stateful Services on Cloud Native Platforms ...
 
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for ApplicationsEMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
 
Emc vplex deep dive
Emc vplex deep diveEmc vplex deep dive
Emc vplex deep dive
 
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
 
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
 
EMC VNX
EMC VNXEMC VNX
EMC VNX
 
EMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep diveEMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep dive
 
EMC World 2016 - cnaITL.06 Containers are not Cloud Native
EMC World 2016 - cnaITL.06 Containers are not Cloud NativeEMC World 2016 - cnaITL.06 Containers are not Cloud Native
EMC World 2016 - cnaITL.06 Containers are not Cloud Native
 
Emc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopEmc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshop
 
PowerHA for i
PowerHA for iPowerHA for i
PowerHA for i
 
Power systems virtualization with power kvm
Power systems virtualization with power kvmPower systems virtualization with power kvm
Power systems virtualization with power kvm
 
Presentation symmetrix vmax family with enginuity 5876
Presentation   symmetrix vmax family with enginuity 5876Presentation   symmetrix vmax family with enginuity 5876
Presentation symmetrix vmax family with enginuity 5876
 
IBM POWER Systems
IBM POWER SystemsIBM POWER Systems
IBM POWER Systems
 
Compare emc symmetrix vmax cat presentation
Compare   emc symmetrix vmax cat presentationCompare   emc symmetrix vmax cat presentation
Compare emc symmetrix vmax cat presentation
 

Semelhante a Terrraform meet Oracle Cloud: Platform Provisioning Automation

Platform Provisioning Automation for Oracle Cloud
Platform Provisioning Automation for Oracle CloudPlatform Provisioning Automation for Oracle Cloud
Platform Provisioning Automation for Oracle CloudSimon Haslam
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle Developers
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformStefan Oehrli
 
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...Lucas Jellema
 
Oracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kódOracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kódMarketingArrowECS_CZ
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Lucas Jellema
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1makker_nl
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...Lucas Jellema
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computingPUBLEAD (R)
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesQAware GmbH
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerSimon Haslam
 
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Juarez Junior
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeRobert van Mölken
 
Live Introduction to the Cloud Native Microservices Platform – open, manageab...
Live Introduction to the Cloud Native Microservices Platform – open, manageab...Live Introduction to the Cloud Native Microservices Platform – open, manageab...
Live Introduction to the Cloud Native Microservices Platform – open, manageab...Lucas Jellema
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSSteve Wong
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the MonolithVMware Tanzu
 

Semelhante a Terrraform meet Oracle Cloud: Platform Provisioning Automation (20)

Platform Provisioning Automation for Oracle Cloud
Platform Provisioning Automation for Oracle CloudPlatform Provisioning Automation for Oracle Cloud
Platform Provisioning Automation for Oracle Cloud
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with Terraform
 
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
The True State of the Oracle Public Cloud - Dutch Oracle Architects Platform ...
 
Oracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kódOracle Cloud - Infrastruktura jako kód
Oracle Cloud - Infrastruktura jako kód
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
Avoiding cloud lock-in
Avoiding cloud lock-inAvoiding cloud lock-in
Avoiding cloud lock-in
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards Kubernetes
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack Manager
 
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
 
Live Introduction to the Cloud Native Microservices Platform – open, manageab...
Live Introduction to the Cloud Native Microservices Platform – open, manageab...Live Introduction to the Cloud Native Microservices Platform – open, manageab...
Live Introduction to the Cloud Native Microservices Platform – open, manageab...
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
 

Mais de Simon Haslam

Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldSimon Haslam
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)Simon Haslam
 
What You Need to Know about Oracle Cloud Connectivity
What You Need to Know about Oracle Cloud ConnectivityWhat You Need to Know about Oracle Cloud Connectivity
What You Need to Know about Oracle Cloud ConnectivitySimon Haslam
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsSimon Haslam
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleSimon Haslam
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerSimon Haslam
 
Oracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer JourneyOracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer JourneySimon Haslam
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsSimon Haslam
 
Delivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETDelivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETSimon Haslam
 
JET Hybrid Mobile Apps - taster for Oracle CodeOne
JET Hybrid Mobile Apps - taster for Oracle CodeOneJET Hybrid Mobile Apps - taster for Oracle CodeOne
JET Hybrid Mobile Apps - taster for Oracle CodeOneSimon Haslam
 
Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleSimon Haslam
 
Connecting Oracle Cloud to your Data Centre (Part A)
Connecting Oracle Cloud to your Data Centre (Part A)Connecting Oracle Cloud to your Data Centre (Part A)
Connecting Oracle Cloud to your Data Centre (Part A)Simon Haslam
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersRunning SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersSimon Haslam
 
Tips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud ServiceTips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud ServiceSimon Haslam
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSimon Haslam
 
Driving DevOps for Oracle with the orawls Puppet Modules
Driving DevOps for Oracle with the orawls Puppet ModulesDriving DevOps for Oracle with the orawls Puppet Modules
Driving DevOps for Oracle with the orawls Puppet ModulesSimon Haslam
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACSSimon Haslam
 
3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle CloudSimon Haslam
 
Oracle Traffic Director - a vital part of your Oracle infrastructure
Oracle Traffic Director - a vital part of your Oracle infrastructureOracle Traffic Director - a vital part of your Oracle infrastructure
Oracle Traffic Director - a vital part of your Oracle infrastructureSimon Haslam
 

Mais de Simon Haslam (20)

Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle World
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
What You Need to Know about Oracle Cloud Connectivity
What You Need to Know about Oracle Cloud ConnectivityWhat You Need to Know about Oracle Cloud Connectivity
What You Need to Know about Oracle Cloud Connectivity
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS Admins
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack Manager
 
Oracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer JourneyOracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer Journey
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS Admins
 
Delivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JETDelivering Mobile Apps to the Field with Oracle JET
Delivering Mobile Apps to the Field with Oracle JET
 
JET Hybrid Mobile Apps - taster for Oracle CodeOne
JET Hybrid Mobile Apps - taster for Oracle CodeOneJET Hybrid Mobile Apps - taster for Oracle CodeOne
JET Hybrid Mobile Apps - taster for Oracle CodeOne
 
Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using Oracle
 
Connecting Oracle Cloud to your Data Centre (Part A)
Connecting Oracle Cloud to your Data Centre (Part A)Connecting Oracle Cloud to your Data Centre (Part A)
Connecting Oracle Cloud to your Data Centre (Part A)
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersRunning SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite Customers
 
Tips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud ServiceTips & Tricks for Java & SOA Cloud Service
Tips & Tricks for Java & SOA Cloud Service
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the Cloud
 
Driving DevOps for Oracle with the orawls Puppet Modules
Driving DevOps for Oracle with the orawls Puppet ModulesDriving DevOps for Oracle with the orawls Puppet Modules
Driving DevOps for Oracle with the orawls Puppet Modules
 
Experiences of SOACS
Experiences of SOACSExperiences of SOACS
Experiences of SOACS
 
3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud
 
SSL Everywhere!
SSL Everywhere!SSL Everywhere!
SSL Everywhere!
 
Oracle Traffic Director - a vital part of your Oracle infrastructure
Oracle Traffic Director - a vital part of your Oracle infrastructureOracle Traffic Director - a vital part of your Oracle infrastructure
Oracle Traffic Director - a vital part of your Oracle infrastructure
 

Último

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 

Último (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 

Terrraform meet Oracle Cloud: Platform Provisioning Automation

  • 1. Terraform Meet Oracle Cloud: Platform Provisioning Automation 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
  • 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, inc Corente. • 3rd year presenting “how to connect on-prem to cloud” • Designed & built SOA CS integration platform for global use since Oct 2017, inc VPNaaS • On team migrating eProseed Lux data centres to OCI@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 5
  • 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 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 7
  • 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 8 6,100,000 members CSG Stores 2200
  • 9. On-Prem Platforms 10 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 11 Modern business expectations and demands: • Agility • Technology not hindering • High-Velocity • Ability to grow into new markets • Security (By Design) as high-priority • Cost Sensitive • Scalability, Capacity on Demand
  • 12. Next Generation of (Cloud) Platforms 13 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 14 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) 16 • The process and ability to define, provision and manage IaaS, PaaS resources and services in a declarative manner using a declarative language rather than physical hardware installation, configuration
  • 16. Infrastructure, Platform As Code (IaC - PaC) 17 • 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) 18 • 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
  • 19. How Co-op use IaC & Terraform today 20 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 21 • 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. OCI CONCEPTS • Compartments • Compute Instances • Virtual Cloud Networks • Gateways (Internet Gateway & Dynamic Routing Gateway) 23
  • 23. Copyright © 2018, eProseed and its affiliates. All rights reserved. BIG PICTURE EXAMPLE 24 DRG Dynamic Routing Gateway On-prem Another VCN Another cloud admin
  • 24. Copyright © 2018, eProseed and its affiliates. All rights reserved. TERRAFORM CONCEPTS “Terraform is tool for building, changing, and versioning infrastructure safely and efficiently” • Resources: the artefacts that terraform manages • 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 25 Cloud-agnostic
  • 25. Copyright © 2018, eProseed and its affiliates. All rights reserved. TERRAFORM PROVIDERS • Modules which tell Terraform how to build or change resources • Supplied by Hashicorp, resource provider (like Oracle) or 3rd party/community 26
  • 26. Copyright © 2018, eProseed and its affiliates. All rights reserved. MORE ABOUT PROVIDERS • Providers are either: – Integrated: downloaded by Terraform when needed – Non-integrated: install from 3rd party or write your own • 3 Oracle-developed providers: – https://www.terraform.io/docs/providers/oci/index.html OCI https://github.com/terraform-providers/terraform-provider-oci – https://www.terraform.io/docs/providers/oraclepaas/index.html Oracle Cloud Platform (Oracle PaaS) provider is used to interact with resources supported by the Oracle Cloud Platform services. Talks to the PaaS REST APIs – https://www.terraform.io/docs/providers/opc/index.html Oracle Public Cloud = Classic 27 Oracle providers are all now integrated
  • 27. 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 28 terraform init terraform plan terraform apply …terraform destroy
  • 28. Copyright © 2018, eProseed and its affiliates. All rights reserved.29 DEMO
  • 29. 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 30 Terraform as a Service…?
  • 30. Copyright © 2018, eProseed and its affiliates. All rights reserved. TIP! Extension available for Microsoft VS Code editor 31
  • 32. 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 33
  • 33. Copyright © 2018, eProseed and its affiliates. All rights reserved.