Presentation slides for AWS User Group - Malaysia meet up @ SuriaLab on 22nd Apr 2019. It's about the introduction to Terraform as IaC tools for AWS.
Report
Share
Report
Share
1 of 19
More Related Content
Using Terraform for AWS as the IaC tool
1. Using Terraform for AWS as the IaC
tool
Lay How
Technical Lead in Seek Asia
layhow.tan@seekasia.com
https://www.linkedin.com/in/lay-how/
Hanan
Software Engineer in Seek Asia
hanan@seekasia.com
3. An extension of SEEK, SEEK Asia combines the two giants in job portal
brands, jobsDB and JobStreet, under one roof and helps improve the lives
of millions across Asia through comprehensive platforms.
JobStreet and jobsDB are the
leading online employment
marketplaces in Asia. Our
brands help facilitate the
matching and communication
of job opportunities between
candidates and hirers.
5. What is
• Give overview on Terraform
with AWS.
• Share what we learned.
What isn’t
• Workshop or Training.
• Criticism one over another
• Marketing (we receive no
commission from HashiCorp!)
Why Are We Here
Objective
6. IaC tool by HashiCorp.
Build, change & version
infrastructure easily &
efficiently.
What is Terraform?
What
7. Easy to Learn
• Something relative
• The team prefer it over
others IaC tools
• The team find it’s easy to
understand
Multi-provider Support
AWS
CloudFlare
GitHub
GCP
Azure
Etc…
Why
Why Terraform?
9. Plan Before Execution
Show which resources will be
created/updated/terminated.
Execution plan can generated
and save for later execution
Remote State
Stored in S3 (State) &
DynamoDB (State Locking).
Different engineer work on
the same stack
Why
Why Terraform?
10. What We Built with Terraform
Serverless API, Queue Processing,
CICD and many more …
Reference : https://geekandpoke.typepad.com/geekandpoke/2008/05/the-new-social.html
11. API With Lambda
What We Built
AWS LambdaAmazon API Gateway
AWS Cloud
Amazon SQS
On-premise data center
Database
AWS Direct
Connect
Amazon CloudWatch
Logging
12. Queue Processing
What We Built
AWS Lambda
AWS Cloud
Amazon SQS (DLQ)Amazon SNS
Alert
Amazon CloudWatch
Reference : http://chittagongit.com/icon/programmer-icon-23.html
On-premise data center
Database
AWS Direct
Connect
Amazon SQS
Trigger
Amazon CloudWatch
Logging
Metrics
13. API With ECS Fargate
What We Built
AWS Cloud
Amazon SQS (Retry)
Alert &
Visualization
Amazon CloudWatch
Reference : http://chittagongit.com/icon/programmer-icon-23.html
On-premise data center
AWS Direct
Connect
Amazon Route 53 AWS Fargate
Amazon SNS
Application
Logging
Amazon Elasticsearch
Service
Stream via Lambda
Application
Load Balancer
14. CICD with CodePipeline
What We Built
GitHub AWS CodeBuild
AWS Cloud
AWS CodeDeploy
Amazon EC2 Container
Registry (ECR)
Amazon CloudWatch
AWS CodeBuild
Web Hook Event
Trigger
image definitionTask
Task
Application
Load Balancer
Blue Green
Deployment
16. • Documentation is not
always up-to-date.
• Need to dig into
GitHub’s issue or other
sources.
Incomplete
Documentation
Limitation & Challenges
17. Not All AWS Configurations Supported
in Terraform
Limitation & Challenges
18. New AWS Features pending Terraform
Release
• New feature/services will not available
immediately
Limitation & Challenges
Reference : https://xkcd.com/303/
What are the accept value for this argument?
Hidden argument
Example: Sns topic subscription
Email endpoint : These are unsupported because the endpoint needs to be authorized and does not generate an ARN until the target email address has been validated. This breaks the Terraform model and as a result are not currently supported.
http or https are partially supported : Supported only for the end points that auto confirms the subscription
If-Else condition, looping for configuration block.