Fundación Tripartita
Subsidized in Spain by Fundación Tripartita These courses can be subsidized in Spain by Fundación Tripartita. Other countries may have other conditions, please contact us for details.
No results found

Kubernetes Master Class

Objectives

This course teaches participants the following skills:

  • Introduction to the basic components of Kubernetes: Pods, Services, Deployments, Replica Sets, Ingress.
  • Rolling updates and rollbacks.
  • Best practices with Kubernetes: container image size, resource limits, liveness and readiness probes, pod/node affinity and antiaffinity, taints and tolerations.
  • Autoscaling, Autoupdates and Autorepair on Google Kubernetes Engine. Multi-zone clusters.
  • CI/CD pipelines with Kubernetes and Helm.
  • Monitoring and alerts with StackDriver.
  • Updates from the last three Kubernetes versions: 1.6, 1.7, 1.8.

Syllabus

  1. Intro to Kubernetes
    • Pods, Nodes, Replica Sets, Deployments, Services, Persistent Volumes
    • Rolling updtaes and deployment rollback
    • Web console for Kubernetes and Kubernetes Engine
    • Stateful workloads in Kubernetes
  2. Best Practices
    • ConfigMaps and Secrets
    • Reserving Resources
    • Liveness and Readiness Probes
    • Static IP Addresses
    • Upgrading Kubernetes
    • Rolling out new container images
  3. Updates in Kubernetes 1.6/1.7/1.8
    • Scheduling pods into nodes
    • Storage
    • Networking
    • Security
  4. CI/CD with Kubernetes
    • Adding containers to your CI/CD pipeline
    • Kubernetes with Jenkins
    • Kubernetes with Container Builder

Deep Learning for Text

Objectives

This course teaches participants the following skills:

  • Create models to classify text.
  • Tagging words.
  • Build language models using deep learning techniques with your owns datasets.

Syllabus

  1. Intro to deep learning
    • Overview
  2. Intro to deep learning with text data
    • Intro to the recurrent neural networks. Basic and advanced models
    • Development of models with deep recurrent neural networks: Network parametrization, training strategies, regularization and embeddings
  3. Intro to the working environment
    • GCP GPU machines
    • Jupyter notebook
    • TensorFlow
  4. Use cases
    • Use case 1: Classify texts into categories. Build a sentiment model from scratch
    • Use case 2: word labelling
    • Use case 3: Language models. Build a character level and a word level language models

Deep Learning for Images

Objectives

This course teaches participants the following skills:

  • Create models to classify images.
  • Detect objects.
  • Build models using deep learning techniques with your owns datasets.

Syllabus

  1. Intro to deep learning
    • Overview
  2. Intro to deep learning applied to images
    • Understand image data
    • Convolutional neural networks
  3. Intro to the working environment
    • GCP GPU machines
    • Jupyter notebook
    • TensorFlow
  4. Use case 1: Classify images from scratch
    • Development of the models: Net parametrization, regularization and visualization of net and results
    • Data augmentation strategies
  5. Use case 2: Classify images with pre-builded models - Transfer learning
    • Understand the most relevant network architectures for image data
  6. Use case 3: Object detection in images. A first approach
    • Develop of a first model to object detection in images

Google Cloud Fundamentals: Core Infrastructure

Objectives

This course teaches participants the following skills:

  • Identify the purpose and value of Google Cloud products and services
  • Interact with Google Cloud services
  • Describe ways in which customers have used Google Cloud
  • Choose among and use application deployment environments on Google Cloud: Google App Engine, Google Kubernetes Engine, and Google Compute Engine
  • Choose among and use Google Cloud storage options: Google Cloud Storage, Google Cloud SQL, Google Cloud Bigtable, and Google Cloud Datastore
  • Make basic use of BigQuery, Google’s managed data warehouse for analytics
  • Make basic use of Cloud Deployment Manager, Google’s tool for creating and managing cloud resources through templates
  • Make basic use of Google Stackdriver, Google’s monitoring, logging, and diagnostics system

