General Concepts Flashcards
Availability Zones
Consist of one or more discrete data centers, each with redundant power, networking, and connectivity, housed in separate facilities.
Compute
A generic term used to reference processing power, memory, networking, storage, and other resources required for the computational success of any program.
IaaS
Infrastructure as a Service
*contains the basic building blocks for cloud IT
*typically provides access to networking features, computers (virtual or on dedicated hardware), and data storage space.
PaaS
Platform as a Service (PaaS) removes the need for you to manage the underlying infrastructure like hardware and operating systems.
This allows you to focus on the deployment and management of your applications.
SaaS
Software as a Service- a completed product that is run and managed by the service provider. In most cases, people referring to SaaS are referring to end-user applications.
With a SaaS offering you don’t maintain the service or manage the infrastructure; you only need to think about how you will use that piece of software.
A common example of a SaaS application is web-based email which you can use to send and receive email without having to manage feature additions to the email product or maintain the servers and operating systems that the email program is running on.
AWS API
AWS Application Programming Interface (AWS API).
An API call is how you create, delete, or change any AWS resource.
You can make these API calls in several ways. Some are:
*AWS Management Console *AWS Command Line Interface (CLI) *IDE and IDE toolkits *AWS Software Development Kits (SDKs)
AWS CLI
An open source tool to create and configure AWS services using commands in your command-line shell. (Command Line Interface). Contrast this to using the AWS Management Console, which is where most people begin.
AWS CloudShell
A browser-based shell that provides command-line access to AWS resources
IDE and IDE Toolkits
AWS offers support for popular Integrated Development Environments (IDEs) and IDE toolkits so you can author, debug, and deploy your code on AWS from within your preferred environment.
Supported IDEs and toolkits include AWS Cloud9, IntelliJ, PyCharm, Visual Studio, Visual Studio Code, Azure DevOps, Rider, and WebStorm.
SDK
Software Development Kits (SDKs) are tools that allow you to interact with the AWS API programmatically.
SDKs help when you want to integrate your application source code with AWS services. For example, you might use the Python SDK to write code to store files in Amazon Simple Storage Service (Amazon S3) instead of on your local hard drive.
AWS creates and maintains SDKs for most popular programming languages like Java, JavaScript, PHP, C++, .Net, Python, Ruby, and Go
IaC
Infrastructure as Code- like software developers writes application code, AWS provides services that enable the creation, deployment, and maintenance of infrastructure in a programmatic, descriptive, and declarative way.
Let’s you automate?
AWS CDK
AWS Cloud Development Kit (AWS CDK) is a software development framework for defining cloud infrastructure in code and provisioning it through AWS CloudFormation.
The AWS CDK supports familiar programming languages, such as TypeScript, JavaScript, Python, Java, C#/.Net, and Go
AWS CloudFormation
CloudFormation helps you model and set up your AWS resources.
You create a template that describes all the AWS resources that you want (like Amazon EC2 instances or Amazon RDS DB instances). Once you create the template, CloudFormation takes care of provisioning and configuring those resources for you. You don’t need to individually create and configure AWS resources and figure out what’s dependent on what;
Provisioning
Provisioning is the process of setting up IT infrastructure. including the steps required to manage access to data and resources, and make them available to users and systems.
Provisioning is not the same thing as configuration, but they are both steps in the deployment process.
Kubernetes
Kubernetes is open source software that allows you to deploy and manage containerized Applications at scale.
It manages clusters of Amazon EC2 Compute instances and runs Containers on those instances with processes for deployment, maintenance, and scaling.
Using Kubernetes, you can run any type of containerized Applications using the same toolset on-premises and in the cloud.