SUPERSEDED. First presented in November 2018 at DOAG 2018 conference, then in December at UKOUG Tech18 - slides have been updated slightly so see: https://www.slideshare.net/Veriton/platform-provisioning-automation-for-oracle-cloud
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
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
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
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