Syllabus

  1. Introducing Google Cloud
    • Explain the advantages of Google Cloud
    • Define the components of Google's network infrastructure, including: Points of presence, data centers, regions, and zones
    • Understand the difference between Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS)
  2. Getting Started with Google Cloud
    • Identify the purpose of projects on Google Cloud
    • Understand the purpose of and use cases for Identity and Access Management
    • List the methods of interacting with Google Cloud
    • Lab: Getting Started with Google Cloud
  3. Virtual Machines and Networks in the Cloud
    • Identify the purpose of and use cases for Google Compute Engine
    • Understand the various Google Cloud Platform networking and operational tools and services
    • Lab: Compute Engine
  4. Storage in the Cloud
    • Understand the purpose of and use cases for: Google Cloud Storage, Google Cloud SQL, Google Cloud Bigtable, and Google Cloud Datastore
    • Learn how to choose between the various storage options on Google Cloud
    • Lab: Google Cloud Storage and Cloud SQL
  5. Containers in the Cloud
    • Define the concept of a container and identify uses for containers
    • Identify the purpose of and use cases for Google Kubernetes Engine and Kubernetes
    • Lab: Kubernetes Engine
  6. Applications in the Cloud
    • Understand the purpose of and use cases for Google App Engine
    • Contrast the App Engine Standard environment with the App Engine Flexible environment
    • Understand the purpose of and use cases for Google Cloud Endpoints
    • Lab: App Engine
  7. Developing, Deploying, and Monitoring in the Cloud
    • Understand options for software developers to host their source code
    • Understand the purpose of template-based creation and management of resources
    • Understand the purpose of integrated monitoring, alerting, and debugging
    • Lab: Deployment Manager and Stackdriver
  8. Big Data and Machine Learning in the Cloud
    • Understand the purpose of and use cases for the products and services in the Google Cloud big data and machine learning platforms
    • Lab: BigQuery

From Data to Insights with Google Cloud

Objectives

This course teaches participants the following skills:

  • Derive insights from data using the analysis and visualization tools on Google Cloud
  • Interactively query datasets using Google BigQuery
  • Load, clean, and transform data at scale
  • Visualize data using Google Data Studio and other third-party platforms
  • Distinguish between exploratory and explanatory analytics and when to use each approach
  • Explore new datasets and uncover hidden insights quickly and effectively
  • Optimizing data models and queries for price and performance

Syllabus

  1. Introduction to Data on the Google Cloud
    • Highlight Analytics Challenges Faced by Data Analysts
    • Compare Big Data On-Premise vs on the Cloud
    • Learn from Real-World Use Cases of Companies Transformed through Analytics on the Cloud
    • Navigate Google Cloud Project Basics
    • Lab: Getting started with Google Cloud
  2. Big Data Tools Overview
    • Walkthrough Data Analyst Tasks, Challenges, and Introduce Google Cloud Data Tools
    • Demo: Analyze 10 Billion Records with Google BigQuery
    • Explore 9 Fundamental Google BigQuery Features
    • Compare GCP Tools for Analysts, Data Scientists, and Data Engineers
    • Lab: Exploring Datasets with Google BigQuery
  3. Exploring your Data with SQL
    • Compare Common Data Exploration Techniques
    • Learn How to Code High Quality Standard SQL
    • Explore Google BigQuery Public Datasets
    • Visualization Preview: Google Data Studio
    • Lab: Troubleshoot Common SQL Errors
  4. Google BigQuery Pricing
    • Walkthrough of a BigQuery Job
    • Calculate BigQuery Pricing: Storage, Querying, and Streaming Costs
    • Optimize Queries for Cost
    • Lab: Calculate Google BigQuery Pricing
  5. Cleaning and Transforming your Data
    • Examine the 5 Principles of Dataset Integrity
    • Characterize Dataset Shape and Skew
    • Clean and Transform Data using SQL
    • Clean and Transform Data using a new UI: Introducing Cloud Dataprep
    • Lab: Explore and Shape Data with Cloud Dataprep
  6. Storing and Exporting Data
    • Compare Permanent vs Temporary Tables
    • Save and Export Query Results
    • Performance Preview: Query Cache
    • Lab: Creating new Permanent Tables
  7. Ingesting New Datasets into Google BigQuery
    • Query from External Data Sources
    • Avoid Data Ingesting Pitfalls
    • Ingest New Data into Permanent Tables
    • Discuss Streaming Inserts
    • Lab: Ingesting and Querying New Datasets
  8. Data Visualization
    • Overview of Data Visualization Principles
    • Exploratory vs Explanatory Analysis Approaches
    • Demo: Google Data Studio UI
    • Connect Google Data Studio to Google BigQuery
    • Lab: Exploring a Dataset in Google Data Studio
  9. Joining and Merging Datasets
    • Merge Historical Data Tables with UNION
    • Introduce Table Wildcards for Easy Merges
    • Review Data Schemas: Linking Data Across Multiple Tables
    • Walkthrough JOIN Examples and Pitfalls
    • Lab: Join and Union Data from Multiple Tables
  10. Advanced Functions and Clauses
    • Review SQL Case Statements
    • Introduce Analytical Window Functions
    • Safeguard Data with One-Way Field Encryption
    • Discuss Effective Sub-query and CTE design
    • Compare SQL and Javascript UDFs
    • Lab: Deriving Insights with Advanced SQL Functions
  11. Schema Design and Nested Data Structures
    • Compare Google BigQuery vs Traditional RDBMS Data Architecture
    • Normalization vs Denormalization: Performance Tradeoffs
    • Schema Review: The Good, The Bad, and The Ugly
    • Arrays and Nested Data in Google BigQuery
    • Lab: Querying Nested and Repeated Data
  12. More Visualization with Google Data Studio
    • Create Case Statements and Calculated Fields
    • Avoid Performance Pitfalls with Cache considerations
    • Share Dashboards and Discuss Data Access considerations
  13. Optimizing for Performance
    • Avoid Google BigQuery Performance Pitfalls
    • Prevent Hotspots in your Data
    • Diagnose Performance Issues with the Query Explanation map
    • Lab: Optimizing and Troubleshooting Query Performance
  14. Advanced Insights
    • Introducing Cloud Datalab
    • Cloud Datalab Notebooks and Cells
    • Benefits of Cloud Datalab
  15. Data Access
    • Compare IAM and BigQuery Dataset Roles
    • Avoid Access Pitfalls
    • Review Members, Roles, Organizations, Account Administration, and Service Accounts

