SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Infrastructure as Software
Declare cloud infrastructure using real languages. Enable
developers and operators to work better together.
Paul Stack (@stack72/paul@pulumi.com)
Pulumi Engineer
June 2020
Cloud Transition
Kubernetes
Amazon
LambdaAWS S3
Azure
Analytics
Google ML
MySQL
DataDog
App
Docker
DataDog
New Relic
App
MySQL
v1 v2 v3
FIRST WAVE
Mostly Static
N-Tier Apps
VMs
Private Cloud
TRANSITIONAL
Partly Dynamic
Less Monolithic
VMs and Containers*
Hybrid - Public/Private
*Experimentation
MODERN
Fully Dynamic
Hyper-Connected Services
Containers and Serverless
Mostly Public Cloud
2
What is Infrastructure as Code
● Eliminate manual error-prone
provisioning and changes
● Bring software best practices to
infrastructure management
● Gain visibility of changes through
code reviews and previews
Why Infrastructure as Code
● Automated and repeatable
deployments
● Decreased time-to-market for new
applications and ongoing
maintenance
● Safe predictable changes
Modern Infrastructure as Code
5
CREATE
● Real languages
● Share and reuse abstractions
● Use your favorite tools (IDE, testing, etc)
DEPLOY
● Preview changes
● Flexible CLI for Dev and Ops familiarity
● Integrate into CI/CD workflows
MANAGE
● Audit all changes
● Managed complex environments
● Implement policies and controls
1
2
3
PULUMI CONFIDENTIAL
Bring Software Development
Practices to Infrastructure
Infrastructure as Code Software
6
Use semantic versioning, testing, and code
review development practices for all aspects
of your cloud software.
Eliminate slow error-prone manual changes
and bring automation and repeatability to
infrastructure management.
Enforce best practices using abstractions and
reuse -- no more copy and paste.
Modern Infrastructure Frameworks
FOUNDATION
PROVIDERS
Unopinionated support
for all clouds and their
resources.
Containers Serverless Infrastructure
BEST PRACTICES
FRAMEWORKS
Create modern cloud
software using best
practices.
PRODUCTIVITYCONTROL
7
PATTERNS
LIBRARIES
Cloud-specific libraries
for common patterns
and practices.
PULUMI CONFIDENTIAL
Deploy Code from/to Anywhere
8
SOURCE CODE LANGUAGES CI/CD ENVIRONMENTS
Infrastructure as Code
Applications
Any Language
This box is to provide a consistent background for variable
width code snippets.
Use a consistent object model for all resource
types without needing to know the underlying
API operations needed to create and manage
the resources.
Define the final end state of
your resources.
Resource Definitions
9
Pulumi lets you define the final
configuration state of your resources and
knows the steps to get there.
This box is to provide a consistent background for variable
width code snippets.
The full functionality of programming
languages brought to Infrastructure as Code.
Create Infrastructure Using
Real Programming Features
Conditionals and Loops
10
Pulumi lets you program your infrastructure
just like the rest of your applications with
the expressiveness and flexibility of real
programming languages.
In this example, we provision a VPC and public
subnets only if we’ve defined CIDR blocks for
them in our configuration.
This box is to provide a consistent background for variable
width code snippets.
Mix Kubernetes, Cloud, and
Custom Resources
A consistent programming model, tools, and
workflow for deploying and managing IaaS,
PaaS, SaaS, and custom resources.
Multi-Provider Workflows
11
Pulumi makes it possible to declare and
manage resources for multiple
infrastructure services in a single Pulumi
application.
In this example, we provision an AWS S3
bucket and use it with a Kubernetes cluster.
This box is to provide a consistent background for variable
width code snippets.
Build and Share Reusable
Components
Compose resources into an architecture that
fits your company’s requirements and then
share that across teams.
Reusability
12
Pulumi applications are real software
projects that can be re-distributed through
typical package managers.
In this example, we provision a Jenkins cluster
from a module from our internal software
repository.
This box is to provide a consistent background for variable
width code snippets.
Enable Advanced
DevOps Strategies
Advanced Orchestration
13
Pulumi enables previously difficult or
impossible deployment scenarios for
real-world Kubernetes environments.
In this example, we check Prometheus for
healthy metrics before proceeding to deploy to
our Production cluster.
Incorporate data from monitoring services into
deployment procedures.
Use familiar frameworks and
techniques to test infrastructure
Test Driven Infrastructure
14
Teams can perform unit, integration, and
runtime testing, fully integrated into your
development and CI/CD workflows.
No need to master a new set of tools -- reuse
what you and your team already knows.
PULUMI CONFIDENTIAL
Secrets Management
Built-in encrypted secrets management and configuration.
$ pulumi config set --secret dbPassword 2u%^JAEf*L6.?2}G
Easy to store and use deployment-time secrets safely.
Strong encryption for all state, ensuring secrets won’t leak.
Use built-in Pulumi KMS, or choose seamless integration from leading providers.
15
KMS
PULUMI CONFIDENTIAL
16
17
pulumi login --cloud-url s3://my-bucket
Demo time!
Let’s program the cloud!
18
In Conclusion
The Easiest Way to Program the Cloud
Thank You
https://www.pulumi.com/
paul@pulumi.com
@Stack72
20

