SlideShare a Scribd company logo
1 of 54
Classificatie: vertrouwelijk
Automation of
Software
Engineering
with OCI
DevOps Build
and Deployment
Pipelines
APAC OCI Days – 24-26 May 2022
Lucas Jellema, CTO & Architect AMIS | Conclusion
Classificatie: vertrouwelijk
Lucas Jellema
CTO for AMIS | Conclusion
Cloud Solution Architect
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
2
Classificatie: vertrouwelijk
Discussion Topics
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 3
Deployment
Build
Source Code
Artifact
Classificatie: vertrouwelijk
Deployment
• Objective: a running software product
• in the designated target environment
• Requirements
• proven
• no human involvement
• secure
• triggerable
• tailored to environment
• audit
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 4
Classificatie: vertrouwelijk
OCI DevOps Deployment Pipelines
• Automated Deployment to OCI services
• Application to Compute Instance (VM)
• Container Image and Kubernetes artifacts to OKE
• Function Container Image to OCI Functions
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 5
Classificatie: vertrouwelijk
OCI DevOps Deployment Pipelines
• run as Resource Principal inside OCI
• require permissions on target environments
(through policies and dynamic group)
• retrieve artifacts from container image registry and
generic artifact registry
• are simple to trigger
• only requires permission on pipeline
• can include OCI Function calls
• for environment preparation, smoke test, ..
• can include manual approval steps
• can be triggered from Jenkins pipeline
• support Blue/Green & Canary deployment
strategies (for VM and OKE)
• “OCI native” – logging, events, audit, CLI/Console
• are free
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 6
Classificatie: vertrouwelijk
OCI Deployment Pipeline for Compute Instance
• Artifacts are retrieved from Artifact repository
and copied to the VM
• Deployment Configuration contains Shell commands
that are executed on the target VM
• at present: Oracle Linux, CentOS, AmalLinux OS
• Parameters can be defined on the pipeline
• parameter references can be used in the deployment
configuration to set environment variables
• IAM Policy is required – grant permission to dynamic group
“to manage instance-agent-command-family”
• Deployment pipeline needs to be included in the group
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 7
Dynamic
Group
Agent
Classificatie: vertrouwelijk
OCI Deployment Demo
• Existing Web application - packaged as zip-file my-server.zip artifact
• binary executable (compiled from Go app) and static web resources
• Existing Deployment Pipeline
• my-server.zip: Download, Update an Upload (as new version of artifact)
• Create new Compute Instance – Oracle Linux VM
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 8
Classificatie: vertrouwelijk
Download my-server.zip from Artifact Registry
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 9
Classificatie: vertrouwelijk
Update web application – create new artifact
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 10
Classificatie: vertrouwelijk
Upload new Artifact to Artifact Registry
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 11
Classificatie: vertrouwelijk
Create Compute Instance – Oracle Linux VM
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 12
Classificatie: vertrouwelijk
Create Compute Instance – Oracle Linux VM
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 13
Classificatie: vertrouwelijk
Create Compute Instance – Oracle Linux VM
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 14
Classificatie: vertrouwelijk
Provisioning Compute Instance
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 15
Classificatie: vertrouwelijk
Provisioning Compute Instance
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 16
Classificatie: vertrouwelijk
Define DevOps Environment for new Compute Instance
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 17
Classificatie: vertrouwelijk
Define DevOps Environment for new Compute Instance
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 18
Classificatie: vertrouwelijk
Update Deployment Pipeline
• Target the right Environment
• Deploy the right
[version of the] my-server.zip
Artifact
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 19
Classificatie: vertrouwelijk
Update Deployment Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 20
Classificatie: vertrouwelijk
Update Deployment Pipeline - Parameter
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 21
Classificatie: vertrouwelijk
Update Deployment Pipeline - Parameter
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 22
Classificatie: vertrouwelijk
Deployment Specification
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 23
Classificatie: vertrouwelijk
Deployment Specification
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 24
Classificatie: vertrouwelijk
Run Deployment Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 25
Classificatie: vertrouwelijk
When Deployment is Complete …
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 26
Classificatie: vertrouwelijk
Requirements (not shown in demo)
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 27
Compute Instance Run Command and Management Agent plugins
enabled on Compute Instance Cloud Agent
Deployment Pipeline has IAM
permissions for operations on VM
Dynamic Group includes pipeline, Policy
grant permissions to group
subnet allows incoming network
traffic from public internet to port
8095
Network Security List Ingress Rule is
defined
configure firewall on VM – open up port 8085
Classificatie: vertrouwelijk
OCI DevOps Projects
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 28
generic
artifact
registry
container
image
registry
Environment
DevOps Project
Classificatie: vertrouwelijk
OCI DevOps Projects
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 29
DevOps Project
generic
artifact
registry
container
image
registry
Environment
build server
VM
Classificatie: vertrouwelijk
OCI DevOps Container Image Registry
• Container [Image] Registry
• Store for tagged Container Images
• Docker Registry compliant
• Public and private container images
• Can be published to by Build Pipeline
• Read from by Deployment Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 30
Classificatie: vertrouwelijk
OCI DevOps [Generic] Artifact Registry
• Registry for any type of file
• Organized in Repositories
• Files can be uploaded and
downloaded through OCI Console
• Can be published to by Build Pipeline
• Read from by Deployment Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 31
Classificatie: vertrouwelijk
OCI DevOps Code Repository
• git style
• accessible from any git client
• can be a mirror from external repository
• synched from GitHub, GitLab, BitBucket
• only storage costs are charged
• simple read only UI in OCI Console
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 32
Classificatie: vertrouwelijk
Build
• Objective: Produce deployable artifacts
• after running linting, code QA, tests
• Requirements
• automated, repeatable, proven
• triggerable from source code events
• easy for software developer
• integrated in OCI
• source code, artifact & container
registries, trigger deployment
• logging, events, audit, IAM
• cheap and plenty build server
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 33
Classificatie: vertrouwelijk
Build Server
• Currently only one VM image
• Oracle Linux 7, 1 OCPU, 8 GB RAM
• Pre-installed tools and language environments
• Bash, Maven, Gradle, Helm, git
• Docker, Fn CLI, OCI CLI
• Java, Python, Ruby, Node, Go, PHP
• Build server has access to internet for
download and installing additional tools,
container images, git repositories
• Planned: custom build server images
• Note: build server compute costs are charged -
for the time the server is active
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 34
DevOps Project
build server
VM
Classificatie: vertrouwelijk
Build Pipeline
• Multiple stages – sequential or parallel
• Four types of stage:
• Managed Build – run script on build server
• Deliver Artifact – publish files / container images
• Trigger Deployment Pipeline
• Wait
• Triggered by
• Event in source code repository
• Humanual action
• API call
• Parameters can be associated with build pipeline
• optionally set for each run to override default values
• used in build specification script and in artifact reference
• passed to triggered deployment pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 35
Classificatie: vertrouwelijk
Managed Build Stage
• Retrieve sources from one or more repositories to the build server
• Execute steps in build specification yaml file
• part of source code repository
• contains Linux Shell commands
• Designated files produced by stage
are available as output
• to be published to artifact registry
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 36
build server
VM
output
(zip-file, json-
document,
container image)
build
specification
yaml file
DevOps Project
Classificatie: vertrouwelijk
Managed Build Stage (2)
• Build Pipeline parameters are
available when build server runs
• values from Vault Secrets
can be pulled in at build run time
• Note: build server runs under
resource principal authentication
• inheriting IAM permissions from
Dynamic Group
• example: invoke function,
run OCI CLI or Terraform with OCI provider
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 37
DevOps Project
build server
VM
output
(zip-file, json-
document,
container image)
build
specification
yaml file
Dynamic
Group
para
meters
para
meters
Classificatie: vertrouwelijk
Demo
• Source code for my-server.go app in Code Repository is starting point
• including build-specification.yaml
• Build pipeline
• parameter for artifact version
• 1. managed build stage – associated
with code repository [path]
• compile, lint, code QA, test,
build to executable,
package to zip archive
• 2. publish artifact stage –
upload zip-file to artifact registry
• 3. trigger deployment pipeline stage –
start deployment to Compute Instance
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps
38
DevOps Project
generic
artifact
registry
build server
VM
parameter
parameter
1
2
3
Classificatie: vertrouwelijk
Source Code Repository
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 39
Classificatie: vertrouwelijk
Build Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 40
Classificatie: vertrouwelijk
Managed Build Stage
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 41
Classificatie: vertrouwelijk
Build Specification (1)
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 42
Classificatie: vertrouwelijk
Build Specification (2)
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 43
Create
Archive
Build
Executable
Run Unit
Tests
Lint source
code
Format Go
source code
Install golangci-lint
on build server
Run go mod tidy
Run go vet
Define output
from build stage
Classificatie: vertrouwelijk
Publish Artifact Stage
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 44
parameter
Classificatie: vertrouwelijk
Publish Artifact Stage
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 45
parameter
parameter
Classificatie: vertrouwelijk
Run Build Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 46
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps
46
DevOps Project
generic
artifact
registry
build server
VM
my-server.zip:4.10
Classificatie: vertrouwelijk
Run Build Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 47
Classificatie: vertrouwelijk
Run Build Pipeline
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 48
Classificatie: vertrouwelijk
Run Build Pipeline – Publish Artifact
(with version derived from parameter)
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 49
generic
artifact
registry
my-server.zip:4.10
Classificatie: vertrouwelijk
Run Build Pipeline – Trigger Deployment Pipeline
(pass build line parameters)
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 50
parameter
parameter
Classificatie: vertrouwelijk
Managed Build Stage
• Can invoke OCI ADM (Application Dependency Management) –
to analyze vulnerabilities in application (GA May 2022)
• Can build container images – that “publish artifact” pulls from
local container image registry on build server
• Infrastructure as Code – on OCI resources
• Can run OCI CLI commands
• Can [install Terraform and] apply Terraform plans OCI provider
• Can run any Linux shell job
• Multiple manage build stages can be included in one build pipeline
• build-specification files for generic actions can be reused across pipelines
• for example: build-spec for exposing a service through OCI API Gateway
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 51
Classificatie: vertrouwelijk
Finale
• Automation is important
• proven, repeatable, triggered, secure, fast/at any time, fewer skills required
• OCI DevOps provides automation
• of software build
• of software deployment to OCI runtime platforms
• Embedded in OCI
• IAM, logging, events, code repository and artifact registry
• console, CLI, REST API, Terraform
• Young service – quickly growing
• Free or Cheap
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 52
DevOps Project
Environment
build server
VM
Classificatie: vertrouwelijk
Thank you
for your attention
I hope
this was
useful
APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
53
Classificatie: vertrouwelijk