Google Cloud Fundamentals: Big Data & Machine Learning

Objectives

This course teaches participants the following skills:

  • Identify the purpose and value of the key Big Data and Machine Learning products in the Google Cloud
  • Use CloudSQL and Cloud Dataproc to migrate existing MySQL and Hadoop/Pig/Spark/Hive workloads to Google Cloud
  • Employ BigQuery and Cloud Datalab to carry out interactive data analysis
  • Train and use a neural network using TensorFlow
  • Employ ML APIs
  • Choose between different data processing products on the Google Cloud

Syllabus

  1. Introducing Google Cloud
    • Google Platform Fundamentals Overview
    • Google Cloud Platform Big Data Products
  2. Compute and Storage Fundamentals
    • CPUs on demand (Compute Engine)
    • A global filesystem (Cloud Storage)
    • CloudShell
    • Lab: Set up a Ingest-Transform-Publish data processing pipeline
  3. Data Analytics on the Cloud
    • Stepping-stones to the cloud
    • CloudSQL: your SQL database on the cloud
    • Lab: Importing data into CloudSQL and running queries
    • Spark on Dataproc
    • Lab: Machine Learning Recommendations with SparkML
  4. Scaling Data Analysis
    • Fast random access
    • Datalab
    • BigQuery
    • Lab: Build machine learning dataset
  5. Machine Learning
    • Machine Learning with TensorFlow
    • Lab: Carry out ML with TensorFlow
    • Pre-built models for common needs
    • Lab: Employ ML APIs
  6. Data Processing Architectures
    • Message-oriented architectures with Pub/Sub
    • Creating pipelines with Dataflow
    • Reference architecture for real-time and batch data processing
  7. Summary
    • Why GCP?
    • Where to go from here
    • Additional Resources

Data Engineering on Google Cloud

Objectives

This course teaches participants the following skills:

  • Design and build data processing systems on Google Cloud
  • Process batch and streaming data by implementing autoscaling data pipelines on Cloud Dataflow
  • Derive business insights from extremely large datasets using Google BigQuery
  • Train, evaluate and predict using machine learning models using Tensorflow and Cloud ML
  • Leverage unstructured data using Spark and ML APIs on Cloud Dataproc
  • Enable instant insights from streaming data