Weitere ähnliche Inhalte

Was ist angesagt?

OpenShift Application Development | DO288 | Red Hat OpenShift
OpenShift Application Development | DO288 | Red Hat OpenShiftOpenShift Application Development | DO288 | Red Hat OpenShift
OpenShift Application Development | DO288 | Red Hat OpenShiftGlobal Knowledge Technologies
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferVMware Tanzu
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft CloudKangaroot
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017Rodolfo Carvalho
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshiftMamathaBusi
 
Managing kubernetes deployment with operators
Managing kubernetes deployment with operatorsManaging kubernetes deployment with operators
Managing kubernetes deployment with operatorsCloud Technology Experts
 
Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous DeliveryMohammad Bilal Wahla
 
Deploying OpenShift Container Platform on AWS by Red Hat
Deploying OpenShift Container Platform on AWS by Red HatDeploying OpenShift Container Platform on AWS by Red Hat
Deploying OpenShift Container Platform on AWS by Red HatAmazon Web Services
 
Pulumi iac on gcp
Pulumi iac on gcpPulumi iac on gcp
Pulumi iac on gcpVishwas N
 
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveSanjeev Rampal
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentalsVictor Morales
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesWojciech Barczyński
 
Getting Started with Kafka on k8s
Getting Started with Kafka on k8sGetting Started with Kafka on k8s
Getting Started with Kafka on k8sVMware Tanzu
 
CNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift OverviewCNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift OverviewSumit Shatwara
 
Persistent Storage for stateful applications on Kubernetes made easy with Ope...
Persistent Storage for stateful applications on Kubernetes made easy with Ope...Persistent Storage for stateful applications on Kubernetes made easy with Ope...
Persistent Storage for stateful applications on Kubernetes made easy with Ope...MayaData Inc
 
App Mod 02: A developer intro to open shift
App Mod 02: A developer intro to open shiftApp Mod 02: A developer intro to open shift
App Mod 02: A developer intro to open shiftJudy Breedlove
 

Was ist angesagt? (20)

OpenShift Application Development | DO288 | Red Hat OpenShift
OpenShift Application Development | DO288 | Red Hat OpenShiftOpenShift Application Development | DO288 | Red Hat OpenShift
OpenShift Application Development | DO288 | Red Hat OpenShift
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017
 
Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshift
 
Managing kubernetes deployment with operators
Managing kubernetes deployment with operatorsManaging kubernetes deployment with operators
Managing kubernetes deployment with operators
 
Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous Delivery
 