More Related Content

What's hot

Docker intro
Docker introDocker intro
Docker introOleg Z
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersYajushi Srivastava
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CDCprime
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Edureka!
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps JourneyDevOps.com
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesWill Hall
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux KernelDocker, Inc.
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker, Inc.
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionPeng Xiao
 
Docker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker SwarmDocker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker SwarmCarlos E. Salazar
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetesrajdeep
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 

What's hot (20)

Docker intro
Docker introDocker intro
Docker intro
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Accelerating with Ansible
Accelerating with AnsibleAccelerating with Ansible
Accelerating with Ansible
 
Docker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker SwarmDocker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker Swarm
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 

Similar to Automation of Software Engineering with OCI DevOps Build and Deployment Pipelines (APAC OCI Days - May 2022)

Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERIndrajit Poddar
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSAmazon Web Services
 
ACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer ToolsACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer ToolsAWS User Group Kochi
 
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...Amazon Web Services
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps_Fest
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsAmazon Web Services
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterAmazon Web Services
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...Amazon Web Services
 
"The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" "The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" James Watters
 
Interop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in ProductionInterop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in ProductionBrian Gracely
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...Amazon Web Services
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source John Willis
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for RealistsOracle Developers
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017Amazon Web Services
 
AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationVarun Manik
 