Syllabus

  1. Google Cloud Dataproc Overview
    • Creating and managing clusters
    • Leveraging custom machine types and preemptible worker nodes
    • Scaling and deleting Clusters
    • Lab: Creating Hadoop Clusters with Google Cloud Dataproc
  2. Running Dataproc Jobs
    • Running Pig and Hive jobs
    • Separation of storage and compute
    • Lab: Running Hadoop and Spark Jobs with Dataproc
    • Lab: Submit and monitor jobs
  3. Integrating Dataproc with Google Cloud
    • Customize cluster with initialization actions
    • BigQuery Support
    • Lab: Leveraging Google Cloud Services
  4. Making Sense of Unstructured Data with Google’s Machine Learning APIs
    • Google’s Machine Learning APIs
    • Common ML Use Cases
    • Invoking ML APIs
    • Lab: Adding Machine Learning Capabilities to Big Data Analysis
  5. Serverless data analysis with BigQuery
    • What is BigQuery
    • Queries and Functions
    • Lab: Writing queries in BigQuery
    • Loading data into BigQuery
    • Exporting data from BigQuery
    • Lab: Loading and exporting data
    • Nested and repeated fields
    • Querying multiple tables
    • Lab: Complex queries
    • Performance and pricing
  6. Serverless, autoscaling data pipelines with Dataflow
    • The Beam programming model
    • Data pipelines in Beam Python
    • Data pipelines in Beam Java
    • Lab: Writing a Dataflow pipeline
    • Scalable Big Data processing using Beam
    • Lab: MapReduce in Dataflow
    • Incorporating additional data
    • Lab: Side inputs
    • Handling stream data
    • GCP Reference architecture
  7. Getting started with Machine Learning
    • What is machine learning (ML)
    • Effective ML: concepts, types
    • ML datasets: generalization
    • Lab: Explore and create ML datasets
  8. Building ML models with Tensorflow
    • Getting started with TensorFlow
    • Lab: Using tf.learn
    • TensorFlow graphs and loops
    • Lab: Using low-level TensorFlow + early stopping
    • Monitoring ML training
    • Lab: Charts and graphs of TensorFlow training
  9. Scaling ML models with CloudML
    • Why Cloud ML?
    • Packaging up a TensorFlow model
    • End-to-end training
    • Lab: Run a ML model locally and on cloud
  10. Feature Engineering
    • Creating good features
    • Transforming inputs
    • Synthetic features
    • Preprocessing with Cloud ML
    • Lab: Feature engineering
  11. Architecture of streaming analytics pipelines
    • Stream data processing: Challenges
    • Handling variable data volumes
    • Dealing with unordered/late data
    • Lab: Designing streaming pipeline
  12. Ingesting Variable Volumes
    • What is Cloud Pub/Sub?
    • How it works: Topics and Subscriptions
    • Lab: Simulator
  13. Implementing streaming pipelines
    • Challenges in stream processing
    • Handle late data: watermarks, triggers, accumulation
    • Lab: Stream data processing pipeline for live traffic data
  14. Streaming analytics and dashboards
    • Streaming analytics: from data to decisions
    • Querying streaming data with BigQuery
    • What is Google Data Studio?
    • Lab: build a real-time dashboard to visualize processed data
  15. High throughput and low-latency with Bigtable
    • What is Cloud Spanner?
    • Designing Bigtable schema
    • Ingesting into Bigtable
    • Lab: streaming into Bigtable

Architecting with Google Cloud: Infrastructure

Objectives

This course teaches participants the following skills:

  • Consider the entire range of Google Cloud technologies in their plans.
  • Learn methods to develop, implement, and deploy solutions.
  • Distinguish between features of similar or related products and technologies.
  • Recognize a wide variety of solution domains, use cases, and applications.
  • Develop essential skills for managing and administering solutions.
  • Develop knowledge of solution patterns -- methods, technologies, and designs that are used to implement security, scalability, high availability, and other desired qualities.

Syllabus

  1. Introduction to Google Cloud
    • Google Cloud Platform (GCP) Infrastructure
    • Using GCP
    • Lab: Console and Cloud Shell
    • Demo: Projects
    • Lab: Infrastructure Preview
  2. Virtual Networks
    • Virtual Private Cloud (VPC), Projects, Networks, Subnetworks, IP addresses, Routes, Firewall rules
    • Subnetworks for resource management instead of physical network topology
    • Lab: Virtual Networking
    • Lab: Bastion Host
  3. Virtual Machines
    • Compute Engine
    • Lab: Creating Virtual Machines
    • Compute options (vCPU and Memory)
    • Images
    • Common Compute Engine actions
    • Lab: Working with Virtual Machines
  4. Cloud IAM
    • Organizations, Roles, Members, Service accounts, Cloud IAM best practices
    • Lab: Cloud IAM
  5. Data Storage Services
    • Cloud Storage
    • Lab: Cloud Storage
    • Cloud SQL
    • Lab: Cloud SQL
    • Cloud Spanner, Cloud Datastore
    • Lab: Cloud Datastore
    • Cloud Bigtable
  6. Resource Management
    • Cloud Resource Manager, Quotas, Labels, Names, Billing
    • Demo: Billing Administration
    • Lab: Examining Billing Data with BigQuery
  7. Resource Monitoring
    • Stackdriver, Monitoring
    • Lab: Resource Monitoring (Stackdriver)
    • Logging, Error Reporting, Tracing, Debugging
    • Lab: Error Reporting and Debugging (Stackdriver)
  8. Interconnecting Networks
    • Cloud Virtual Private Network (VPN)
    • Lab: Virtual Private Networks (VPN)
    • Cloud Router, Cloud Interconnect, External Peering, Cloud DNS
  9. Load Balancing
    • Managed Instance Groups, HTTPS load balancing, Cross-region and content-based load balancing, SSL proxy/TCP proxy load balancing, Network load balancing
    • Lab: VM Automation and Load Balancing
  10. Autoscaling
    • Autoscaling, Policies, Configuration
    • Lab: Autoscaling
  11. Infrastructure Automation with Google Cloud Platform APIs
    • Infrastructure automation, Images, Metadata, Scripts, Google Cloud API
    • Lab: Google Cloud Platform API Infrastructure Automation
  12. Infrastructure Automation with Deployment Manager
    • Deployment Manager, Configuration, Cloud Launcher
    • Lab: Deployment Manager
  13. Managed Services
    • Cloud Dataproc, Cloud Dataflow, BigQuery, Cloud Datalab
  14. Application Infrastructure Services
    • Cloud Pub/Sub, API Management, Cloud Functions, Cloud Source Repositories, Specialty APIs
  15. Application Development Services
    • App Engine
  16. Containers
    • Containers, Kubernetes Engine, Container Registry
    • Lab: Kubernetes Load Balancing
    • Kubernetes Engine, App Engine, or Containers on Compute Engine?

