SlideShare a Scribd company logo
Provisioning
Infrastructure To AWS
Using Terraform
Eero Lempiö
Introduction
So what is AWS?
Amazon Web Services, a subsidiary
of Amazon,
“offers reliable, scalable, and
inexpensive cloud computing
services”
A fancy way of saying “do
stuff in the cloud”
Broad range of services (over 160)
AWS services
Storage Compute Networking Database
S3 Lambda Api Gateway RDS
EFS EC2 Route 53 DynamoDB
... ... ... ...
Example
project
It needs to be:
● Authenticated
● Fetch and update customer
data
Implement a
REST API on
AWS
What we will need
● Lambda: Function as a service
○ The code for our API
● DynamoDB: AWS’s NoSQL database system
○ All of our data
● Api Gateway: Publish and maintain APIs
○ Connect to our Lambda and authenticate
● Route 53: Cloud Domain Name System
○ Routing to our Api Gateway from our domain
● IAM: Identity and Access Management
○ Manage access rights to the AWS-services in our use
But there is a
problem..
Graphical interfaces
So many interfaces...
Emerging issues
● At this point we need a complex readme for setup
● Changes require more clicking around in the
interface
● Deployment for different stages means redoing the
whole process
Who can save us now?
Terrafor
m
Terraform
● Infrastructure as code
● Define and provision infrastructure from files
● High-level configuration language
● Terraform will create an
execution plan based on
configuration files
● Terraform will adapt to
changes and create
incremental execution
plans which can be applied.
How does it work?
● We define our architecture
in modules
● Modules have input and
output values
○ Can be used for example to
control the deployment stage
with variables or to expose
parts of an other module
● Resource blocks describe
resources terraform will
create for us
● Data block reads from a
given source and exports
the data for our use
Structure of a module
With clever use of variables, we
can easily deploy to different
stages
● For example we can prefix
every resource with the
environment name
Deploying
And now we have
deployed !
Afterwords
Terraform can be difficult
● Something will break
● You will be angry
But it will all be worth it...
...with our finished API
FIN.

More Related Content

What's hot (20)

PDF
Planning WSO2 Deployments on Pivotal Cloud Foundry
Imesh Gunaratne
 
PDF
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Jeremy Eder
 
PDF
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
Jeremy Eder
 
PDF
Bitsy graph database
LambdaZen LLC
 
PPTX
DalmatinerDB and cockroachDB monitoring plataform
Leandro Totino Pereira
 
PDF
The Need For Speed - NEBytes
Phil Pursglove
 
PDF
Kubernetes Logging
Denys Havrysh
 
PDF
OpenStack Control Plane High Availability
Michael Solberg
 
PPTX
Helm3
Saiyam Pathak
 
PDF
cLoki: Like Loki but for ClickHouse
Altinity Ltd
 
PDF
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messages
LINE Corporation
 
PDF
Metrics driven development with dedicated Observability Team
LINE Corporation
 
PDF
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
ScyllaDB
 
PDF
Serverless Boston @ Oracle Meetup
Wayne Scarano
 
PDF
The Fn Project by Jesse Butler
Oracle Developers
 
PDF
Distributed Erlang Systems In Operation
Andy Gross
 
PDF
HBaseCon2017 Apache HBase at Didi
HBaseCon
 
PDF
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...
ClusterHQ
 
PDF
WSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2
 
PDF
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...
Jeremy Eder
 
Planning WSO2 Deployments on Pivotal Cloud Foundry
Imesh Gunaratne
 
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Jeremy Eder
 
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
Jeremy Eder
 
Bitsy graph database
LambdaZen LLC
 
DalmatinerDB and cockroachDB monitoring plataform
Leandro Totino Pereira
 
The Need For Speed - NEBytes
Phil Pursglove
 
Kubernetes Logging
Denys Havrysh
 
OpenStack Control Plane High Availability
Michael Solberg
 
cLoki: Like Loki but for ClickHouse
Altinity Ltd
 
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messages
LINE Corporation
 
Metrics driven development with dedicated Observability Team
LINE Corporation
 
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
ScyllaDB
 
Serverless Boston @ Oracle Meetup
Wayne Scarano
 
The Fn Project by Jesse Butler
Oracle Developers
 
