All Projects → sassoftware → viya4-iac-azure

sassoftware / viya4-iac-azure

Licence: Apache-2.0 license
This project contains Terraform configuration files to provision infrastructure components required to deploy SAS Viya 4+ VA/VS/VDMML products on Microsoft Azure Cloud.

Programming Languages

HCL
1544 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to viya4-iac-azure

multicloud
A multicloud demonstration presented at KubeCon 2019 EU featuring the Hipster Shop across AKS, GKE, and On-Premises
Stars: ✭ 13 (-78.33%)
Mutual labels:  aks
terraform-aws-cognito-user-pool
A Terraform module to create and manage Cognito User Pools (Simple and Secure User Sign-Up, Sign-In, and Access Control) on Amazon Web Services (AWS). https://aws.amazon.com/cognito
Stars: ✭ 46 (-23.33%)
Mutual labels:  iac
terraform-provider-checkly
Terraform provider for the Checkly monitoring service
Stars: ✭ 37 (-38.33%)
Mutual labels:  iac
terraform-aws-route53
A Terraform module to create a Route53 Domain Name System (DNS) on Amazon Web Services (AWS). https://aws.amazon.com/route53/
Stars: ✭ 39 (-35%)
Mutual labels:  iac
vspheretools
vSphereTools is a set of scripts from DevOpsHQ to support working with vSphere and virtual machines (VMs) on it, which are based on the pysphere library.
Stars: ✭ 19 (-68.33%)
Mutual labels:  iac
eks-cluster
Quickly spin up an AWS EKS Kubernetes cluster using AWS CloudFormation
Stars: ✭ 41 (-31.67%)
Mutual labels:  iac
runiac
Run IaC Anywhere With Ease
Stars: ✭ 18 (-70%)
Mutual labels:  iac
unicorn
Content for the "Intelligent Cloud Bootcamp: Advanced Kubernetes" workshop
Stars: ✭ 28 (-53.33%)
Mutual labels:  aks
icp-ce-on-linux-containers
Multi node IBM Cloud Private Community Edition 3.2.x w/ Kubernetes 1.13.5 in a Box. Terraform, Packer and BASH based Infrastructure as Code script sets up a multi node LXD cluster, installs ICP-CE and clis on a metal or VM Ubuntu 18.04 host.
Stars: ✭ 52 (-13.33%)
Mutual labels:  iac
terraform-modules
Reusable Terraform modules
Stars: ✭ 12 (-80%)
Mutual labels:  iac
docker-kubernetes-course
Demoing Kubernetes/AKS features
Stars: ✭ 42 (-30%)
Mutual labels:  aks
nifi
Deploy a secured, clustered, auto-scaling NiFi service in AWS.
Stars: ✭ 37 (-38.33%)
Mutual labels:  iac
driftctl
Detect, track and alert on infrastructure drift
Stars: ✭ 2,020 (+3266.67%)
Mutual labels:  iac
guestbook
A simple app with automated infrastructure provisioning, app deployment, and E2E testing
Stars: ✭ 25 (-58.33%)
Mutual labels:  iac
terraform-aws-lambda-function
A Terraform module for deploying and managing Lambda functions on Amazon Web Services (AWS). https://aws.amazon.com/lambda/
Stars: ✭ 37 (-38.33%)
Mutual labels:  iac
aws-quota-checker
Keep an eye on your AWS quotas before you hit their limits
Stars: ✭ 63 (+5%)
Mutual labels:  iac
sixarm mac setup
SixArm.com » Mac » Setup notes for new Mac computer and macOS
Stars: ✭ 57 (-5%)
Mutual labels:  iac
tfu
tfu is a terraform helper to update the providers.
Stars: ✭ 13 (-78.33%)
Mutual labels:  iac
headless-wordpress
Headless Wordpress - AWS - Easy Setup
Stars: ✭ 42 (-30%)
Mutual labels:  iac
terraform-azurerm-kubernetes
Terraform module to deploy a Kubernetes cluster on Azure, using AKS.
Stars: ✭ 16 (-73.33%)
Mutual labels:  aks

