SlideShare a Scribd company logo
1 of 39
Robert van Mölken
Solution Architect |
Groundbreaker Ambassador
| Oracle ACE | Author
Hitchhiker's guide to
Cloud-Native Build
Pipelines and
Infrastructure as Code
Topics of this talk
2
01
02
03
04
Meaning and importance in DevOps practices, difference in tooling
Cloud-native pipelines vs Infrastructure-as-code
Introduction in best-of-breed tools for Infrastructure as Code
Infra-as-code using Terraform, Ansible and Packer
Introduction into Oracle Visual Builder Studio (formally Developer Cloud)
Cloud-native build pipelines using Visual Builder Studio
Demo resources for provisioning of infrastructure through pipeline
Getting started with infrastructure as code on Oracle
Cloud
Who am I? 3
Robert van Mölken
Solution Architect / Developer
Blockchain / IoT / Cloud Apps
Groundbreaker Ambassador
Linkedin: linkedin.com/in/rvmolken
Blog: technology.vanmolken.nl
Twitter: @robertvanmolken
Cloud-native
build pipelines
vs
Infrastructure-
as-code
4
5 DevOps practices around automation
 Configuration Management — Automate otherwise tedious tasks and allow your
organization to increase agility, e.g. software installations.
 Infrastructure as Code — Turn complex systems and environments into a few lines
of code. Enabling deployments through CI/CD pipelines to provision the new (cloud)
environment.
 Documentation as Code — Automating documentation along with the written code.
No more word documents for technical documentation!
 Continuous Integration (CI) — The process of managing code lifecycle by
automating the build and testing of code every time a team member commits
changes to version control.
 Continuous Delivery (CD) — The process of managing application deployments to