Distributed Erlang Systems In Operation
Andy Gross
 
HBaseCon2017 Apache HBase at Didi
HBaseCon
 
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...
ClusterHQ
 
WSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2
 
LinuxCon NA 2016: When Containers and Virtualization Do - and Don’t - Work T...
Jeremy Eder
 

Similar to Provisioning infrastructure to AWS using Terraform – Exove (20)

PDF
Data Engineer's Lunch #77: Apache Arrow Flight SQL: A Universal Standard for ...
Anant Corporation
 
PDF
PyConIE 2017 Writing and deploying serverless python applications
Cesar Cardenas Desales
 
PPT
Building scalable and language-independent Java services using Apache Thrift ...
IndicThreads
 
PDF
Terraform Job Support.pdf
GSAIdigitalmarketing
 
PPT
Building scalable and language independent java services using apache thrift
Talentica Software
 
PDF
PyConIT 2018 Writing and deploying serverless python applications
Cesar Cardenas Desales
 
PPTX
Domain's Robot Army
domaingroup
 
PPTX
Unboxing ASP.NET Core
Kevin Leung
 
PDF
Maximizing Cloud Efficiency with Data Integration: AWS, Google Cloud, and Azure
ElizabethHamming
 
PDF
Serverless Compose vs hurtownia danych
The Software House
 
PPTX
Truemotion Adventures in Containerization
Ryan Hunter
 
PPTX
C++ by shantu
Shant007
 
PDF
Infrastructure Agnostic Machine Learning Workload Deployment
Databricks
 
PDF
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
Pôle Systematic Paris-Region
 
PPTX
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
AWS User Group Kochi
 
PDF
Terraforming your Infrastructure on GCP
Samuel Chow
 
PPTX
Funky serverless features at aws
Doug Winter
 
PDF
Infrastructure as Code
Albert Suwandhi
 
PDF
Open source Technology
Amardeep Vishwakarma
 
PPTX
The ABC's of IaC
Steven Pressman, CISSP
 
Data Engineer's Lunch #77: Apache Arrow Flight SQL: A Universal Standard for ...
Anant Corporation
 
PyConIE 2017 Writing and deploying serverless python applications
Cesar Cardenas Desales
 
Building scalable and language-independent Java services using Apache Thrift ...
IndicThreads
 
Terraform Job Support.pdf
GSAIdigitalmarketing
 
Building scalable and language independent java services using apache thrift
Talentica Software
 
PyConIT 2018 Writing and deploying serverless python applications
Cesar Cardenas Desales
 
Domain's Robot Army
domaingroup
 
Unboxing ASP.NET Core
Kevin Leung
 
Maximizing Cloud Efficiency with Data Integration: AWS, Google Cloud, and Azure
ElizabethHamming
 
Serverless Compose vs hurtownia danych
The Software House
 
Truemotion Adventures in Containerization
Ryan Hunter
 
C++ by shantu
Shant007
 
Infrastructure Agnostic Machine Learning Workload Deployment
Databricks
 
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
Pôle Systematic Paris-Region
 
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
AWS User Group Kochi
 
Terraforming your Infrastructure on GCP
Samuel Chow
 
Funky serverless features at aws
Doug Winter
 
Infrastructure as Code
Albert Suwandhi
 
Open source Technology
Amardeep Vishwakarma
 
The ABC's of IaC
Steven Pressman, CISSP
 
Ad

More from Exove (20)

PDF
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
PDF
Data security in the age of GDPR – most common data security problems
Exove
 
PDF
Advanced custom fields in Wordpress
Exove
 
PDF
Introduction to Robot Framework – Exove
Exove
 
PDF
Jenkins and visual regression – Exove
Exove
 
PDF
Server-side React with Headless CMS – Exove
Exove
 
PDF
WebSockets in Bravo Dashboard – Exove
Exove
 
PDF
Diversity in recruitment
Exove
 
PDF
Saavutettavuus liiketoimintana
Exove
 
PDF
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Exove
 
PDF
Mitä saavutettavuusdirektiivi pitää sisällään
Exove
 
PDF
Creating Landing Pages for Drupal 8
Exove
 
PDF
GDPR for developers
Exove
 
