Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Terrraform meet Oracle Cloud: Platform Provisioning Automation

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 33 Publicité

Terrraform meet Oracle Cloud: Platform Provisioning Automation

Télécharger pour lire hors ligne

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

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

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Terrraform meet Oracle Cloud: Platform Provisioning Automation (20)

Publicité

Plus par Simon Haslam (20)

Plus récents (20)

Publicité

Terrraform meet Oracle Cloud: Platform Provisioning Automation

  1. 1. Terraform Meet Oracle Cloud: Platform Provisioning Automation Nikitas Xenakis, Co-op Simon Haslam, eProseed
  2. 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. 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. 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. 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. 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. 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
  8. 8. Challenges and Direction
  9. 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. 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
  11. 11. Modern Platforms Architecture
  12. 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. 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. 14. Infrastructure & Platform As Code (IaC, PaC)
  15. 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. 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. 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
  18. 18. Terraform Available Platforms 19
  19. 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. 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. 21. Terraform and Oracle Cloud Infrastructure (OCI)
  22. 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. 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. 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. 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. 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. 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. 28. Copyright © 2018, eProseed and its affiliates. All rights reserved.29 DEMO
  29. 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. 30. Copyright © 2018, eProseed and its affiliates. All rights reserved. TIP! Extension available for Microsoft VS Code editor 31
  31. 31. Summary 32 1998
  32. 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. 33. Copyright © 2018, eProseed and its affiliates. All rights reserved.

×