Deploying OpenShift Container Platform on AWS by Red Hat
Deploying OpenShift Container Platform on AWS by Red HatDeploying OpenShift Container Platform on AWS by Red Hat
Deploying OpenShift Container Platform on AWS by Red Hat
 
Pulumi iac on gcp
Pulumi iac on gcpPulumi iac on gcp
Pulumi iac on gcp
 
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentals
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with Kubernetes
 
12 Factor App
12 Factor App12 Factor App
12 Factor App
 
K8s debugging talk
K8s debugging talkK8s debugging talk
K8s debugging talk
 
Getting Started with Kafka on k8s
Getting Started with Kafka on k8sGetting Started with Kafka on k8s
Getting Started with Kafka on k8s
 
CNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift OverviewCNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift Overview
 
Persistent Storage for stateful applications on Kubernetes made easy with Ope...
Persistent Storage for stateful applications on Kubernetes made easy with Ope...Persistent Storage for stateful applications on Kubernetes made easy with Ope...
Persistent Storage for stateful applications on Kubernetes made easy with Ope...
 
App Mod 02: A developer intro to open shift
App Mod 02: A developer intro to open shiftApp Mod 02: A developer intro to open shift
App Mod 02: A developer intro to open shift
 

Ähnlich wie stackconf 2020 | Infrastructure as Software by Paul Stack

DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectPatrick Chanezon
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Phil Estes
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...VMware Tanzu
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeRobert van Mölken
 
Meet Puppet's new product lineup 12/7/2017
Meet Puppet's new product lineup 12/7/2017Meet Puppet's new product lineup 12/7/2017
Meet Puppet's new product lineup 12/7/2017Puppet
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformDevOps Indonesia
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemKarthikeyanSambandam2
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Pivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First LookPivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First LookVMware Tanzu
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview VMware Tanzu
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1G R VISHAL
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
OCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes LaunchOCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes LaunchPT Datacomm Diangraha
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentationProdops.io
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020prafulIQBusiness
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
 

Ähnlich wie stackconf 2020 | Infrastructure as Software by Paul Stack (20)

DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
 
Meet Puppet's new product lineup 12/7/2017
Meet Puppet's new product lineup 12/7/2017Meet Puppet's new product lineup 12/7/2017
Meet Puppet's new product lineup 12/7/2017
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud Platform
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystem
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Pivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First LookPivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First Look
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
OCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes LaunchOCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes Launch
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
Why containers
Why containersWhy containers
Why containers
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentation
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 

Kürzlich hochgeladen

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
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
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
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
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 

Kürzlich hochgeladen (20)

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
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...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
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...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