Architecting with Google Cloud: Design and Process

Objectives

This course teaches participants the following skills:

  • Design for high availability, scalability, and maintainability.
  • Assess tradeoffs and make sound choices among Google Cloud products.
  • Integrate on-premises and cloud resources.
  • Identify ways to optimize resources and minimize cost.
  • Implement processes that minimize downtime, such as monitoring and alarming, unit and integration testing, production resilience testing, and incident post-mortem analysis.
  • Implement policies that minimize security risks, such as auditing, separation of duties and least privilege.
  • Implement technologies and processes that assure business continuity in the event of a disaster.

Syllabus

  1. Defining the Service
    • Design in this class.
    • State and solution.
    • Measurement.
    • Gathering requirements, SLOs, SLAs, and SLIs (key performance indicators).
  2. Business-logic layer design
    • Microservices architecture.
    • GCP 12-factor support.
    • Mapping compute needs to Google Cloud processing services.
    • Compute system provisioning.
  3. Data layer design
    • Classifying and characterizing data.
    • Data ingest and data migration.
    • Identification of storage needs and mapping to Google Cloud storage systems.
  4. Presentation layer design
    • Network edge configuration.
    • Network configuration for data transfer within the service, including load balancing and network location.
    • Network integration with other environments, including on premise and multi-cloud.
  5. Design for resiliency, scalability, and disaster recovery
    • Failure due to loss of resources.
    • Failure due to overload.
    • Strategies for coping with failure.
    • Business continuity and disaster recovery, including restore strategy and data lifecycle management.
    • Scalable and resilient design.
  6. Design for security
    • Google Cloud security.
    • Network access control and firewalls.
    • Protections against denial of service.
    • Resource sharing and isolation.
    • Data encryption and key management.
    • Identity access and auditing.
  7. Capacity planning and cost optimization
    • Capacity planning.
    • Pricing.
  8. Deployment, monitoring and alerting, and incident response
    • Deployment.
    • Monitoring and alerting.
    • Incident response.

Developing Applications with Google Cloud

Objectives

This course teaches participants the following skills:

  • Use best practices for application development.
  • Choose the appropriate data storage option for application data.
  • Implement federated identity management.
  • Develop loosely coupled application components or microservices.
  • Integrate application components and data sources.
  • Debug, trace, and monitor applications.
  • Perform repeatable deployments with containers and deployment services.
  • Choose the appropriate application runtime environment; use Google Kubernetes Engine as a runtime environment and later switch to a no-ops solution with Google App Engine Flex.