SAS Viya 4 Infrastructure as Code (IaC) for Microsoft Azure

Overview

This project helps you to automate the cluster-provisioning phase of SAS Viya deployment. It contains Terraform scripts to provision the Microsoft Azure Cloud infrastructure resources that are required to deploy SAS Viya 4 product offerings. Here is a list of resources that this project can create:

  • Azure resource group(s): primary resource group and AKS resource group
  • Virtual network, network security groups, and network security rules
  • Managed Azure Kubernetes Service (AKS) cluster
  • System and User AKS Node pools with required Labels and Taints
  • Infrastructure to deploy SAS Viya CAS in SMP or MPP mode
  • Storage options for SAS Viya - NFS Server (Standard) or Azure NetApp Files (HA)
  • Azure DB for PostgreSQL, optional
  • Azure Container Registry, optional

Architecture Diagram

This project addresses the first of three steps in Steps for Getting Started in SAS Viya Operations in SAS® Viya® Operations:

  1. Provision resources.
  2. Prepare for the deployment.
  3. Customize and deploy SAS Viya.

Note: The scripts in this project are provided as examples. They do not provide comprehensive configuration. The second and third steps include additional configuration tasks. Some of those tasks (for example, enabling logging and specifying available IP addresses) are essential for a more secure deployment.

Once the cloud resources are provisioned, use the viya4-deployment project to deploy SAS Viya 4 in your cloud environment. To learn about all phases and options of the SAS Viya deployment process, see Getting Started with SAS Viya and Azure Kubernetes Service in SAS Viya Operations.

Prerequisites

Use of these tools requires operational knowledge of the following technologies:

Technical Prerequisites

This project supports two options for running Terraform scripts:

  • Terraform installed on your local machine

  • Using a Docker container to run Terraform

    For more information, see Docker Usage. Using Docker to run the Terraform scripts is recommended.

Access to an Azure Subscription and an Identity with the Contributor role are required.

Terraform Requirements:

Docker Requirements:

Getting Started

When you have prepared your environment with the prerequisites, you are ready to obtain and customize the Terraform scripts that will set up your Kubernetes cluster.

Clone this Project

Run the following commands from a terminal session:

# clone this repo
git clone https://github.com/sassoftware/viya4-iac-azure

# move to the project directory
cd viya4-iac-azure

Authenticating Terraform to Access Microsoft Azure

The Terraform process manages Microsoft Azure resources on your behalf. In order to do so, it needs your Azure account information and a user identity with the required permissions. See Terraform Azure Authentication for details.

Customizing Input Values

Terraform scripts require variable definitions as input. Review and modify default values to meet your requirements. Create a file named terraform.tfvars to customize any input variable value documented in the CONFIG-VARS.md file.

To get started, you can copy one of the example variable definition files provided in the ./examples folder. For more information about the variables that are declared in each file, refer to the CONFIG-VARS.md file.

You have the option to specify variable definitions that are not included in terraform.tfvars or to use a variable definition file other than terraform.tfvars. See Advanced Terraform Usage for more information.

Creating and Managing the Cloud Resources

Create and manage the required cloud resources. Perform one of the following steps, based on whether you are using Docker:

Troubleshooting

See the Troubleshooting page for information about possible issues that you might encounter.

Security

Additional configuration to harden your cluster environment is supported and encouraged. For example, you can limit cluster access to specified IP addresses. You can also deploy a load balancer or application gateway to mediate data flows between SAS Viya components and the ingress controller.

Contributing

We welcome your contributions! See CONTRIBUTING.md for information about how to submit contributions to this project.

License

This project is licensed under the Apache 2.0 License.

Additional Resources

Azure Resources

Terraform Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].