This document compares Terraform and Pulumi infrastructure as code tools. It provides overviews of each tool, including what they are, how they work, and why to use them. For Terraform, it describes it as an IaC tool that defines cloud and on-premise resources in configuration files. For Pulumi, it notes it uses familiar programming languages for IaC. The document also compares key differences like syntax, testing, structuring large projects, and state file troubleshooting. It ends with best practices for both tools.
Watch this presentation and learn all about Microservices.
*Flannel, Weave, IPVLAN, MacVLAN and how they fit together with Docker, Swarm or Kubernetes
*How containers communicate with each other
*How the choice of Networking Interface impacts router and switch deployment in the Data Center
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Jonas Hecht
There's a new Infrastructure-as-Code (IaC) kid on the block: Pulumi is there to frighten the established: Chef, Puppet, Terraform, Cloudformation, Ansible... But is it really the "better" tool and how could they be compared? Is it only hype-driven? We'll find out, incl. lot's of example code. (ContainerConf / Continuous Lifecycle 2019 Talk in Mannheim)
Example GitHub code: https://github.com/jonashackt/pulumi-python-aws-ansible
https://github.com/jonashackt/pulumi-typescript-aws-fargate
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
Kubernetes advanced sheduling
- Taint and tolerant
- Affinity (Node & inter pod)
Learn how to place Pod like (same or different) node, rack, zone, region
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...HostedbyConfluent
Kafka organizes data as immutable append-only logs at its core, and relied on external consensus services (a.k.a. Zookeeper) to manage the metadata --- such as topic-level configs, leader replicas and ISR information, received admin requests --- of these logs. In this talk, I will discuss a recent core initiative, that migrates the management of such metadata from external services into Kafka as its own special logs. More specifically, I will cover the following:
1. Why we believe an internal consensus protocol provides Kafka more benefit than an external consensus service.
2. Why we choose to build this internal "metadata log" based on the Raft protocol, instead of Kafka's current leader-follower replication mechanism.
3. What are the key design decisions we made in its implementation, and how it is different from the standard Raft algorithm (KIP-595).
4. How this Raft-based metadata log is leveraged by the new Quorum Controller (KIP-500).
Comparing Next-Generation Container Image Building ToolsAkihiro Suda
http://sched.co/EaYe
Until recently, running `docker build` against Dockerfile had been the only way to build container images.
However, lots of opensource software are being proposed as successors/alternatives to `docker build`:
- BuildKit (Moby Project / Docker)
- img (Jessica Frazelle / Microsoft)
- Buildah (Project Atomic / Red Hat)
- umoci & Orca (SUSE)
- Bazel (Google)
- OpenShift S2I (Red Hat)
Akihiro Suda compares these new tools' advantages and disadvantages.
His evaluation basis would include but not be limited to:
- Performance (Cache efficiency, Concurrency, Distributed Execution)
- Secret management, e.g. SSH and AWS keys
- Support for non-Dockerfile
- Non-root execution
- UI & UX
- Governance of the community
He also proposes a unified interface for using these tools with Kubernetes in a vendor-neutral way.
OpenShift is Red Hat's Platform-as-a-Service (PaaS) that lets developers quickly develop, host, and scale Docker container-based applications. OpenShift enables a uniform and standardised approach to container management across all hosting options including AWS/EC2 and other private/public cloud and on/off-premise variants. At this session, you will learn how Red Hat's enterprise clients are using OpenShift to enable their digital transformation initiatives. Examples will cover how realising a hybrid cloud strategy can simplify and reduce the risk of migrating and transitioning application workloads to containers in the cloud.
Alex Smith, Solutions Architect, Amazon Web Services, ASEAN
Stephen Bylo, Senior Solution Architect, Red Hat Asia Pacific Pte Ltd
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Watch this presentation and learn all about Microservices.
*Flannel, Weave, IPVLAN, MacVLAN and how they fit together with Docker, Swarm or Kubernetes
*How containers communicate with each other
*How the choice of Networking Interface impacts router and switch deployment in the Data Center
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Jonas Hecht
There's a new Infrastructure-as-Code (IaC) kid on the block: Pulumi is there to frighten the established: Chef, Puppet, Terraform, Cloudformation, Ansible... But is it really the "better" tool and how could they be compared? Is it only hype-driven? We'll find out, incl. lot's of example code. (ContainerConf / Continuous Lifecycle 2019 Talk in Mannheim)
Example GitHub code: https://github.com/jonashackt/pulumi-python-aws-ansible
https://github.com/jonashackt/pulumi-typescript-aws-fargate
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
Kubernetes advanced sheduling
- Taint and tolerant
- Affinity (Node & inter pod)
Learn how to place Pod like (same or different) node, rack, zone, region
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...HostedbyConfluent
Kafka organizes data as immutable append-only logs at its core, and relied on external consensus services (a.k.a. Zookeeper) to manage the metadata --- such as topic-level configs, leader replicas and ISR information, received admin requests --- of these logs. In this talk, I will discuss a recent core initiative, that migrates the management of such metadata from external services into Kafka as its own special logs. More specifically, I will cover the following:
1. Why we believe an internal consensus protocol provides Kafka more benefit than an external consensus service.
2. Why we choose to build this internal "metadata log" based on the Raft protocol, instead of Kafka's current leader-follower replication mechanism.
3. What are the key design decisions we made in its implementation, and how it is different from the standard Raft algorithm (KIP-595).
4. How this Raft-based metadata log is leveraged by the new Quorum Controller (KIP-500).
Comparing Next-Generation Container Image Building ToolsAkihiro Suda
http://sched.co/EaYe
Until recently, running `docker build` against Dockerfile had been the only way to build container images.
However, lots of opensource software are being proposed as successors/alternatives to `docker build`:
- BuildKit (Moby Project / Docker)
- img (Jessica Frazelle / Microsoft)
- Buildah (Project Atomic / Red Hat)
- umoci & Orca (SUSE)
- Bazel (Google)
- OpenShift S2I (Red Hat)
Akihiro Suda compares these new tools' advantages and disadvantages.
His evaluation basis would include but not be limited to:
- Performance (Cache efficiency, Concurrency, Distributed Execution)
- Secret management, e.g. SSH and AWS keys
- Support for non-Dockerfile
- Non-root execution
- UI & UX
- Governance of the community
He also proposes a unified interface for using these tools with Kubernetes in a vendor-neutral way.
OpenShift is Red Hat's Platform-as-a-Service (PaaS) that lets developers quickly develop, host, and scale Docker container-based applications. OpenShift enables a uniform and standardised approach to container management across all hosting options including AWS/EC2 and other private/public cloud and on/off-premise variants. At this session, you will learn how Red Hat's enterprise clients are using OpenShift to enable their digital transformation initiatives. Examples will cover how realising a hybrid cloud strategy can simplify and reduce the risk of migrating and transitioning application workloads to containers in the cloud.
Alex Smith, Solutions Architect, Amazon Web Services, ASEAN
Stephen Bylo, Senior Solution Architect, Red Hat Asia Pacific Pte Ltd
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeRobert van Mölken
As more and more application deployments move to the cloud the scale and complexity becomes harder to manage. Instead of a handful of large instances, you might have many smaller instances, so there are many more things you need to provision. Because of this cloud vendors provide API abstraction of their compute, storage, network and other platform services. In this talk I present a guide to provision these services, such as a Kubernetes cluster, using infrastructure as code and deploy your applications through cloud-native build pipelines. Get to know the concepts behind these DevOps practices and come hear which tools to use like Terraform and Oracle Container Pipelines to automate these laborious tasks on the Oracle Cloud Infrastructure.
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...James Anderson
Infrastructure as Code (IaC) is a concept that has been around for a while now and much research has been done to not only prove out the value but also how to enhance IaC implementations. We have a full guest list including Steve Cravens, who can speak to the school of hard knocks of why IaC is important. Stenio Ferreira, who prior to Google worked at Hashicorp and has vast experience on how to successfully implement IaC with Terraform. Lastly, Josh Addington, who is an Sr. Solutions Engineer at Hashicorp and will be speaking to the Day 2 operations as well as other offerings that can enhance IaC implementations.
Here is the high level overview:
• IaC overview
• Terraform Tactical
• IaC day 2 and Governance
A case study why Zoominfo uses Terraform Cloud in high-scale environment. Tal Hibner
We hosted Tal Hibner, Senior DevOps Engineer from ZoomInfo, and he shared a case study why they use Terraform Cloud in high-scale environment. To get the summary, full recording and transcription visit here: https://www.almtoolbox.com/blog_he/terraform-cloud-webinar-zoominfo/
How do you grapple with a legacy portfolio? What strategies do you employ to get an application to cloud native?
How do you grapple with a legacy portfolio? What strategies do you employ to get an application to cloud native?
This talk will cover tools, process and techniques for decomposing monolithic applications to Cloud Native applications running on Pivotal Cloud Foundry (PCF). The webinar will build on ideas from seminal works in this area: Working Effectively With Legacy Code and The Mikado Method. We will begin with an overview of the technology constraints of porting existing applications to the cloud, sharing approaches to migrate applications to PCF. Architects & Developers will come away from this webinar with prescriptive replatforming and decomposition techniques. These techniques offer a scientific approach for an application migration funnel and how to implement patterns like Anti-Corruption Layer, Strangler, Backends For Frontend, Seams etc., plus recipes and tools to refactor and replatform enterprise apps to the cloud. Go beyond the 12 factors and see WHY Cloud Foundry is the best place to run any app - cloud native or non-cloud native.
Speakers: Pieter Humphrey, Principal Product Manager; Pivotal
Rohit Kelapure, PCF Advisory Solutions Architect; Pivotal
Hungry for more? Check out this blog from Kenny Bastani:
http://www.kennybastani.com/2016/08/strangling-legacy-microservices-spring-cloud.html
Reproducibility in artificial intelligenceCarlos Toxtli
In this presentation, we explore how artificial intelligence experiments can be reproduced by implementing three different approaches such as: Reproducibility frameworks, Reproducible benchmarking tools, and Reproducible standalone methods.
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...Puppet
Here are the slides from Diane Mueller and Daniel Dreier's PuppetConf 2016 presentation called Using Puppet with Kubernetes and OpenShift. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
by Luca Della Giovanna - Come to IBM Code Lab and grab the opportunity to get hand-on experience with Bluemix, the next generation open-standards, cloud-based platform for building, managing, and running your apps, of all types. At Code Lab you can explore the world of infinite possibilities Bluemix supplies to mobile and back-end development and application monitoring, as well as for web, mobile, big data, and smart devices. Our knowledgeable staff will lead you through Boilerplates, Java runtimes, and all features from a rich ecosystem of partners and open source projects — all provided as-a-service in the cloud.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
4. Copyright by DevOps Services Center 2022
What is Terraform?
Terraform is an infrastructure as code tool that lets you define both cloud and on-premise
resources in human-readable configuration files.
Terraform facts:
- Created by HashiCorp
- Initial release: 28 July 2014
- Stable release v1.1.7 (March 02, 2022)
- Repository: https://github.com/hashicorp/terraform
- Written in Go
- License: Mozilla Public License v2.0
- Website: www.terraform.io
5. Copyright by DevOps Services Center 2022
How does Terraform work?
Source: https://geekflare.com
Terraform has two main components that make up its architecture:
• Terraform Core
• Providers
6. Copyright by DevOps Services Center 2022
How does Terraform work?
The core Terraform workflow has three
steps:
1. Write - Author infrastructure as code.
2. Plan - Preview changes before applying.
3. Apply - Provision reproducible
infrastructure.
Source: https://terraform.io
7. Copyright by DevOps Services Center 2022
Why Terraform?
• It’s a great tool that is easy to use.
• It has many providers, including AWS, GCP, Azure, Kubernetes.
• It allows you to create reusable modules.
9. Copyright by DevOps Services Center 2022
What is Pulumi?
Pulumi is an open source infrastructure as code
tool for creating, deploying, and managing
cloud infrastructure.
Pulumi was established at 2018 and able to works with traditional infrastructure like VMs, networks,
and databases, in addition to modern architectures, including containers, Kubernetes clusters, and
serverless functions.
Pulumi supports dozens of public, private, and hybrid cloud service providers.
10. Copyright by DevOps Services Center 2022
How does Pulumi work?
• You write a Pulumi Program which
is executed by a language host.
• You handover that Program to
the Engine (using the Pulumi CLI).
• The engine compares the desired
state of your infrastructure with
the stack's current state and
figures out the needed changes.
• The engine then uses resource
providers to manage the
resources.
11. Copyright by DevOps Services Center 2022
Pulumi components
• Programs reside in a project, which is a directory that contains source code for the program and metadata
on how to run the program.
• Stacks are similar to different deployment environments that you use when testing and rolling out
application updates.
12. Copyright by DevOps Services Center 2022
Why Pulumi?
• Using familiar languages (JS,TS, Python, Go, C#, F#) for infrastructure as code, you get
many benefits: IDEs, abstractions including functions, classes, and packages, existing
debugging and testing tools, and more.
• Greater productivity with far less copy and paste, and it works the same way no matter
which cloud you're targeting.
14. Copyright by DevOps Services Center 2022
Terraform vs. Pulumi/ Users and Providers
Users
Resource
support
Terraform
Suitable for many roles: Developers,
DevOps Engineers, System Admin,…
especially Developers with System admin
background who prefer to use because of
its easy-to-read, easy-to-write syntax.
1945 providers, 8673 modules & counting
Support:
• IaaS: AWS, Azure, GCP, Alibaba Cloud
• PaaS: K8S, heroku
• SaaS: Fastly, Clouldflare
• On-premise: Openstack, VMWare
vSphere
Pulumi
Suitable for Developers who have
working experiences with Cloud platform
and take advantage of working with
Cloud by API.
82 providers included: cloud, database,
infrastructure, monitoring, network,
utility, version control,...
15. Copyright by DevOps Services Center 2022
Terraform vs. Pulumi/ Syntax
HashiCorp's Language with .tf extension
16. Copyright by DevOps Services Center 2022
Terraform vs. Pulumi/ Syntax
dotNet ( C#, F#), Python, JS, Golang
Regular Python Python Programming Language
with .py extension
17. Copyright by DevOps Services Center 2022
Terraform VS. Pulumi/ Testing source code
Unit test
Configuration parsing:
terraform fmt –check
terraform validate
Plan representation
terraform plan
Intergation test
• terratest
• kitchen-terraform
• inspec
Tool
Deploy/
Destroy
Validate Work with
Terratest Yes Yes
Terraform, K8S, Docker,
Packer, Server, Cloud APIs
kitchen-terraform Yes Yes Terraform
inspec No Yes Servers, Cloud APIs
Custome validation rule
18. Copyright by DevOps Services Center 2022
Terraform VS. Pulumi/ Testing source code
- Pulumi uses general
purpose programming
languages to provision
cloud resources.
- Pulumi provides
multiple testing styles
for cloud programs: UT,
IT, ST,…
19. Copyright by DevOps Services Center 2022
Terraform VS. Pulumi/ Structuring Large Projects
- Organized into modules for reusability
- Separate each environment into its own folder or even an
entirely separate repository
Pulumi is written and used by API, and is
not a DSL, so the structure of the source
code will depend on the skill of the
developers.
20. Copyright by DevOps Services Center 2022
Terraform VS. Pulumi/ State File Troubleshooting
- Local state : terraform.tfstate
- Remote state: Terraform
Cloud, HashiCorp Consul, Amazon S3,
Azure Blob Storage, Google Cloud
Storage, Alibaba Cloud OSS, and more.
• terraform refresh // Update the state to match remote systems
• terraform import / Associate existing infrastructure with a Terraform resource
• terraform state (rm, mv) // Advanced state management
• Terraform plan/appy
Command:
21. Copyright by DevOps Services Center 2022
Terraform VS. Pulumi/ State File Troubleshooting
References: Pulumi CLI | Pulumi
Pulumi is controlled primarily using the command line interface (CLI).
It works in conjunction with the Pulumi service to deploy changes to your cloud apps and
infrastructure.
Common commands
pulumi new: creates a new project using a template
pulumi stack: manage your stacks (at least one is required to
perform an update)
pulumi config: configure variables such as keys, regions, and
so on
pulumi up: preview and deploy changes to your program
and/or infrastructure
pulumi preview: preview your changes explicitly before
deploying
pulumi destroy: destroy your program and its infrastructure
when you’re done
Some commands for file state
troubleshooting
pulumi preview - Show a preview of updates to a stack’s
resources
pulumi refresh - Refresh the resources in a stack
pulumi import - Import resources into an existing stack
22. Copyright by DevOps Services Center 2022
Terraform VS. Pulumi
Other Features Terraform Pulumi
Embedded within Application code No Yes
Import/ Convert other template to
Terraform/ Pulumi tools
No Yes
24. Copyright by DevOps Services Center 2022
Best practices
1. Define format before stating
• Coding structure
• Naming convention: resource block label, variable name,
• Follow your language code
25. Copyright by DevOps Services Center 2022
Best practices
1. Define format before stating
• Coding structure
• Naming convention: resource
block label, variable name,
• Follow your language code
26. Copyright by DevOps Services Center 2022
Best practices/Terraform
2. Operations
• Always plan first
• Use service principal credentials for CI
• Don’t modify state manually
3. Security
• Use remote state and encrypt state
• Don’t store secrets in state
• Make sensitive outputs
27. Copyright by DevOps Services Center 2022
Best practices/Terraform
1. Use for_each for iterated resources
31. Copyright by DevOps Services Center 2022
References
- https://cloud.google.com/docs/terraform/best-practices-for-terraform#general-style
- https://www.pulumi.com/blog/pulumi-recommended-patterns-the-basics/
- https://phoenixnap.com/blog/pulumi-vs-terraform
- DevOps series and more