stackconf 2020 | Infrastructure as Software by Paul Stack

  • 1. Infrastructure as Software Declare cloud infrastructure using real languages. Enable developers and operators to work better together. Paul Stack (@stack72/paul@pulumi.com) Pulumi Engineer June 2020
  • 2. Cloud Transition Kubernetes Amazon LambdaAWS S3 Azure Analytics Google ML MySQL DataDog App Docker DataDog New Relic App MySQL v1 v2 v3 FIRST WAVE Mostly Static N-Tier Apps VMs Private Cloud TRANSITIONAL Partly Dynamic Less Monolithic VMs and Containers* Hybrid - Public/Private *Experimentation MODERN Fully Dynamic Hyper-Connected Services Containers and Serverless Mostly Public Cloud 2
  • 3. What is Infrastructure as Code ● Eliminate manual error-prone provisioning and changes ● Bring software best practices to infrastructure management ● Gain visibility of changes through code reviews and previews
  • 4. Why Infrastructure as Code ● Automated and repeatable deployments ● Decreased time-to-market for new applications and ongoing maintenance ● Safe predictable changes
  • 5. Modern Infrastructure as Code 5 CREATE ● Real languages ● Share and reuse abstractions ● Use your favorite tools (IDE, testing, etc) DEPLOY ● Preview changes ● Flexible CLI for Dev and Ops familiarity ● Integrate into CI/CD workflows MANAGE ● Audit all changes ● Managed complex environments ● Implement policies and controls 1 2 3 PULUMI CONFIDENTIAL
  • 6. Bring Software Development Practices to Infrastructure Infrastructure as Code Software 6 Use semantic versioning, testing, and code review development practices for all aspects of your cloud software. Eliminate slow error-prone manual changes and bring automation and repeatability to infrastructure management. Enforce best practices using abstractions and reuse -- no more copy and paste.
  • 7. Modern Infrastructure Frameworks FOUNDATION PROVIDERS Unopinionated support for all clouds and their resources. Containers Serverless Infrastructure BEST PRACTICES FRAMEWORKS Create modern cloud software using best practices. PRODUCTIVITYCONTROL 7 PATTERNS LIBRARIES Cloud-specific libraries for common patterns and practices. PULUMI CONFIDENTIAL
  • 8. Deploy Code from/to Anywhere 8 SOURCE CODE LANGUAGES CI/CD ENVIRONMENTS Infrastructure as Code Applications Any Language
  • 9. This box is to provide a consistent background for variable width code snippets. Use a consistent object model for all resource types without needing to know the underlying API operations needed to create and manage the resources. Define the final end state of your resources. Resource Definitions 9 Pulumi lets you define the final configuration state of your resources and knows the steps to get there.
  • 10. This box is to provide a consistent background for variable width code snippets. The full functionality of programming languages brought to Infrastructure as Code. Create Infrastructure Using Real Programming Features Conditionals and Loops 10 Pulumi lets you program your infrastructure just like the rest of your applications with the expressiveness and flexibility of real programming languages. In this example, we provision a VPC and public subnets only if we’ve defined CIDR blocks for them in our configuration.
  • 11. This box is to provide a consistent background for variable width code snippets. Mix Kubernetes, Cloud, and Custom Resources A consistent programming model, tools, and workflow for deploying and managing IaaS, PaaS, SaaS, and custom resources. Multi-Provider Workflows 11 Pulumi makes it possible to declare and manage resources for multiple infrastructure services in a single Pulumi application. In this example, we provision an AWS S3 bucket and use it with a Kubernetes cluster.
  • 12. This box is to provide a consistent background for variable width code snippets. Build and Share Reusable Components Compose resources into an architecture that fits your company’s requirements and then share that across teams. Reusability 12 Pulumi applications are real software projects that can be re-distributed through typical package managers. In this example, we provision a Jenkins cluster from a module from our internal software repository.
  • 13. This box is to provide a consistent background for variable width code snippets. Enable Advanced DevOps Strategies Advanced Orchestration 13 Pulumi enables previously difficult or impossible deployment scenarios for real-world Kubernetes environments. In this example, we check Prometheus for healthy metrics before proceeding to deploy to our Production cluster. Incorporate data from monitoring services into deployment procedures.
  • 14. Use familiar frameworks and techniques to test infrastructure Test Driven Infrastructure 14 Teams can perform unit, integration, and runtime testing, fully integrated into your development and CI/CD workflows. No need to master a new set of tools -- reuse what you and your team already knows. PULUMI CONFIDENTIAL
  • 15. Secrets Management Built-in encrypted secrets management and configuration. $ pulumi config set --secret dbPassword 2u%^JAEf*L6.?2}G Easy to store and use deployment-time secrets safely. Strong encryption for all state, ensuring secrets won’t leak. Use built-in Pulumi KMS, or choose seamless integration from leading providers. 15 KMS PULUMI CONFIDENTIAL
  • 16. 16
  • 17. 17 pulumi login --cloud-url s3://my-bucket
  • 18. Demo time! Let’s program the cloud! 18
  • 19. In Conclusion The Easiest Way to Program the Cloud