PDF
Managing Complexity and Privacy Debt with Drupal
Exove
 
PDF
Life with digital services after GDPR
Exove
 
PDF
GDPR - no beginning no end
Exove
 
PDF
Developing truly personalised experiences
Exove
 
PDF
Customer Experience and Personalisation
Exove
 
PDF
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Exove
 
PDF
Dataohjattu asiakaskokemus
Exove
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Data security in the age of GDPR – most common data security problems
Exove
 
Advanced custom fields in Wordpress
Exove
 
Introduction to Robot Framework – Exove
Exove
 
Jenkins and visual regression – Exove
Exove
 
Server-side React with Headless CMS – Exove
Exove
 
WebSockets in Bravo Dashboard – Exove
Exove
 
Diversity in recruitment
Exove
 
Saavutettavuus liiketoimintana
Exove
 
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Exove
 
Mitä saavutettavuusdirektiivi pitää sisällään
Exove
 
Creating Landing Pages for Drupal 8
Exove
 
GDPR for developers
Exove
 
Managing Complexity and Privacy Debt with Drupal
Exove
 
Life with digital services after GDPR
Exove
 
GDPR - no beginning no end
Exove
 
Developing truly personalised experiences
Exove
 
Customer Experience and Personalisation
Exove
 
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Exove
 
Dataohjattu asiakaskokemus
Exove
 
Ad

Recently uploaded (20)

PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PDF
Bridging CAD, IBM TRIRIGA & GIS with FME: The Portland Public Schools Case
Safe Software
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
PDF
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
PDF
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
PDF
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
PDF
Next level data operations using Power Automate magic
Andries den Haan
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PPTX
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
PPTX
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
PPTX
Smart Factory Monitoring IIoT in Machine and Production Operations.pptx
Rejig Digital
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
 
PDF
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
PDF
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
Bridging CAD, IBM TRIRIGA & GIS with FME: The Portland Public Schools Case
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Practical Applications of AI in Local Government
OnBoard
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
Next level data operations using Power Automate magic
Andries den Haan
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
Smart Factory Monitoring IIoT in Machine and Production Operations.pptx
Rejig Digital
 
Kubernetes - Architecture & Components.pdf
geethak285
 
Why aren't you using FME Flow's CPU Time?
Safe Software
 
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 

Provisioning infrastructure to AWS using Terraform – Exove

  • 3. So what is AWS? Amazon Web Services, a subsidiary of Amazon, “offers reliable, scalable, and inexpensive cloud computing services” A fancy way of saying “do stuff in the cloud”
  • 4. Broad range of services (over 160) AWS services Storage Compute Networking Database S3 Lambda Api Gateway RDS EFS EC2 Route 53 DynamoDB ... ... ... ...
  • 6. It needs to be: ● Authenticated ● Fetch and update customer data Implement a REST API on AWS
  • 7. What we will need ● Lambda: Function as a service ○ The code for our API ● DynamoDB: AWS’s NoSQL database system ○ All of our data ● Api Gateway: Publish and maintain APIs ○ Connect to our Lambda and authenticate ● Route 53: Cloud Domain Name System ○ Routing to our Api Gateway from our domain ● IAM: Identity and Access Management ○ Manage access rights to the AWS-services in our use
  • 8. But there is a problem..
  • 11. Emerging issues ● At this point we need a complex readme for setup ● Changes require more clicking around in the interface ● Deployment for different stages means redoing the whole process Who can save us now?
  • 13. Terraform ● Infrastructure as code ● Define and provision infrastructure from files ● High-level configuration language
  • 14. ● Terraform will create an execution plan based on configuration files ● Terraform will adapt to changes and create incremental execution plans which can be applied. How does it work?
  • 15. ● We define our architecture in modules ● Modules have input and output values ○ Can be used for example to control the deployment stage with variables or to expose parts of an other module
  • 16. ● Resource blocks describe resources terraform will create for us ● Data block reads from a given source and exports the data for our use Structure of a module
  • 17. With clever use of variables, we can easily deploy to different stages ● For example we can prefix every resource with the environment name Deploying And now we have deployed !
  • 19. Terraform can be difficult ● Something will break ● You will be angry But it will all be worth it...
  • 21. FIN.