build, test, configure and deploy from a build to production.
6
What is infrastructure-as-code?
Managing and provisioning IT (cloud) infrastructure through machine-
readable definition files, i.e. code, rather then manual processes
Files can either be scripts (bash, poweshell) or declarative definitions
Definitions can comprise of both physical equipment, e.g. bare-metal
servers, as well as cloud resources, e.g. virtual machines, platform /
application services, and associated configuration resources
Definitions are stored in same version control system as application code
Used by tools to perform unattended automation and state management
7
Benefits of infrastructure-as-code
8
RE-USE & PROMOTE DEFINITIONS
Re-use the same definition
across environments for
application or service
BENEFITS OF PROMOTION/RE-USE
AUTOMATE SERVER UPDATES
Automation is not only for
servers / resources
BENEFITS OF AUTOMATION
• Synchronize configuration by running
running definition files on a schedule
• Create immutable servers. Apply
rebuilding servers
• Create containerized servers. Apply
by deploying new containers
Benefits of infrastructure-as-code
9
UNATTENDED AUTOMATION
Tools run on a schedule to
re-apply, and update
configuration
BENEFITS OF UNATTENDED
• Discover problems quickly
• Force yourself to fix those problems
• Force yourself to improve your tools
processes
• Discourages “out of band” changes as
as definition files are forcing the truth
TEST INFRASTRUCTURE CHANGES
Always test/plan new
before applying to prevent
DevOops
BENEFITS OF TESTING CHANGES
What are cloud-native pipelines?
CI/CD pipelines for cloud-native applications
1. Build the code (infrastructure or application) on commit trigger
2. Validate infrastructure definition or application code
3. Create and archive deployment artifacts in registry
4. Run tools to apply changes to environments and only promoted after
passing tests and authorization
10
Benefits of pipelines?
11
VALIDATE & TEST CHANGES
Pipelines validate and test
changes before applying
changes to production
BENEFITS OF VALIDATION/TESTING
• Get confidence for frequent, small
improvements
• Limit direct changes to infrastructure
infrastructure and application
• Correctness about the applied
changes
• Guarantees same performance and
stability across environments
GOVERNANCE
The process of applying
changes is auditable
BENEFITS OF GOVERNANCE
• Track back changes to commits
• Automation ensures processes are
• Build steps can require authorization as
What tools can we use?
12
Infrastructure-as-code Cloud-native build pipeline
Oracle Visual
Builder Studio
Infrastructure
as-code using
Terraform,
Ansible and/or
Packer
13
Terraform by HashiCorp
Terraform is a tool for writing, planning and creating infra-as-code by
tracking the state of the infra it manages in a declarative approach
Configuration files define the expected state, instead of sequencing
actions (using CLI) and can be written in HCL, or optionally JSON
Terraform manages virtual server life cycles (VMs), supporting services
(networking, storage) and platform services (k8s, database, functions)
Supports a diverse range of cloud providers and tools through a set of
plugins called providers (incl. Oracle Cloud, Azure, Helm, LogicMonitor)
14
(Hashicorp Configuration Language)
Terraform by HashiCorp
15
Terraform HCL for a Compute Instance
• Resource definition is represented as a
block of data.
• Header have a <type> <name>
structure
• Attributes can reference variables
• Attributes can reference resources
• Attributes can reference file paths
In addition:
• Resources can depend on others
• Terraform builds a graph to track
dependencies
• Terraform can perform actions in
parallel
Ansible by RedHat
Ansible is an IT automation and orchestration tool popular for its
simplicity of installation
It can configure systems, deploy software, orchestrate more advanced
IT tasks such as continuous deployments or zero downtime rolling
updates
It doesn’t need any agent to be installed on the target machines. It uses
SSH to get information from the remote machines, to run commands on
remote machines and to copy files
Its modularity regarding plugins, modules, inventories, and playbooks
make Ansible perfect tool to orchestrate large environments
16
Ansible is purely written in Python
and all things will execute on Python
interpreter
17
Ansible Architecture • The inventory – host information to manage
• A playbook – unit of scripts that defines work (plays) for a
server configuration (YAML format)
• Modules / plugins
• Things which actually do the work
• Get executed in each playbook task
Ansible Architecture
18
Ansible Redis Playbook
Packer by HashiCorp
Packer is a tool for creating machine and container images for multiple
platforms from a single source configuration
A machine image is a single static unit that contains a pre-configured
operating system and installed software which is used to quickly create
new running machines
Packer installs and configures all the software for a machine at the time
the image is build. After build it is up to you to launch or destroy them.
Packer creates identical images for multiple platforms, e.g. Oracle
Cloud (prod), private cloud (staging) or VirtualBox (dev). Each
environment is running an identical machine image
19
Packer Workflow Concepts
20
Build
Provision
Post Processing
Oracle
Cloud
Azure
Virtual
Box
VM
Ware
Open/
Cloud
Stack
templates templates
• Templates: JSON files containing the
build information
• Builders: Platform specific building
configuration
• Provisioners: Tools that install
software after the initial OS install
• Post-processors: Actions to happen
after the image has been built
Packer Template Example
21
- Template can define reusable variables
- Both static or from environment
- Can be used in rest of template
- Builders block defines one of more build
configuration for creating images
- Type: defines target provider
- oracle-oci, azure-arm, docker, etc.
- Every builder has its own parameters
- tenancy, base-image, vm-shape, etc.
- Provisioners block defines one or more actions
to perform on OS
- Type: defines provision method
- shell, powershell, file, puppet, ansible,
etc.
Cloud-native
pipeline using
Oracle Visual
Builder Studio
(fka Developer Cloud)
22
Oracle Visual Builder Studio
A service that integrates an agile collaborative team development platform
with code management and CI/CD automation, extended with visual
development tooling for web and mobile applications
Manage the full lifecycle of all the artifacts that participate in the ecosystem
of extending Oracle Cloud Applications.
Includes features that streamline the development lifecycle such as an issue
tracking system, Agile boards and Sprint management utilities, along with
wikis for information sharing and private hosted GIT repositories
Integrates popular build and test frameworks, as well as utilities that help
manage infrastructure as code leveraging standards such as Docker,
Kubernetes, and Terraform
23
Oracle Visual Builder Studio
24
Highlights: Project Templates
25
Highlights: Project Environments
26
Highlights: Deep Git Integration
27
Highlights: CI/CD Build Pipelines
28
Getting started
on Oracle
Cloud
29
Resources to get started
• Terraform provider for Oracle Cloud Infrastructure:
https://registry.terraform.io/providers/hashicorp/oci/latest/docs
https://github.com/terraform-providers/terraform-provider-oci/tree/master/examples
• Packer builder for Oracle Cloud Infrastructure:
https://www.packer.io/docs/builders/oracle/oci
• Getting started with Ansible on Oracle Cloud:
https://oracle-cloud-infrastructure-ansible-modules.readthedocs.io/.../technical-overview.html
https://github.com/oracle/oci-ansible-collection
• Guide – Infrastructure-as-code using Terraform on Oracle Cloud:
https://blogs.oracle.com/.../infrastructure-as-code-using-terraform-on-oracle-cloud
• Guide – Build custom cloud images using Packer on Oracle Cloud:
https://blogs.oracle.com/.../build-custom-images-with-packer-on-oracle-cloud
30
31
32
33
34
35
36
Experts in Modern Development
Learn more at
developer.oracle.com/ambassador
Nominate a
Groundbreaker Ambassador
@groundbreakers
The Oracle Groundbreaker Ambassadors
award recognizes modern developers for their
contribution to the developer community.
gbanomination.oracle.com
• Cloud
• Microservices and Containers
• Java, JavaScript/Node.js, PHP, Python
• DevOps
• Continuous Delivery
• Open Source Technologies
• SQL/NoSQL Databases
• Machine Learning, AI, Chatbots
Thank You
Robert van Mölken
Solution Architect |
Groundbreaker Ambassador
| Oracle ACE | Author
Hitchhiker's guide to
Cloud-Native Build
Pipelines and Infra as
Code