Similar to Automation of Software Engineering with OCI DevOps Build and Deployment Pipelines (APAC OCI Days - May 2022) (20)

Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWS
 
ACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer ToolsACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer Tools
 
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
 
Moby KubeCon 2017
Moby KubeCon 2017Moby KubeCon 2017
Moby KubeCon 2017
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
"The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" "The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming"
 
DevOps on GCP Course Compared to AWS
DevOps on GCP Course Compared to AWSDevOps on GCP Course Compared to AWS
DevOps on GCP Course Compared to AWS
 
Interop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in ProductionInterop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in Production
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
 
ASP.NET vNext
ASP.NET vNextASP.NET vNext
ASP.NET vNext
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
 
AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps Presentation
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...Lucas Jellema
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyAnusha Are
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 

Recently uploaded (20)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Automation of Software Engineering with OCI DevOps Build and Deployment Pipelines (APAC OCI Days - May 2022)

  • 1. Classificatie: vertrouwelijk Automation of Software Engineering with OCI DevOps Build and Deployment Pipelines APAC OCI Days – 24-26 May 2022 Lucas Jellema, CTO & Architect AMIS | Conclusion
  • 2. Classificatie: vertrouwelijk Lucas Jellema CTO for AMIS | Conclusion Cloud Solution Architect APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema 2
  • 3. Classificatie: vertrouwelijk Discussion Topics APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 3 Deployment Build Source Code Artifact
  • 4. Classificatie: vertrouwelijk Deployment • Objective: a running software product • in the designated target environment • Requirements • proven • no human involvement • secure • triggerable • tailored to environment • audit APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 4
  • 5. Classificatie: vertrouwelijk OCI DevOps Deployment Pipelines • Automated Deployment to OCI services • Application to Compute Instance (VM) • Container Image and Kubernetes artifacts to OKE • Function Container Image to OCI Functions APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 5
  • 6. Classificatie: vertrouwelijk OCI DevOps Deployment Pipelines • run as Resource Principal inside OCI • require permissions on target environments (through policies and dynamic group) • retrieve artifacts from container image registry and generic artifact registry • are simple to trigger • only requires permission on pipeline • can include OCI Function calls • for environment preparation, smoke test, .. • can include manual approval steps • can be triggered from Jenkins pipeline • support Blue/Green & Canary deployment strategies (for VM and OKE) • “OCI native” – logging, events, audit, CLI/Console • are free APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 6
  • 7. Classificatie: vertrouwelijk OCI Deployment Pipeline for Compute Instance • Artifacts are retrieved from Artifact repository and copied to the VM • Deployment Configuration contains Shell commands that are executed on the target VM • at present: Oracle Linux, CentOS, AmalLinux OS • Parameters can be defined on the pipeline • parameter references can be used in the deployment configuration to set environment variables • IAM Policy is required – grant permission to dynamic group “to manage instance-agent-command-family” • Deployment pipeline needs to be included in the group APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 7 Dynamic Group Agent
  • 8. Classificatie: vertrouwelijk OCI Deployment Demo • Existing Web application - packaged as zip-file my-server.zip artifact • binary executable (compiled from Go app) and static web resources • Existing Deployment Pipeline • my-server.zip: Download, Update an Upload (as new version of artifact) • Create new Compute Instance – Oracle Linux VM APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 8
  • 9. Classificatie: vertrouwelijk Download my-server.zip from Artifact Registry APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 9
  • 10. Classificatie: vertrouwelijk Update web application – create new artifact APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 10
  • 11. Classificatie: vertrouwelijk Upload new Artifact to Artifact Registry APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 11
  • 12. Classificatie: vertrouwelijk Create Compute Instance – Oracle Linux VM APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 12
  • 13. Classificatie: vertrouwelijk Create Compute Instance – Oracle Linux VM APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 13
  • 14. Classificatie: vertrouwelijk Create Compute Instance – Oracle Linux VM APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 14
  • 15. Classificatie: vertrouwelijk Provisioning Compute Instance APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 15
  • 16. Classificatie: vertrouwelijk Provisioning Compute Instance APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 16
  • 17. Classificatie: vertrouwelijk Define DevOps Environment for new Compute Instance APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 17
  • 18. Classificatie: vertrouwelijk Define DevOps Environment for new Compute Instance APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 18
  • 19. Classificatie: vertrouwelijk Update Deployment Pipeline • Target the right Environment • Deploy the right [version of the] my-server.zip Artifact APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 19
  • 20. Classificatie: vertrouwelijk Update Deployment Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 20
  • 21. Classificatie: vertrouwelijk Update Deployment Pipeline - Parameter APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 21
  • 22. Classificatie: vertrouwelijk Update Deployment Pipeline - Parameter APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 22
  • 23. Classificatie: vertrouwelijk Deployment Specification APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 23
  • 24. Classificatie: vertrouwelijk Deployment Specification APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 24
  • 25. Classificatie: vertrouwelijk Run Deployment Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 25
  • 26. Classificatie: vertrouwelijk When Deployment is Complete … APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 26
  • 27. Classificatie: vertrouwelijk Requirements (not shown in demo) APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 27 Compute Instance Run Command and Management Agent plugins enabled on Compute Instance Cloud Agent Deployment Pipeline has IAM permissions for operations on VM Dynamic Group includes pipeline, Policy grant permissions to group subnet allows incoming network traffic from public internet to port 8095 Network Security List Ingress Rule is defined configure firewall on VM – open up port 8085
  • 28. Classificatie: vertrouwelijk OCI DevOps Projects APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 28 generic artifact registry container image registry Environment DevOps Project
  • 29. Classificatie: vertrouwelijk OCI DevOps Projects APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 29 DevOps Project generic artifact registry container image registry Environment build server VM
  • 30. Classificatie: vertrouwelijk OCI DevOps Container Image Registry • Container [Image] Registry • Store for tagged Container Images • Docker Registry compliant • Public and private container images • Can be published to by Build Pipeline • Read from by Deployment Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 30
  • 31. Classificatie: vertrouwelijk OCI DevOps [Generic] Artifact Registry • Registry for any type of file • Organized in Repositories • Files can be uploaded and downloaded through OCI Console • Can be published to by Build Pipeline • Read from by Deployment Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 31
  • 32. Classificatie: vertrouwelijk OCI DevOps Code Repository • git style • accessible from any git client • can be a mirror from external repository • synched from GitHub, GitLab, BitBucket • only storage costs are charged • simple read only UI in OCI Console APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 32
  • 33. Classificatie: vertrouwelijk Build • Objective: Produce deployable artifacts • after running linting, code QA, tests • Requirements • automated, repeatable, proven • triggerable from source code events • easy for software developer • integrated in OCI • source code, artifact & container registries, trigger deployment • logging, events, audit, IAM • cheap and plenty build server APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 33
  • 34. Classificatie: vertrouwelijk Build Server • Currently only one VM image • Oracle Linux 7, 1 OCPU, 8 GB RAM • Pre-installed tools and language environments • Bash, Maven, Gradle, Helm, git • Docker, Fn CLI, OCI CLI • Java, Python, Ruby, Node, Go, PHP • Build server has access to internet for download and installing additional tools, container images, git repositories • Planned: custom build server images • Note: build server compute costs are charged - for the time the server is active APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 34 DevOps Project build server VM
  • 35. Classificatie: vertrouwelijk Build Pipeline • Multiple stages – sequential or parallel • Four types of stage: • Managed Build – run script on build server • Deliver Artifact – publish files / container images • Trigger Deployment Pipeline • Wait • Triggered by • Event in source code repository • Humanual action • API call • Parameters can be associated with build pipeline • optionally set for each run to override default values • used in build specification script and in artifact reference • passed to triggered deployment pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 35
  • 36. Classificatie: vertrouwelijk Managed Build Stage • Retrieve sources from one or more repositories to the build server • Execute steps in build specification yaml file • part of source code repository • contains Linux Shell commands • Designated files produced by stage are available as output • to be published to artifact registry APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 36 build server VM output (zip-file, json- document, container image) build specification yaml file DevOps Project
  • 37. Classificatie: vertrouwelijk Managed Build Stage (2) • Build Pipeline parameters are available when build server runs • values from Vault Secrets can be pulled in at build run time • Note: build server runs under resource principal authentication • inheriting IAM permissions from Dynamic Group • example: invoke function, run OCI CLI or Terraform with OCI provider APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 37 DevOps Project build server VM output (zip-file, json- document, container image) build specification yaml file Dynamic Group para meters para meters
  • 38. Classificatie: vertrouwelijk Demo • Source code for my-server.go app in Code Repository is starting point • including build-specification.yaml • Build pipeline • parameter for artifact version • 1. managed build stage – associated with code repository [path] • compile, lint, code QA, test, build to executable, package to zip archive • 2. publish artifact stage – upload zip-file to artifact registry • 3. trigger deployment pipeline stage – start deployment to Compute Instance APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 38 DevOps Project generic artifact registry build server VM parameter parameter 1 2 3
  • 39. Classificatie: vertrouwelijk Source Code Repository APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 39
  • 40. Classificatie: vertrouwelijk Build Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 40
  • 41. Classificatie: vertrouwelijk Managed Build Stage APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 41
  • 42. Classificatie: vertrouwelijk Build Specification (1) APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 42
  • 43. Classificatie: vertrouwelijk Build Specification (2) APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 43 Create Archive Build Executable Run Unit Tests Lint source code Format Go source code Install golangci-lint on build server Run go mod tidy Run go vet Define output from build stage
  • 44. Classificatie: vertrouwelijk Publish Artifact Stage APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 44 parameter
  • 45. Classificatie: vertrouwelijk Publish Artifact Stage APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 45 parameter parameter
  • 46. Classificatie: vertrouwelijk Run Build Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 46 APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 46 DevOps Project generic artifact registry build server VM my-server.zip:4.10
  • 47. Classificatie: vertrouwelijk Run Build Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 47
  • 48. Classificatie: vertrouwelijk Run Build Pipeline APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 48
  • 49. Classificatie: vertrouwelijk Run Build Pipeline – Publish Artifact (with version derived from parameter) APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 49 generic artifact registry my-server.zip:4.10
  • 50. Classificatie: vertrouwelijk Run Build Pipeline – Trigger Deployment Pipeline (pass build line parameters) APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 50 parameter parameter
  • 51. Classificatie: vertrouwelijk Managed Build Stage • Can invoke OCI ADM (Application Dependency Management) – to analyze vulnerabilities in application (GA May 2022) • Can build container images – that “publish artifact” pulls from local container image registry on build server • Infrastructure as Code – on OCI resources • Can run OCI CLI commands • Can [install Terraform and] apply Terraform plans OCI provider • Can run any Linux shell job • Multiple manage build stages can be included in one build pipeline • build-specification files for generic actions can be reused across pipelines • for example: build-spec for exposing a service through OCI API Gateway APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 51
  • 52. Classificatie: vertrouwelijk Finale • Automation is important • proven, repeatable, triggered, secure, fast/at any time, fewer skills required • OCI DevOps provides automation • of software build • of software deployment to OCI runtime platforms • Embedded in OCI • IAM, logging, events, code repository and artifact registry • console, CLI, REST API, Terraform • Young service – quickly growing • Free or Cheap APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps 52 DevOps Project Environment build server VM
  • 53. Classificatie: vertrouwelijk Thank you for your attention I hope this was useful APAC OCI Days 2022 - Automation of Software Engineering with OCI DevOps lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema 53

Editor's Notes

  1. Automation of Software Engineering with OCI DevOps Build and Deployment Pipelines Automation of software delivery has several advantages. Prevention of human error is certainly one. Consistent and complete execution of tried and tested build and deployment tasks as the only way to apply changes in the live environment. Once the pipelines have been set up, the engineers can focus on the software and applying the required changes to it. To bring that software all the way to production is a breeze. Oracle Cloud Infrastructure offers the DevOps service, introduced in the Summer of 2021. This service comes with git style code repositories, build servers and build pipelines, artifact repositories as well as deployment pipelines.  This session introduces OCI DevOps and demonstrates how software can be built and deployed on OKE Kubernetes, Compute Instance VMs and Oracle Functions. From simple source code an application is put in production without manual intervention in the build and deployment process.
  2. https://docs.oracle.com/en-us/iaas/Content/devops/using/runtime_details.htm