SlideShare a Scribd company logo
© 2020 NTT DATA Corporation 0
© 2020 NTT DATA Corporation
February 21, 2020
Yutaro Sasaki, NTT DATA Corporation
Making Automatically Compliant Design Documents
With Infrastructure as Code
HashiTalks 2020
© 2020 NTT DATA Corporation 1
Today's Goals
• Backgrounds
• SI business in Japan
• Importance of parameter sheets
(the most detailed design documents)
• 3 key factors
• Technical topics
• History of our IaC approaches
• Our new IaC approach
• 3 key points
Design Documents × IaC Software
© 2020 NTT DATA Corporation 2
Agenda of this talk
1. Section 1: NTT DATA & SI Business in Japan
1. Role of System Integrators in the IT Services Industry
2. Cloud Consulting ~ Lift & Shift to the Cloud
2. Section 2: Deep Dive Into Parameter Sheets, the Most Detailed Design Document
1. Design Documents in Deliverables
2. Appearance of Parameter Sheet
3. Appearance of Parameter Sheet: Example
4. Expectations for Parameter Sheets and Issues
5. 3 Key Factors of Parameter Sheets
6. Reality of the Parameter Sheets
7. Summery of This Section
3. Section 3: IaC Approaches With Parameter Sheets
1. The History of Our IaC Approaches
2. Our Initial Approach: Extraction Data From Unified Format
3. The Overview of Our New IaC Approach
4. Point 1: Separation of View and Data
5. Point 2: Integration With Version Control and Reuse as Best Practices
6. Point 3: Separation of logic and data
7. Best Case Scenario: Example of Parameter Change
© 2020 NTT DATA Corporation 3
Presenter
Yutaro Sasaki(佐々木 優太朗)
• Affiliation
Technology and Innovation Headquarters, NTT DATA Corporation
• Specialty
Server virtualization, Infrastructure automation
(Puppet, Chef, Ansible, Serverspec, Terraform)
• Recent Activity
Published book "Puppet [Configure & Manage] Practical Guide"
Talked on Japan Java User Group (JJUG) CCC 2017 Fall
Talked on NTT DATA Technology Conference 2019
© 2020 NTT DATA Corporation 4
[Section 1]
NTT DATA & SI Business in Japan
© 2020 NTT DATA Corporation 5
Role of System Integrators in the IT Services Industry
System Integrators (SIers) are total coordinators that undertake design,
development, operations, etc., in information system development.
Orders Providing Optimal
Systems
Customers
Computers, etc.
Software
Programmers
Network, communication
lines, etc.
System Engineers
Hardware Vendors
Packaged
Software
Vendors
Software Houses Telecommunications
Companies
Internet
Network
(Control and management of overall system development)
System Integrators
© 2020 NTT DATA Corporation 6
On-premises
Current System・
Operational Survey1
NTT DATA's Policy
Any Cloud
●AWS ●Azure ●GCP
●Oracle ●ECL ●VMware
●OpenStack ・・・
Cloud Consulting ~ Lift & Shift to the Cloud
Analyze the current system, clarify Fit & Gap of cloud migration, provide optimal
solutions including IT costs according to the characteristics of various Cloud forms
Provide the appropriate Cloud
for customers.
Digital System Assessment
Existing IT utilization assessment Digital system design Roadmap formulation
Digital Road map DesignⅣ ⅥDigital System DesignⅤ
Fit & Gap analysis,
overview design2 Transition Policy・
Roadmap Formulation3
'Any Cloud' policy
perfectly fits
© 2020 NTT DATA Corporation 7
[Section 2] Deep Dive Into Parameter Sheets,
the Most Detailed Design Document
© 2020 NTT DATA Corporation 8
Design Documents in Deliverables
Of course, it is required that design documents
and the system are surely consistent.
Orders Providing Optimal
Systems
Customers
(Control and management of overall system development)
System Integrators
As part of deliverables, engineers in develop team need to arrange
• Architecture design documents
• Detailed design documents (including parameter sheets)
© 2020 NTT DATA Corporation 9
Appearance of Parameter Sheet
What does delivered
parameter sheet look like?
© 2020 NTT DATA Corporation 10
Appearance of Parameter Sheet: Example
© 2020 NTT DATA Corporation 11
Appearance of Parameter Sheet: Example
Parameter
names
Actual values in
environment
Default values Design policy
Parameter
description
© 2020 NTT DATA Corporation 12
Expectations for Parameter Sheets and Issues
• Expectations for parameter sheets:
• Making implicit design knowledge explicit and avoiding "secret
sauce"
• Reuse and distribute as best practices
• Inconsistency issues
• In reality, inconsistencies occur between documents and actual
machines mostly because of human errors.
One-stop solution:
Automation from design documents
with IaC software https://www.slideshare.net/nttdata-
tech/infrastructure-as-code-2019-nttdata-sasaki-takai
NTT DATA Technology Conference 2019
© 2020 NTT DATA Corporation 13
3 Key Factors of Parameter Sheets
Parameter sheets are meaningful
in typical SI projects
3 key factors:
1) The only documents showing the status of the actual machines
2) Explicit documents that describe most detailed design policy
3) Communication tool between develop team and operation team
© 2020 NTT DATA Corporation 14
3 Key Factors of Parameter Sheets: The 1st Factor
1) The only documents showing the status
of the actual machines
I think it's the most reliable way
to directly investigate the actual machines.
© 2020 NTT DATA Corporation 15
3 Key Factors of Parameter Sheets: The 1st Factor
For security reasons,
the actual machines are not easily
accessible in most cases.
An application for authorization must be
submitted days in advance.
Only the planned and permitted operations
can be performed.
(Unplanned or ad-hoc operations
are strictly prohibited.)
© 2020 NTT DATA Corporation 16
3 Key Factors of Parameter Sheets: The 1st Factor
Even if they are easily accessible,
it's hard to compare between many
machines.
SSH, SSH, SSH, ... or Parallel SSH ...
diff, diff, diff, ... or
how to compare more than 3 files ...
© 2020 NTT DATA Corporation 17
3 Key Factors of Parameter Sheets: The 2nd Factor
2) Explicit documents that describe most
detailed design policy
I comprehend the design policy. I couldn't
understand why I have to spend much time
on documentation.
© 2020 NTT DATA Corporation 18
We should assume the engineers leave the
project. Explicit knowledge is important in
operation phase.
3 Key Factors of Parameter Sheets: The 2nd Factor
A few years after the
launch of the service, a
parameter change was
suddenly required. ・・・
Can I change this parameter which
has been changed many times?
I have no idea how and why it
happened at all ...
(It is so called "secret sauce"...)
© 2020 NTT DATA Corporation 19
3 Key Factors of Parameter Sheets: The 3rd Factor
3) Communication tool between develop team
and operation team
Developer: "Here is
the list of monitoring
items."
Operator: "Very
specific and clear.
(There's no room for
interpretation!)"
© 2020 NTT DATA Corporation 20
Reality of the Parameter Sheets
Parameter sheets are
one of the most frequently
modified documents
in actual projects.
© 2020 NTT DATA Corporation 21
Reality of the Parameter Sheets
Because parameter sheets are the most
detailed and specific design documents,
they are often affected by operational changes.
Architecture
design
documents
Detailed design
documents
Parameter Sheets
[Examples of operational changes]
• Add new users
• Security updates
© 2020 NTT DATA Corporation 22
One More Thing ...
Documents in binary format are difficult
to integrate with version control and IaC
Traditionally, design documents are in MS office format
(Excel or Word) and therefore, we have needed to extract
values somehow for integration with Git and Terraform.
Parameter
sheet
XLSX
© 2020 NTT DATA Corporation 23
Summery of This Section
Parameter sheets are necessary, but have some difficulties
• What parameter sheets in SI projects
• Part of deliverables
• One of the most frequently modified documents
• 3 Key factors of parameter sheets
• The only documents showing the status of the actual machines
• Explicit documents that describe most detailed design policy
• Communication tool between develop team and operation team
• Difficulties in integration
• Version control and IaC software, due to binary format
© 2020 NTT DATA Corporation 24
[Section 3]
IaC Approaches With Parameter Sheets
© 2020 NTT DATA Corporation 25
The History of Our IaC Approaches
Traditional IaC approach (Automation codes are transcribed manually)
Ideal IaC approach (Automation codes (data) are generated automatically)
Automated data generation
Prehistory (Not automated at all)
+ Manual construction and manual testing×
Automated task
+
[Legend] Manual task
Manual data transcription×
Automated construction
and testing
Automated construction
and testing
© 2020 NTT DATA Corporation 26
• Difficulties remain in reality
• Users start customizing "unified format"
• Data extraction logic is relatively complex
• Parameter sheets cannot be completely under version control
Our Initial Approach: Extraction Data From Unified Format
Extraction data from Excel files have some difficulties
Repository
Our initial approach in the pastPredefined unified format (Excel)
data elements View Elements
© 2020 NTT DATA Corporation 27
The Overview of Our New IaC Approach
Automation
server
Code
Code
Code +
+
+
convert + execute
Generates parameter
sheet (Excel) as a view
AWS vSphere
Point 3: Separation of logic and data
Point 1: Separation of view and data
Point 2: Integration with version control
and reuse as best practices
Repository
Repository also contains
automation codes, such
as Terraform TF files
...
execute test
apply settings
apply settings
deploy
© 2020 NTT DATA Corporation 28
7. Appendix (TERASOLUNA IA Editor)
Separation is achieved by the Editor that can view
and edit design information (in plain text format)
Point 1: Separation of View and Data
The Editor
(Excel file with VBA Macros)
Export (Optional)
Save file
(Save button / Ctrl + S)
Open file
(Open button / double click file)
• View part
• The Editor offers view (rendering) feature
(Exporting static parameter sheet (xlsx, not xlsm))
• Data part
• Data files are always in plain text format
(Primary information and single source of truth)
© 2020 NTT DATA Corporation 29
7. Appendix (TERASOLUNA IA Editor)
Version control ecosystem encourages sharing
best practices across various projects
Point 2: Integration With Version Control and Reuse as Best Practices
Repository
Design information file opened by text editor (notepad++)
• File format (Extention of CSV)
• Semantic Design Format (SDF)
(Line (Row) oriented format)
© 2020 NTT DATA Corporation 30
Point 3: Separation of logic and data
Same as other IaC software, Terraform supports referencing
external variables, which means we can use shared logic code
node1 = {
template-name = "template_rhel7"
vm-name = "node1"
vm-folder = "/folder"
vm-disk-size = 20
vm-append_disk = [
{
label = "append_disk0"
size = 5
eagerly_scrub = false
thin_provisioned = true
unit_number = 1
},
{
label = "append_disk_1"
size = 3
・・・
resource "vsphere_virtual_machine" "node1" {
name = "${var.node1.vm-name}"
folder = "${var.node1.vm-folder}"
datastore_id = "${data.vsphere_datastore.datastore.id}"
resource_pool_id = "${data.vsphere_resource_pool.pool.id}"
disk {
label = "disk0"
size = "${var.node1.vm-disk-size}"
eagerly_scrub = "${data...disks.0.eagerly_scrub}"
thin_provisioned = "${data...disks.0.thin_provisioned}"
dynamic "disk" {
for_each = "${var.node1.vm-append_disk}"
content {
label = disk.value.label
size = disk.value.size
+
© 2020 NTT DATA Corporation 31
Best Case Scenario: Example of Parameter Change
With shared automation code (logic), developer only have to edit
"design information" in order to add/change/delete parameters
Automation server
Code +
convert
Repository
apply settingsdeploy
Developer: Oh, I forgot adding 'disk3' and need
to deal with it ASAP. All I have to do is to edit
"design information" file. It's easy.
Edit (manual)
© 2020 NTT DATA Corporation 32
References and Conclusion
© 2020 NTT DATA Corporation 33
References
• Talks on conferences
• NTT DATA Technology Conference 2019 (Sep. 2019)(Japanese)
https://www.slideshare.net/nttdata-tech/infrastructure-as-code-2019-nttdata-sasaki-takai
• Red Hat Forum Tokyo 2019 (Nov. 2019)(Japanese)
• Solution: Our new IaC approach
• Part of our methodology, TERASOLUNATM, and not OSS
© 2020 NTT DATA Corporation 34
Conclusion
We will continue to broaden the coverage of automation
with IaC technology. Thank you for your attention.
Automation
server
Code
Code
Code +
+
+
convert + execute
Generates parameter
sheet (Excel) as a view
Repository
execute test
apply settings
apply settings
deploy
© 2020 NTT DATA Corporation
The names of products and services referred to in this slide are trademarks or
registered trademarks of NTT DATA or other companies in Japan and other countries.

More Related Content

PDF
Master Data Management – Aligning Data, Process, and Governance
PDF
Building a Data Governance Strategy
PDF
MDM for Customer data with Talend
PDF
Modern Data architecture Design
PDF
TOGAF 9 Architectural Artifacts
PDF
Data Quality Strategies
PPTX
Power BI Advance Modeling
 
PPTX
Introduction To Data Vault - DAMA Oregon 2012
Master Data Management – Aligning Data, Process, and Governance
Building a Data Governance Strategy
MDM for Customer data with Talend
Modern Data architecture Design
TOGAF 9 Architectural Artifacts
Data Quality Strategies
Power BI Advance Modeling
 
Introduction To Data Vault - DAMA Oregon 2012

What's hot (20)

PPT
Gartner: Master Data Management Functionality
PDF
Why CMDB - 7 Fundamental Use Cases
PDF
DevOps, BA and COBIT don’t really align, or do they?
PDF
Data Catalogues - Architecting for Collaboration & Self-Service
PPTX
Big data architectures and the data lake
PDF
Top 10 Artifacts Needed For Data Governance
PPTX
How to Realize Benefits from Data Management Maturity Models
PPTX
Data Governance Best Practices
PPTX
Agile Data Mining with Data Vault 2.0 (english)
PPT
MDM Strategy & Roadmap
PPTX
‏‏‏‏‏‏‏‏‏‏‏‏Chapter 13: Professional Development
PPTX
MDM & BI Strategy For Large Enterprises
PDF
Data-Ed: Data-centric Strategy & Roadmap
PDF
Mdm: why, when, how
PPT
Présentation data vault et bi v20120508
PDF
Data Governance Best Practices
PPTX
An introduction to fundamental architecture concepts
PPTX
Tips & tricks to drive effective Master Data Management & ERP harmonization
PDF
Architecting a Data Warehouse: A Case Study
PPTX
Data Virtualization: An Introduction
Gartner: Master Data Management Functionality
Why CMDB - 7 Fundamental Use Cases
DevOps, BA and COBIT don’t really align, or do they?
Data Catalogues - Architecting for Collaboration & Self-Service
Big data architectures and the data lake
Top 10 Artifacts Needed For Data Governance
How to Realize Benefits from Data Management Maturity Models
Data Governance Best Practices
Agile Data Mining with Data Vault 2.0 (english)
MDM Strategy & Roadmap
‏‏‏‏‏‏‏‏‏‏‏‏Chapter 13: Professional Development
MDM & BI Strategy For Large Enterprises
Data-Ed: Data-centric Strategy & Roadmap
Mdm: why, when, how
Présentation data vault et bi v20120508
Data Governance Best Practices
An introduction to fundamental architecture concepts
Tips & tricks to drive effective Master Data Management & ERP harmonization
Architecting a Data Warehouse: A Case Study
Data Virtualization: An Introduction
Ad

Similar to HashiTalks2020: Making Automatically Compliant Design Documents With Infrastructure as Code (20)

PPT
Defining and Aligning Requirements using System Architect and DOORS
PDF
Building the Architecture for Analytic Competition
PDF
Accelerate Return on Data
PDF
IBM InfoSphere Data Architect 9.1 - Francis Arnaudiès
PDF
Frameworks of the IBM Systems Journal
PDF
E-Business Suite 2 _ Ben Davis _ Achieving outstanding optim data management ...
PDF
Informatica push down optimization implementation
PDF
Proposed T-Model to cover 4S quality metrics based on empirical study of root...
PDF
Sybase whats in_your_architecture_wp
PDF
ISM Unit 1.pdf
PPT
Accel_Series_2022Winter_En.ppt
PPT
Information Architecture Profession
PPTX
Kahn.theodore
PPTX
Day 1 - Technical Bootcamp azure synapse analytics
PDF
Python's Role in the Future of Data Analysis
PDF
Building An Information Technology And Information Systems
PDF
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...
PPTX
Software prototyping.pptx
PDF
Modern data integration | Diyotta
PPT
Criteria For EA Tool Selection
Defining and Aligning Requirements using System Architect and DOORS
Building the Architecture for Analytic Competition
Accelerate Return on Data
IBM InfoSphere Data Architect 9.1 - Francis Arnaudiès
Frameworks of the IBM Systems Journal
E-Business Suite 2 _ Ben Davis _ Achieving outstanding optim data management ...
Informatica push down optimization implementation
Proposed T-Model to cover 4S quality metrics based on empirical study of root...
Sybase whats in_your_architecture_wp
ISM Unit 1.pdf
Accel_Series_2022Winter_En.ppt
Information Architecture Profession
Kahn.theodore
Day 1 - Technical Bootcamp azure synapse analytics
Python's Role in the Future of Data Analysis
Building An Information Technology And Information Systems
Data Integration, Access, Flow, Exchange, Transfer, Load And Extract Architec...
Software prototyping.pptx
Modern data integration | Diyotta
Criteria For EA Tool Selection
Ad

More from NTT DATA Technology & Innovation (20)

PDF
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PDF
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PDF
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
PDF
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
PDF
2025年現在のNewSQL (最強DB講義 #36 発表資料)
PDF
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
PDF
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
PDF
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
PDF
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PDF
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PDF
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
PDF
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PDF
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PDF
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
PDF
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...

Recently uploaded (20)

PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Modernizing your data center with Dell and AMD
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Unlocking AI with Model Context Protocol (MCP)
Advanced Soft Computing BINUS July 2025.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
GamePlan Trading System Review: Professional Trader's Honest Take
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectral efficient network and resource selection model in 5G networks
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Advanced methodologies resolving dimensionality complications for autism neur...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Modernizing your data center with Dell and AMD
Review of recent advances in non-invasive hemoglobin estimation
NewMind AI Monthly Chronicles - July 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Unlocking AI with Model Context Protocol (MCP)

HashiTalks2020: Making Automatically Compliant Design Documents With Infrastructure as Code

  • 1. © 2020 NTT DATA Corporation 0 © 2020 NTT DATA Corporation February 21, 2020 Yutaro Sasaki, NTT DATA Corporation Making Automatically Compliant Design Documents With Infrastructure as Code HashiTalks 2020
  • 2. © 2020 NTT DATA Corporation 1 Today's Goals • Backgrounds • SI business in Japan • Importance of parameter sheets (the most detailed design documents) • 3 key factors • Technical topics • History of our IaC approaches • Our new IaC approach • 3 key points Design Documents × IaC Software
  • 3. © 2020 NTT DATA Corporation 2 Agenda of this talk 1. Section 1: NTT DATA & SI Business in Japan 1. Role of System Integrators in the IT Services Industry 2. Cloud Consulting ~ Lift & Shift to the Cloud 2. Section 2: Deep Dive Into Parameter Sheets, the Most Detailed Design Document 1. Design Documents in Deliverables 2. Appearance of Parameter Sheet 3. Appearance of Parameter Sheet: Example 4. Expectations for Parameter Sheets and Issues 5. 3 Key Factors of Parameter Sheets 6. Reality of the Parameter Sheets 7. Summery of This Section 3. Section 3: IaC Approaches With Parameter Sheets 1. The History of Our IaC Approaches 2. Our Initial Approach: Extraction Data From Unified Format 3. The Overview of Our New IaC Approach 4. Point 1: Separation of View and Data 5. Point 2: Integration With Version Control and Reuse as Best Practices 6. Point 3: Separation of logic and data 7. Best Case Scenario: Example of Parameter Change
  • 4. © 2020 NTT DATA Corporation 3 Presenter Yutaro Sasaki(佐々木 優太朗) • Affiliation Technology and Innovation Headquarters, NTT DATA Corporation • Specialty Server virtualization, Infrastructure automation (Puppet, Chef, Ansible, Serverspec, Terraform) • Recent Activity Published book "Puppet [Configure & Manage] Practical Guide" Talked on Japan Java User Group (JJUG) CCC 2017 Fall Talked on NTT DATA Technology Conference 2019
  • 5. © 2020 NTT DATA Corporation 4 [Section 1] NTT DATA & SI Business in Japan
  • 6. © 2020 NTT DATA Corporation 5 Role of System Integrators in the IT Services Industry System Integrators (SIers) are total coordinators that undertake design, development, operations, etc., in information system development. Orders Providing Optimal Systems Customers Computers, etc. Software Programmers Network, communication lines, etc. System Engineers Hardware Vendors Packaged Software Vendors Software Houses Telecommunications Companies Internet Network (Control and management of overall system development) System Integrators
  • 7. © 2020 NTT DATA Corporation 6 On-premises Current System・ Operational Survey1 NTT DATA's Policy Any Cloud ●AWS ●Azure ●GCP ●Oracle ●ECL ●VMware ●OpenStack ・・・ Cloud Consulting ~ Lift & Shift to the Cloud Analyze the current system, clarify Fit & Gap of cloud migration, provide optimal solutions including IT costs according to the characteristics of various Cloud forms Provide the appropriate Cloud for customers. Digital System Assessment Existing IT utilization assessment Digital system design Roadmap formulation Digital Road map DesignⅣ ⅥDigital System DesignⅤ Fit & Gap analysis, overview design2 Transition Policy・ Roadmap Formulation3 'Any Cloud' policy perfectly fits
  • 8. © 2020 NTT DATA Corporation 7 [Section 2] Deep Dive Into Parameter Sheets, the Most Detailed Design Document
  • 9. © 2020 NTT DATA Corporation 8 Design Documents in Deliverables Of course, it is required that design documents and the system are surely consistent. Orders Providing Optimal Systems Customers (Control and management of overall system development) System Integrators As part of deliverables, engineers in develop team need to arrange • Architecture design documents • Detailed design documents (including parameter sheets)
  • 10. © 2020 NTT DATA Corporation 9 Appearance of Parameter Sheet What does delivered parameter sheet look like?
  • 11. © 2020 NTT DATA Corporation 10 Appearance of Parameter Sheet: Example
  • 12. © 2020 NTT DATA Corporation 11 Appearance of Parameter Sheet: Example Parameter names Actual values in environment Default values Design policy Parameter description
  • 13. © 2020 NTT DATA Corporation 12 Expectations for Parameter Sheets and Issues • Expectations for parameter sheets: • Making implicit design knowledge explicit and avoiding "secret sauce" • Reuse and distribute as best practices • Inconsistency issues • In reality, inconsistencies occur between documents and actual machines mostly because of human errors. One-stop solution: Automation from design documents with IaC software https://www.slideshare.net/nttdata- tech/infrastructure-as-code-2019-nttdata-sasaki-takai NTT DATA Technology Conference 2019
  • 14. © 2020 NTT DATA Corporation 13 3 Key Factors of Parameter Sheets Parameter sheets are meaningful in typical SI projects 3 key factors: 1) The only documents showing the status of the actual machines 2) Explicit documents that describe most detailed design policy 3) Communication tool between develop team and operation team
  • 15. © 2020 NTT DATA Corporation 14 3 Key Factors of Parameter Sheets: The 1st Factor 1) The only documents showing the status of the actual machines I think it's the most reliable way to directly investigate the actual machines.
  • 16. © 2020 NTT DATA Corporation 15 3 Key Factors of Parameter Sheets: The 1st Factor For security reasons, the actual machines are not easily accessible in most cases. An application for authorization must be submitted days in advance. Only the planned and permitted operations can be performed. (Unplanned or ad-hoc operations are strictly prohibited.)
  • 17. © 2020 NTT DATA Corporation 16 3 Key Factors of Parameter Sheets: The 1st Factor Even if they are easily accessible, it's hard to compare between many machines. SSH, SSH, SSH, ... or Parallel SSH ... diff, diff, diff, ... or how to compare more than 3 files ...
  • 18. © 2020 NTT DATA Corporation 17 3 Key Factors of Parameter Sheets: The 2nd Factor 2) Explicit documents that describe most detailed design policy I comprehend the design policy. I couldn't understand why I have to spend much time on documentation.
  • 19. © 2020 NTT DATA Corporation 18 We should assume the engineers leave the project. Explicit knowledge is important in operation phase. 3 Key Factors of Parameter Sheets: The 2nd Factor A few years after the launch of the service, a parameter change was suddenly required. ・・・ Can I change this parameter which has been changed many times? I have no idea how and why it happened at all ... (It is so called "secret sauce"...)
  • 20. © 2020 NTT DATA Corporation 19 3 Key Factors of Parameter Sheets: The 3rd Factor 3) Communication tool between develop team and operation team Developer: "Here is the list of monitoring items." Operator: "Very specific and clear. (There's no room for interpretation!)"
  • 21. © 2020 NTT DATA Corporation 20 Reality of the Parameter Sheets Parameter sheets are one of the most frequently modified documents in actual projects.
  • 22. © 2020 NTT DATA Corporation 21 Reality of the Parameter Sheets Because parameter sheets are the most detailed and specific design documents, they are often affected by operational changes. Architecture design documents Detailed design documents Parameter Sheets [Examples of operational changes] • Add new users • Security updates
  • 23. © 2020 NTT DATA Corporation 22 One More Thing ... Documents in binary format are difficult to integrate with version control and IaC Traditionally, design documents are in MS office format (Excel or Word) and therefore, we have needed to extract values somehow for integration with Git and Terraform. Parameter sheet XLSX
  • 24. © 2020 NTT DATA Corporation 23 Summery of This Section Parameter sheets are necessary, but have some difficulties • What parameter sheets in SI projects • Part of deliverables • One of the most frequently modified documents • 3 Key factors of parameter sheets • The only documents showing the status of the actual machines • Explicit documents that describe most detailed design policy • Communication tool between develop team and operation team • Difficulties in integration • Version control and IaC software, due to binary format
  • 25. © 2020 NTT DATA Corporation 24 [Section 3] IaC Approaches With Parameter Sheets
  • 26. © 2020 NTT DATA Corporation 25 The History of Our IaC Approaches Traditional IaC approach (Automation codes are transcribed manually) Ideal IaC approach (Automation codes (data) are generated automatically) Automated data generation Prehistory (Not automated at all) + Manual construction and manual testing× Automated task + [Legend] Manual task Manual data transcription× Automated construction and testing Automated construction and testing
  • 27. © 2020 NTT DATA Corporation 26 • Difficulties remain in reality • Users start customizing "unified format" • Data extraction logic is relatively complex • Parameter sheets cannot be completely under version control Our Initial Approach: Extraction Data From Unified Format Extraction data from Excel files have some difficulties Repository Our initial approach in the pastPredefined unified format (Excel) data elements View Elements
  • 28. © 2020 NTT DATA Corporation 27 The Overview of Our New IaC Approach Automation server Code Code Code + + + convert + execute Generates parameter sheet (Excel) as a view AWS vSphere Point 3: Separation of logic and data Point 1: Separation of view and data Point 2: Integration with version control and reuse as best practices Repository Repository also contains automation codes, such as Terraform TF files ... execute test apply settings apply settings deploy
  • 29. © 2020 NTT DATA Corporation 28 7. Appendix (TERASOLUNA IA Editor) Separation is achieved by the Editor that can view and edit design information (in plain text format) Point 1: Separation of View and Data The Editor (Excel file with VBA Macros) Export (Optional) Save file (Save button / Ctrl + S) Open file (Open button / double click file) • View part • The Editor offers view (rendering) feature (Exporting static parameter sheet (xlsx, not xlsm)) • Data part • Data files are always in plain text format (Primary information and single source of truth)
  • 30. © 2020 NTT DATA Corporation 29 7. Appendix (TERASOLUNA IA Editor) Version control ecosystem encourages sharing best practices across various projects Point 2: Integration With Version Control and Reuse as Best Practices Repository Design information file opened by text editor (notepad++) • File format (Extention of CSV) • Semantic Design Format (SDF) (Line (Row) oriented format)
  • 31. © 2020 NTT DATA Corporation 30 Point 3: Separation of logic and data Same as other IaC software, Terraform supports referencing external variables, which means we can use shared logic code node1 = { template-name = "template_rhel7" vm-name = "node1" vm-folder = "/folder" vm-disk-size = 20 vm-append_disk = [ { label = "append_disk0" size = 5 eagerly_scrub = false thin_provisioned = true unit_number = 1 }, { label = "append_disk_1" size = 3 ・・・ resource "vsphere_virtual_machine" "node1" { name = "${var.node1.vm-name}" folder = "${var.node1.vm-folder}" datastore_id = "${data.vsphere_datastore.datastore.id}" resource_pool_id = "${data.vsphere_resource_pool.pool.id}" disk { label = "disk0" size = "${var.node1.vm-disk-size}" eagerly_scrub = "${data...disks.0.eagerly_scrub}" thin_provisioned = "${data...disks.0.thin_provisioned}" dynamic "disk" { for_each = "${var.node1.vm-append_disk}" content { label = disk.value.label size = disk.value.size +
  • 32. © 2020 NTT DATA Corporation 31 Best Case Scenario: Example of Parameter Change With shared automation code (logic), developer only have to edit "design information" in order to add/change/delete parameters Automation server Code + convert Repository apply settingsdeploy Developer: Oh, I forgot adding 'disk3' and need to deal with it ASAP. All I have to do is to edit "design information" file. It's easy. Edit (manual)
  • 33. © 2020 NTT DATA Corporation 32 References and Conclusion
  • 34. © 2020 NTT DATA Corporation 33 References • Talks on conferences • NTT DATA Technology Conference 2019 (Sep. 2019)(Japanese) https://www.slideshare.net/nttdata-tech/infrastructure-as-code-2019-nttdata-sasaki-takai • Red Hat Forum Tokyo 2019 (Nov. 2019)(Japanese) • Solution: Our new IaC approach • Part of our methodology, TERASOLUNATM, and not OSS
  • 35. © 2020 NTT DATA Corporation 34 Conclusion We will continue to broaden the coverage of automation with IaC technology. Thank you for your attention. Automation server Code Code Code + + + convert + execute Generates parameter sheet (Excel) as a view Repository execute test apply settings apply settings deploy
  • 36. © 2020 NTT DATA Corporation The names of products and services referred to in this slide are trademarks or registered trademarks of NTT DATA or other companies in Japan and other countries.