More Related Content

What's hot

Optimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deploymentsOptimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deploymentsAnimesh Singh
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Manuel Garcia
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixRohit Kelapure
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Stuart Charlton
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryAnimesh Singh
 
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
 
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...NETWAYS
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherNETWAYS
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStackEdgar Magana
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Krishna-Kumar
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataMarketingArrowECS_CZ
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications OpenEBS
 
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014VNG/IRD - Cloud computing & Openstack discussion 3/5/2014
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014Tran Nhan
 
Spark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng ChenSpark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng ChenGuancheng (G.C.) Chen
 
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...NETWAYS
 
Dell/EMC Technical Validation of BlueData EPIC with Isilon
Dell/EMC Technical Validation of BlueData EPIC with IsilonDell/EMC Technical Validation of BlueData EPIC with Isilon
Dell/EMC Technical Validation of BlueData EPIC with IsilonGreg Kirchoff
 
Planning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OSPlanning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OSImesh Gunaratne
 
Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with ClockerAndrew Kennedy
 

What's hot (20)

Top aos services v 2.0.1
Top aos services v 2.0.1Top aos services v 2.0.1
Top aos services v 2.0.1
 
Optimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deploymentsOptimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deployments
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMix
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
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
 
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
OSDC 2018 | Lifecycle of a resource. Codifying infrastructure with Terraform ...
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStack
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014VNG/IRD - Cloud computing & Openstack discussion 3/5/2014
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014
 
Spark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng ChenSpark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng Chen
 
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
OSDC 2018 | From batch to pipelines – why Apache Mesos and DC/OS are a soluti...
 
Dell/EMC Technical Validation of BlueData EPIC with Isilon
Dell/EMC Technical Validation of BlueData EPIC with IsilonDell/EMC Technical Validation of BlueData EPIC with Isilon
Dell/EMC Technical Validation of BlueData EPIC with Isilon
 
Planning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OSPlanning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OS
 
Simulating Production with Clocker
Simulating Production with ClockerSimulating Production with Clocker
Simulating Production with Clocker
 

Similar to Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code

Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014Hojoong Kim
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteMicro Focus
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...ICON UK EVENTS Limited
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...VMware Tanzu
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017Andrew Ripka
 
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
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixIBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesNavigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesAltoros
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...Matteo Bisi
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarCodefresh
 

Similar to Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code (20)

Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product Suite
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
 
PaaS Solutions Comparison
PaaS Solutions ComparisonPaaS Solutions Comparison
PaaS Solutions Comparison
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Docker slides
Docker slidesDocker slides
Docker slides
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
 
Madrid meetup #7 deployment models
Madrid meetup #7   deployment modelsMadrid meetup #7   deployment models
Madrid meetup #7 deployment models
 
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...
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesNavigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
 