Syllabus

  1. Best Practices for Application Development
    • Code and environment management
    • Design and development of secure, scalable, reliable, loosely coupled application components and microservices
    • Continuous integration and delivery
    • Re-architecting applications for the cloud
  2. Google Cloud Client Libraries, Google Cloud SDK, and Google Firebase SDK
    • How to set up and use Google Cloud Client Libraries, Google Cloud SDK, and Google Firebase SDK
    • Lab: Set up Google Client Libraries, Google Cloud SDK, and Firebase SDK on a Linux instance and set up application credentials
  3. Overview of Data Storage Options
    • Overview of options to store application data
    • Use cases for Google Cloud Storage, Google Cloud Datastore, Cloud Bigtable, Google Cloud SQL, and Cloud Spanner
  4. Best Practices for Using Google Cloud Datastore
    • Queries
    • Built-in and composite indexes
    • Inserting and deleting data (batch operations)
    • Transactions
    • Error handling
    • Bulk-loading data into Cloud Datastore by using Google Cloud Dataflow
    • Lab: Store application data in Cloud Datastore
  5. Performing Operations on Buckets and Objects
    • Operations that can be performed on buckets and objects
    • Consistency model
    • Error handling
  6. Best Practices for Using Google Cloud Storage
    • Naming buckets for static websites and other uses
    • Naming objects (from an access distribution perspective)
    • Performance considerations
    • Setting up and debugging a CORS configuration on a bucket
    • Lab: Store files in Cloud Storage
  7. Handling Authentication and Authorization
    • Cloud Identity and Access Management (IAM) roles and service accounts
    • User authentication by using Firebase Authentication
    • User authentication and authorization by using Cloud Identity-Aware Proxy
    • Lab: Authenticate users by using Firebase Authentication
  8. Using Google Cloud Pub/Sub to Integrate Components of Your Application
    • Topics, publishers, and subscribers
    • Pull and push subscriptions
    • Use cases for Cloud Pub/Sub
    • Lab: Develop a backend service to process messages in a message queue
  9. Adding Intelligence to Your Application
    • Overview of pre-trained machine learning APIs such as Cloud Vision API and Cloud Natural Language Processing API
  10. Using Google Cloud Functions for Event-Driven Processing
    • Key concepts such as triggers, background functions, HTTP functions
    • Use cases
    • Developing and deploying functions
    • Logging, error reporting, and monitoring
  11. Managing APIs with Google Cloud Endpoints
    • Open API deployment configuration
    • Lab: Deploy an API for your application
  12. Deploying an Application by Using Google Cloud Container Builder, Google Cloud Container Registry, and Google Cloud Deployment Manager
    • Creating and storing container images
    • Repeatable deployments with deployment configuration and templates
    • Lab: Use Deployment Manager to deploy a web application into Google App Engine flexible environment test and production environments
  13. Execution Environments for Your Application
    • Google Compute Engine
    • Kubernetes Engine
    • App Engine flexible environment
    • Cloud Functions
    • Cloud Dataflow
    • Lab: Deploying your application on App Engine flexible environment
  14. Debugging, Monitoring, and Tuning Performance by Using Google Stackdriver
    • Stackdriver Debugger
    • Stackdriver Error Reporting
    • Lab: Debugging an application error by using Stackdriver Debugger and Error Reporting
    • Stackdriver Logging
    • Key concepts related to Stackdriver Trace and Stackdriver Monitoring.
    • Lab: Use Stackdriver Monitoring and Stackdriver Trace to trace a request across services, observe, and optimize performance

Google Cloud Fundamentals for AWS Professionals

Objectives

This course teaches participants the following skills:

  • Identify GCP counterparts for Amazon VPC, subnets, routes, NACLs, IGW, Amazon EC2, Amazon EBS, auto-scaling, Elastic Load Balancing, Amazon S3, Amazon Glacier, Amazon RDS, Amazon Redshift, AWS IAM, and more.
  • Configure accounts, billing, projects, networks, subnets, firewalls, VMs, disks, auto scaling, load balancing, storage, databases, IAM, and more.
  • Manage and monitor applications.
  • Explain feature and pricing model differences.
  • Locate documentation and training.

Syllabus

  1. Introducing Google Cloud
    • Google Cloud infrastructure.
    • AWS regions, availability zones, and CloudFront.
    • GCP regions, zones, edge caching, and Cloud CDN.
    • GCP services.
  2. Setting up Accounts and Billing
    • AWS accounts, billing, and IAM roles.
    • GCP accounts, billing accounts, projects, and admin setup.
    • Account, billing, project, and admin setup.
    • Lab: Set up projects and billing accounts with a free-trial GCP account.
  3. Networking
    • Amazon VPC, subnets, routes, NACLs, and security groups.
    • GCP networks, subnets, routes, and firewall rules.
    • VMs in networks.
    • Lab: Add VMs, explore the default network, and test connectivity.
  4. Working with VM Instances
    • Amazon EC2 instance types, AMIs, Amazon EBS, ephemeral drives, spot instances.
    • Google Compute Engine machine types, instances, persistent disks, local SSDs, preemptible VMs.
    • VM and web app deployment.
    • Lab: Deploy VMs with an app by console and command line.
  5. Scaling and Load Balancing Apps
    • Amazon EC2 launch configurations, auto-scaling groups, load balancing.
    • Google Compute Engine instance templates, managed instance groups, load balancing.
    • Autoscaling and load balancing setup.
    • Lab: Scale and load balance instances, and test under load.
  6. Isolating Instances and Apps
    • A 3-tier web app in GCP.
    • A custom network with custom subnets and firewall rules.
    • Lab: Build a 3-tier web app with public front-end and private backend.
  7. Using Storage as a Service and Database as a Service
    • Amazon S3, Amazon Glacier, Amazon RDS, Amazon DynamoDB, Amazon Redshift, Amazon Athena.
    • Google Cloud Storage, Google Cloud SQL, Cloud Spanner, Google Cloud Datastore, Google Cloud Bigtable, Google BigQuery.
    • Lab: Use gsutil command-line tool to perform operations on buckets and objects in Cloud Storage.
    • Lab: Load and analyze data in BigQuery.
  8. Deployment and Monitoring
    • AWS CloudFormation, Amazon CloudWatch.
    • Google Cloud Deployment Manager, Google StackDriver.
    • Lab: Deploy your infrastructure using Deployment Manager.

