Cloud and Evolving Technologies
Cloud & Evolving Tech.
Implementing cloud services includes specific tasks, no matter which service provider your organization selects. Concepts such as subscriptions, provisioning, virtual machines, containers, and scaling need context. This lesson covers those terms and introduces critical evolving technologies like AI, ML, and IoT.
Recognize Cloud Terms.
Subscription Services & IAM
Subscriptions (1.11): A payment model using a recurring, periodic billing cycle often based on length (long-term is often less expensive). It usually includes no long-term contracts, access is established immediately, and can often be terminated at any time (e.g., Microsoft 365).
Identity Management (1.12): The process by which identities are established and access to resources is controlled. Users are assigned accounts, which are then assigned rights and restrictions enforced by access control systems. Accounts may be organized into groups for easier management.
Identity management is also known as Identity and Access Management or IAM.
Virtualization Review
Virtualization frees OS, services, and apps from physical hardware. The cloud would not exist without it. Solutions include VMs, containers, and virtual networks.
Virtual Machines (VMs): Allocate hardware resources among one or more VMs. The VM has an OS and apps installed, participating on the network as a regular node. VMs have greater access to hardware and can be provided with redundancy for high availability. Essential to IaaS (e.g., AWS EC2, Azure VMs).
Containers: Virtualize at the OS layer rather than hardware. A container holds a single app and everything it needs to run, making them lightweight and excellent for microservices. They share a single OS (usually Linux).
Templates: VMs may be deployed using templates, reducing misconfiguration by providing standardized configurations for compute, storage, OS, and security.
Deploy Cloud Resources
Provisioning: Allocating cloud resources in the enterprise infrastructure. Governed by objectives and policies, it usually occurs before server, service, or network configuration, and is often self-service.
Auto-Scaling: Takes advantage of automated deployments to provide appropriate resources for current demand. Resources can be scaled up (more compute power/RAM to a single server) or scaled out (more virtual servers deployed). You only pay for what you consume.
Hyperconverged: Combines compute, storage, and network resources into a single inseparable component to reduce complexity and increase scalability. Managed as one unit.
Post-Deployment Validation: Ensures deployed apps or services meet required service levels through regression or functionality testing. Should be automated when possible.
Applications (1.15): With cloud applications, installation and processing occur in the cloud rather than on local workstations. Accessed over the network, they provide a consistent experience for all users regardless of workstation platform (Windows, macOS, Linux) or mobile device (Android, iOS).
Virtualization/containerization and Deployment are covered in-depth in later modules.
Technologies in the Cloud.
Artificial Intelligence (AI) and Machine Learning (ML) are critical parts of today's enterprise business, and both rely heavily on cloud technologies.
Artificial Intelligence (AI)
AI simulates human intelligence by providing structured, semi-structured, and unstructured data to solve complex problems using a set of rules. AI encompasses Machine Learning (ML) and Deep Learning (DL).
Generative AI generates content (text, code, images) based on a prompt. It involves two stages:
- Training: Relies on large datasets of examples to serve as source material.
- Inferencing: The operational stage relying on an already-trained model to generate new content.
Large Language Models (LLMs) are pre-trained bodies of knowledge based on deep learning, focusing on human language (e.g., OpenAI GPT, Microsoft NLG, Google PaLM).
Cloud AI Solutions
- Azure CycleCloud: Provision HPC solutions
- Azure Machine Learning: AI-based ML tool
- Azure AI Studio: Generative AI dev environment
- Amazon Q: AI-powered business assistant
- Amazon Polly: Text-to-speech service
- Google Vertex AI: Generative AI & Notebooks
- Google Dialogflow: Conversational AI
Machine Learning (ML) & Deep Learning (DL)
Machine Learning: A subset of AI. The goal is to make accurate predictions by extracting data based on learned information and experience. ML systems are not explicitly programmed to find a particular outcome; they learn from provided data with minimal human interaction. Examples: Traffic prediction, product recommendations, medical diagnosis.
Deep Learning: A more complex subset of ML. DL provides greater accuracy when analyzing unstructured data by emulating a human brain's learning process. Requires more time and data. Found in gaming, language processing, and agriculture.
Common ML/DL Tools
- Keras: Neural-network API used with deep neural networks.
- TensorFlow: Open-source library to create, train, and manage AI/ML apps (created by Google).
- PyTorch: Open-source Python library for machine learning and NLP.
Internet of Things (IoT)
IoT refers to network connectivity and smart devices (software, sensors, robotics) that facilitate the collection and analysis of data. Enabled by global connectivity, low-cost sensors, and cloud management platforms.
Role of the Cloud: IoT generates massive amounts of data; the cloud stores, processes, and analyzes it. Cloud scaling and resource pooling provide flexibility for geographically dispersed IoT networks.
Edge Computing: Processing (or preprocessing) data near the IoT devices rather than deeper in the cloud. Benefits include reduced bandwidth utilization, reduced latency, and improved real-time decision-making.
IoT Components & Protocols
Communication layers include Local (device-to-device), Gateway (population of devices to the Internet), and Central Servers (data centralization). Gateways translate protocols for cloud compatibility and provide security.
IoT transmission protocols are organized into a stack (Application, Network, Perception/Sensor). Common protocols include:
- Wi-Fi: Common, but high power requirements.
- Bluetooth: Short point-to-point, low power, limited security.
- HTTP: Synchronous, high processing requirements.
- NB-IoT: Low power, limited transmission.
- AMQP: Asynchronous, reliable message queuing.