Recently uploaded

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 

Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code

  • 1. Robert van Mölken Solution Architect | Groundbreaker Ambassador | Oracle ACE | Author Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
  • 2. Topics of this talk 2 01 02 03 04 Meaning and importance in DevOps practices, difference in tooling Cloud-native pipelines vs Infrastructure-as-code Introduction in best-of-breed tools for Infrastructure as Code Infra-as-code using Terraform, Ansible and Packer Introduction into Oracle Visual Builder Studio (formally Developer Cloud) Cloud-native build pipelines using Visual Builder Studio Demo resources for provisioning of infrastructure through pipeline Getting started with infrastructure as code on Oracle Cloud
  • 3. Who am I? 3 Robert van Mölken Solution Architect / Developer Blockchain / IoT / Cloud Apps Groundbreaker Ambassador Linkedin: linkedin.com/in/rvmolken Blog: technology.vanmolken.nl Twitter: @robertvanmolken
  • 5.
  • 6. 5 DevOps practices around automation  Configuration Management — Automate otherwise tedious tasks and allow your organization to increase agility, e.g. software installations.  Infrastructure as Code — Turn complex systems and environments into a few lines of code. Enabling deployments through CI/CD pipelines to provision the new (cloud) environment.  Documentation as Code — Automating documentation along with the written code. No more word documents for technical documentation!  Continuous Integration (CI) — The process of managing code lifecycle by automating the build and testing of code every time a team member commits changes to version control.  Continuous Delivery (CD) — The process of managing application deployments to build, test, configure and deploy from a build to production. 6
  • 7. What is infrastructure-as-code? Managing and provisioning IT (cloud) infrastructure through machine- readable definition files, i.e. code, rather then manual processes Files can either be scripts (bash, poweshell) or declarative definitions Definitions can comprise of both physical equipment, e.g. bare-metal servers, as well as cloud resources, e.g. virtual machines, platform / application services, and associated configuration resources Definitions are stored in same version control system as application code Used by tools to perform unattended automation and state management 7
  • 8. Benefits of infrastructure-as-code 8 RE-USE & PROMOTE DEFINITIONS Re-use the same definition across environments for application or service BENEFITS OF PROMOTION/RE-USE AUTOMATE SERVER UPDATES Automation is not only for servers / resources BENEFITS OF AUTOMATION • Synchronize configuration by running running definition files on a schedule • Create immutable servers. Apply rebuilding servers • Create containerized servers. Apply by deploying new containers
  • 9. Benefits of infrastructure-as-code 9 UNATTENDED AUTOMATION Tools run on a schedule to re-apply, and update configuration BENEFITS OF UNATTENDED • Discover problems quickly • Force yourself to fix those problems • Force yourself to improve your tools processes • Discourages “out of band” changes as as definition files are forcing the truth TEST INFRASTRUCTURE CHANGES Always test/plan new before applying to prevent DevOops BENEFITS OF TESTING CHANGES
  • 10. What are cloud-native pipelines? CI/CD pipelines for cloud-native applications 1. Build the code (infrastructure or application) on commit trigger 2. Validate infrastructure definition or application code 3. Create and archive deployment artifacts in registry 4. Run tools to apply changes to environments and only promoted after passing tests and authorization 10
  • 11. Benefits of pipelines? 11 VALIDATE & TEST CHANGES Pipelines validate and test changes before applying changes to production BENEFITS OF VALIDATION/TESTING • Get confidence for frequent, small improvements • Limit direct changes to infrastructure infrastructure and application • Correctness about the applied changes • Guarantees same performance and stability across environments GOVERNANCE The process of applying changes is auditable BENEFITS OF GOVERNANCE • Track back changes to commits • Automation ensures processes are • Build steps can require authorization as
  • 12. What tools can we use? 12 Infrastructure-as-code Cloud-native build pipeline Oracle Visual Builder Studio
  • 14. Terraform by HashiCorp Terraform is a tool for writing, planning and creating infra-as-code by tracking the state of the infra it manages in a declarative approach Configuration files define the expected state, instead of sequencing actions (using CLI) and can be written in HCL, or optionally JSON Terraform manages virtual server life cycles (VMs), supporting services (networking, storage) and platform services (k8s, database, functions) Supports a diverse range of cloud providers and tools through a set of plugins called providers (incl. Oracle Cloud, Azure, Helm, LogicMonitor) 14 (Hashicorp Configuration Language)
  • 15. Terraform by HashiCorp 15 Terraform HCL for a Compute Instance • Resource definition is represented as a block of data. • Header have a <type> <name> structure • Attributes can reference variables • Attributes can reference resources • Attributes can reference file paths In addition: • Resources can depend on others • Terraform builds a graph to track dependencies • Terraform can perform actions in parallel
  • 16. Ansible by RedHat Ansible is an IT automation and orchestration tool popular for its simplicity of installation It can configure systems, deploy software, orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates It doesn’t need any agent to be installed on the target machines. It uses SSH to get information from the remote machines, to run commands on remote machines and to copy files Its modularity regarding plugins, modules, inventories, and playbooks make Ansible perfect tool to orchestrate large environments 16
  • 17. Ansible is purely written in Python and all things will execute on Python interpreter 17 Ansible Architecture • The inventory – host information to manage • A playbook – unit of scripts that defines work (plays) for a server configuration (YAML format) • Modules / plugins • Things which actually do the work • Get executed in each playbook task Ansible Architecture
  • 19. Packer by HashiCorp Packer is a tool for creating machine and container images for multiple platforms from a single source configuration A machine image is a single static unit that contains a pre-configured operating system and installed software which is used to quickly create new running machines Packer installs and configures all the software for a machine at the time the image is build. After build it is up to you to launch or destroy them. Packer creates identical images for multiple platforms, e.g. Oracle Cloud (prod), private cloud (staging) or VirtualBox (dev). Each environment is running an identical machine image 19
  • 20. Packer Workflow Concepts 20 Build Provision Post Processing Oracle Cloud Azure Virtual Box VM Ware Open/ Cloud Stack templates templates • Templates: JSON files containing the build information • Builders: Platform specific building configuration • Provisioners: Tools that install software after the initial OS install • Post-processors: Actions to happen after the image has been built
  • 21. Packer Template Example 21 - Template can define reusable variables - Both static or from environment - Can be used in rest of template - Builders block defines one of more build configuration for creating images - Type: defines target provider - oracle-oci, azure-arm, docker, etc. - Every builder has its own parameters - tenancy, base-image, vm-shape, etc. - Provisioners block defines one or more actions to perform on OS - Type: defines provision method - shell, powershell, file, puppet, ansible, etc.
  • 22. Cloud-native pipeline using Oracle Visual Builder Studio (fka Developer Cloud) 22
  • 23. Oracle Visual Builder Studio A service that integrates an agile collaborative team development platform with code management and CI/CD automation, extended with visual development tooling for web and mobile applications Manage the full lifecycle of all the artifacts that participate in the ecosystem of extending Oracle Cloud Applications. Includes features that streamline the development lifecycle such as an issue tracking system, Agile boards and Sprint management utilities, along with wikis for information sharing and private hosted GIT repositories Integrates popular build and test frameworks, as well as utilities that help manage infrastructure as code leveraging standards such as Docker, Kubernetes, and Terraform 23
  • 27. Highlights: Deep Git Integration 27
  • 28. Highlights: CI/CD Build Pipelines 28
  • 30. Resources to get started • Terraform provider for Oracle Cloud Infrastructure: https://registry.terraform.io/providers/hashicorp/oci/latest/docs https://github.com/terraform-providers/terraform-provider-oci/tree/master/examples • Packer builder for Oracle Cloud Infrastructure: https://www.packer.io/docs/builders/oracle/oci • Getting started with Ansible on Oracle Cloud: https://oracle-cloud-infrastructure-ansible-modules.readthedocs.io/.../technical-overview.html https://github.com/oracle/oci-ansible-collection • Guide – Infrastructure-as-code using Terraform on Oracle Cloud: https://blogs.oracle.com/.../infrastructure-as-code-using-terraform-on-oracle-cloud • Guide – Build custom cloud images using Packer on Oracle Cloud: https://blogs.oracle.com/.../build-custom-images-with-packer-on-oracle-cloud 30
  • 31. 31
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. Experts in Modern Development Learn more at developer.oracle.com/ambassador Nominate a Groundbreaker Ambassador @groundbreakers The Oracle Groundbreaker Ambassadors award recognizes modern developers for their contribution to the developer community. gbanomination.oracle.com • Cloud • Microservices and Containers • Java, JavaScript/Node.js, PHP, Python • DevOps • Continuous Delivery • Open Source Technologies • SQL/NoSQL Databases • Machine Learning, AI, Chatbots
  • 39. Robert van Mölken Solution Architect | Groundbreaker Ambassador | Oracle ACE | Author Hitchhiker's guide to Cloud-Native Build Pipelines and Infra as Code

Editor's Notes

  1. Terraform is an infrastructure-as-code provisioning tool that tracks the state of the infrastructure it is managing to enable the declarative approach. Instead of defining and sequencing actions, as you are doing while working with the CLI, Terraform lets you define the expected state of your infrastructure. Next, it becomes the job of Terraform to detect what kind of actions, and in which sequence, have to be taken to bring the cloud resources to the expected state. You do not need to worry about any intermediary states. Only the result matters. Terraform supports a diverse range of cloud providers through a set of plugins called providers. When you initiate a new project using the terraform init command, Terraform reads your configuration files in this directory, detects which provider to use, and downloads the newest version of a particular provider plugin.
  2. Some settings of ansible can be written in the global ansible.cfg file but we can also write our own ansible.cfg which has higher precedence over the global file. Ansible is purely written in Python and all things will execute on Python interpreter.
  3. Some settings of ansible can be written in the global ansible.cfg file but we can also write our own ansible.cfg which has higher precedence over the global file. Ansible is purely written in Python and all things will execute on Python interpreter.
  4. Source File:- https://pixabay.com/en/stairway-staircase-stairs-outdoors-828883/