Getting Started with Google Kubernetes Engine

Objectives

This course teaches participants the following skills:

  • Understand container basics.
  • Containerize an existing application.
  • Understand Kubernetes concepts and principles.
  • Deploy applications to Kubernetes using the CLI.
  • Set up a continuous delivery pipeline using Spinnaker and/or Jenkins.

Syllabus

  1. Introduction to Containers and Docker
    • Create a container.
    • Package a container using Docker.
    • Store a container image in Google Container Registry.
    • Launch a Docker container.
  2. Kubernetes Basics
    • Provision a complete Kubernetes cluster using Kubernetes Engine.
    • Deploy and manage Docker containers using kubectl.
    • Break an application into microservices using Kubernetes’ Deployments and Services.
  3. Deploying to Kubernetes
    • Create a Kubernetes deployment.
    • Trigger, pause, resume, and rollback updates.
    • Understand and build canary deployments.
  4. Creating a Continuous Delivery Pipeline
    • Provision Spinnaker or Jenkins in your Kubernetes cluster.
    • Manage application code in a source repository that can trigger code changes to a continuous delivery pipeline.
    • Create a continuous delivery pipeline and start it manually or automatically with a code change.
    • Implement a canary deployment that hosts two versions of your application in production for release testing.

Spring Core Official Course

Objectives

At the end of the training, you should have an understanding of Spring and associated technologies and be able to do the following:

  • Use the Spring Framework to develop Java applications
  • Use dependency injection to set up and configure applications
  • Test Spring-based applications
  • Set up Spring configuration using XML, annotations and Java configuration
  • Use Spring Data JPA and JDBC to rapidly implement relational database access
  • Use Spring support for transactions
  • Use aspect-oriented programming (AOP) to add behavior to objects
  • Develop a basic Web application with Spring MVC
  • Use Spring Security to secure Web applications
  • Use Spring to easily build REST web services
  • Take the Spring Boot shortcut to productivity
  • Start the journey to Microservices and Cloud Native Applications

Syllabus

  1. Introduction to Spring
    • Java configuration and the Spring application context
    • @Configuration and @Bean annotations
    • @Import: working with multiple configuration files
    • Launching a Spring Application and obtaining Beans
  2. Spring Java configuration: A deeper look
    • External properties & Property sources
    • Environment abstraction
    • Bean scope, bean profiles
    • Spring Expression Language (SpEL)
    • How it Works: Inheritance based proxies
  3. Annotation-based dependency injection
    • Autowiring and component scanning
    • Java configuration versus annotations, mixing.
    • Lifecycle annotations: @PostConstruct and @PreDestroy
    • Stereotypes and meta-annotations
  4. XML dependency injection
    • XML syntax, constructor & setter injection
    • Resource prefixes
    • Namespaces and best practices when using XML
    • XML profile selection
  5. The bean lifecycle: How does Spring work internally?
    • The init phase: available interceptors
    • The init phase: what is the difference between XML, annotations and Java configuration?
    • The use and destruction phases
  6. Testing a Spring-based application
    • Spring and Test Driven Development
    • @ContextConfiguration and @RunWith annotations
    • Application context caching and the @DirtiesContext annotation
    • Profile selection with @ActiveProfiles
    • Easy test data setup with @Sql
  7. Aspect-oriented programming
    • What problems does AOP solve?
    • Differences between Spring AOP and AspectJ
    • Defining pointcut expressions
    • Implementing an advice: @Around, @Before, @After
  8. Data access and JDBC with Spring
    • How Spring integrates with existing data access technologies
    • DataAccessException hierarchy
    • Implementing caching using @Cacheable
    • jdbc namespace and Spring‘s JdbcTemplate
  9. Database transactions with Spring
    • @Transactional annotation
    • Transactions configuration: XML versus annotations
    • Isolation levels, transaction propagation and rollback rules
    • Transactions and integration testing
    • Should you use read-only transactions?
  10. JPA with Spring and Spring Data
    • Quick introduction to ORM with JPA
    • Benefits of using Spring with JPA
    • JPA configuration in Spring
    • Spring Data JPA dynamic repositories
  11. Spring in a Web application
    • Configuring Spring in a Web application
    • Introduction to Spring MVC, required configuration
    • Controller method signatures
    • Views and ViewResolvers
    • Using @Controller and @RequestMapping annotations
  12. Spring Boot
    • Using Spring Boot to bypass most configuration
    • Simplified dependency management with starter POMs
    • Packaging options, JAR or WAR
    • Easily overriding Spring Boot defaults
  13. Spring Boot - Going further
    • Going beyond the default settings
    • Customizing Spring Boot configuration
    • Logging control
    • Configuration properties using YAML
    • Boot-driven testing
  14. Spring Security
    • What problems does Spring Security solve?
    • Configuring authentication and intercepting URLs
    • The Spring Security tag library for JSPs
    • Security at the method level
    • Customizing the Spring Security filter chain
  15. REST with Spring MVC
    • An introduction to the REST architectural style
    • Controlling HTTP response codes with @ResponseStatus
    • Implementing REST with Spring MVC, @RequestBody, @ResponseBody
    • Spring MVC’s HttpMessageConverters and automatic content negotiation
  16. Microservices with Spring Cloud
    • Microservice Architectures
    • Challenges with cloud-native applications
    • Using Spring Cloud
    • Developing a simple microservice system

Spring Boot Developer

Objectives

Upon completion of this course, participants will understand how Spring Boot enhances the following:

  • Describe the benefits provided by Spring Boot
  • Initialize a project using Spring Boot Starters
  • Leverage Spring Boot's auto configuration features to enable JDBC setup and initialization
  • Create simplified backing-store solutions using Spring Data and JPA
  • Build a simple MVC application using Spring Boot, embedded Web Server and fat JARs or classic WARs
  • Build a RESTful Web application
  • Use Spring Security to secure Web and REST endpoints
  • Enable and extend metrics and monitoring capabilities using Spring Boot actuator
  • Leverage advance configuration capabilities
  • Utilize Spring Boot enhancements to testing

Syllabus

  1. Review of Spring Essentials
    • Why Spring
    • Configuration using Spring
    • Bean creation
    • Data Management
  2. Spring Boot Introduction
    • Introduction to Spring Boot
    • Value Proposition of Spring Boot
    • High-level Spring Boot features
    • Creating a simple Boot application using Spring Initializr web-site
  3. Spring Boot dependencies, auto-configuration and runtime
    • Dependency management using Spring Boot starters
    • How auto-configuration works
    • Configuration properties
    • Overriding auto-configuration
    • Using CommandLineRunner
  4. JPA with Spring and Spring Data
    • Quick introduction to ORM with JPA
    • Benefits of using Spring with JPA
    • JPA configuration in Spring
    • Configuring Spring JPA using Spring Boot
    • Spring Data JPA dynamic repositories
  5. Spring MVC architecture and overview
    • Introduction to Spring MVC and request processing
    • Controller method signatures
    • Using @Controller, @RestController and @GetMapping annotations
    • Configuring Spring MVC with Spring Boot
    • Spring Boot packaging options, JAR or WAR
  6. REST with Spring MVC
    • An introduction to the REST architectural style
    • Controlling HTTP response codes with @ResponseStatus
    • Implementing REST with Spring MVC, @RequestMapping, @RequestBody and @ResponseBody
    • Spring MVC’s HttpMessageConverters and automatic content negotiation
  7. Spring Security
    • What problems does Spring Security solve?
    • Configuring authentication
    • Implementing authorization by intercepting URLs
    • Authorization using OAuth
    • Authorization at the Java method level
    • Understanding the Spring Security filter chain
  8. Actuators, metrics and health indicators
    • Enabling Spring Boot Actuator
    • Custom Metrics
    • Health Indicators
    • Creating custom Health Indicators
    • External monitoring systems
  9. Spring Boot testing enhancements
    • Spring Boot testing overview
    • Integration testing and slices
    • Slices to test different layers of the application

Spring Cloud Developer

Objectives

Upon completion of this course, participants will be able to demonstrate how each of following components contribute to Cloud-Native applications deployment, scaling and fault tolerance characteristics:

  • Distributed Application
  • Service-to-service Calls
  • Service Registration and Discovery
  • Client vs. Server Side Load balancing
  • Circuit Breakers
  • Config Server
  • Distributed Trace

Syllabus

  1. Introduction
    • Spring Cloud Introduction
  2. Distributed application
    • Application Continuum
    • Spring Cloud Dependencies
  3. Service Registry and Discovery
    • Service Registry Pattern
    • Eureka Service Registry
    • Service Discovery Clients
    • Eureka Server REST Operations
    • Eureka Client Health Check
  4. Client Load Balancing
    • Spring Cloud Netflix Ribbon
    • Retry and Custom Load Balancing Rule
  5. Circuit Breaker
    • Netflix Hystrix
    • Stats Aggregation
  6. Config Server
    • External Configuration
    • Spring Cloud Config Server
    • Distributed Updates
    • Vault Backend
    • Handling Transient Failures
  7. Declarative REST client
    • Netflix Feign Client
  8. Distributed trace
    • Producer - Sleuth
    • Consumer - Zipkin
  9. Security with OAuth 2.0
    • Securing REST Endpoints