Posts in Giáo Dục

Khởi đầu cùng AWS Certified Cloud Practitioner

Giới thiệu AWS Certified Cloud Practitioner (CCP)

AWS CCP là bước khởi đầu đơn giản nhất giúp bạn bước dần vào thế giới Amazon Web Services, 1 nền tảng xây dựng trên cloud.

Vì đây là kiến thức nền tảng nên rất cơ bản, mình sẽ ko nói nhiều về nội dung, mình sẽ chỉ tóm lược và breakdown và tổng hợp 1 số keyword chung nhất để mọi người có thể tiếp cận nhanh hơn.

Mình học từ youtube kênh exampro

Yêu cầu: các bạn cần có 1 trình độ tiếng anh để nghe hiểu trọn vẹn video này. khi đó nó sẽ giúp bạn đi rất nhanh và chính xác nội dung.

Thời gian tối thiểu: theo mình cần tầm 8 tiếng, vì sao lại là 8 tiếng mình sẽ trình bày ở mục cách học và tiếp cận bên dưới.

Breakdown Keyword List như bên dưới

Các mục và các keyword breakdown mình lượm lặt và tổng hợp lại từ video bên trên, có thể theo mình nó là cần thiết và tối giản nhất giúp bạn đọc dễ hình dung keyword lớn là gì và keyword nhỏ là gì? Nội dung đó bổ sung cho keyword lớn như thế nào.

CCP tập trung rất nhiều về concepts và technologies của aws nên các bạn nên xem kĩ các nội dung 2 phần này nhé.

⭐️ Course Contents ⭐️

☁️ Introduction

⌨️ (0:00:00) Meet Your Instructor Andrew Brown

⌨️ (0:00:40) Why Get AWS Cloud Practitioner Certified?

90mins – 65 questions – 70% passing score – 3 yrs valid

⌨️ (0:06:40) Exam Guide Overview

Cloud Concepts 28%

Security 24%

Technology 36%

Billing and Pricing 12%

☁️ Cloud Concepts

⌨️ (0:09:57) What is Cloud Computing?

On-Premise

Cloud Providers

⌨️ (0:12:10) Six Advantages and Benefits of Cloud Computing

Trade capital expense for variable expense

Benefit from massive economies of scale

Stop guessing capacity

Increase speed and agility

Stop spending money on running and maintaining data centers

Go global in minutes

⌨️ (0:14:42) Types of Cloud Computing

Saas/PaaS/IaaS

⌨️ (0:16:48) Cloud Computing Deployment Models

Cloud : fully utilizing cloud computing

Hybrid : cloud and on-premise

On-Premise : local server/ data centers

☁️ AWS Global Infrastructure

⌨️ (0:19:27) Introduction and Map Overview

Rgions/Availability Zones (Azs) / Edge Location

⌨️ (0:20:30) Regions

Datacenter(AZs), at least 2 AZs on each region

US-East largest region and most new service appears here first

⌨️ (0:24:30) Availability Zones

10ms latency between AZs

⌨️ (0:25:42) Edge Locations

AZs owned by a trusted partner

⌨️ (0:27:27) GovCloud Regions

Only accessible to U.S

☁️ Getting Started

⌨️ (0:29:20) Creating an AWS Account

⌨️ (0:32:43) Billing Preferences, Budgets and Alarms

⌨️ (0:40:09) Change IAM Users Sign-in Link

IAM: Identity and Access Management

MFA: Multi Factor Authentication

⌨️ (0:41:14) Activate MFA on Root Account

⌨️ (0:43:40) Create individual IAM user

Create New User

Reset User Security Credential

⌨️ (0:48:44) Set a password policy

☁️ Hands On

⌨️ (0:49:50) Intro and Regions

⌨️ (0:51:03) EC2

EC2->Launch Instance

SSM: Simple System Management(Role)

⌨️ (0:55:36) Sessions Manager

SSM-> Session Manager

⌨️ (0:58:36) AMI

AMI: Amazon Machine Image (Instance43->Create Image)

⌨️ (1:00:32) Auto Scaling Groups

AMI is connected to setup in ASG

⌨️ (1:07:31) Elastic Load Balancer

Load Balance in front of Instance

3 types of ELB

Create Multi Instance -> Create Load Balance -> Register Target (Add Instance)

⌨️ (1:12:47) S3

Create Bucket

⌨️ (1:14:29) CloudFront

Use as CDN Content Contribution Networks (as static contents)

Create CloudFront Distribution

⌨️ (1:16:52) RDS

Databases-> Create Database

⌨️ (1:22:00) Lambda

Lambda Function

Runtime (language to use to write your function)

☁️ EC2 Pricing Models

⌨️ (1:25:28) Introduction

⌨️ (1:25:46) On-Demand

⌨️ (1:26:19) Reserved Instances(RI)

⌨️ (1:28:52) Spot Instances

Like a trade-off instances resource, suitable for AWS batch

⌨️ (1:30:38) Dedicated Host Instances

When needed an isolate hardware

⌨️ (1:32:11) EC2 Pricing CheatSheet

☁️ Billing and Pricing

⌨️ (1:35:04) Free Services

Auto Scaling/CLoudFormation/Elastic Beanstalk/Ops works/Amplify/AppSync/CodeStart

⌨️ (1:36:08) AWS Support Plans

Basic/Developer/Business/Enterprise

⌨️ (1:40:05) Follow Along – Lets create a support case

⌨️ (1:44:05) AWS Marketplace

Independent Software vendors

⌨️ (1:45:05) Follow Along – Marketplace subscription

⌨️ (1:50:45) AWS Trusted Advisor

Cost Optimization/Performance/Security/Fault Tolerance/Service Limits

⌨️ (1:54:13) Follow Along Trusted Advisor

⌨️ (1:55:43) Consolidated Billing (One bill for all accounts)

⌨️ (1:56:54) Consolidated Billing Volume Discounts

Save costs for using service

⌨️ (1:58:36) AWS Cost Explorer

Visualize/understand/manage aws costs

Forecasting costs

⌨️ (2:00:16) AWS Cost Explorer Follow Along

⌨️ (2:04:16) AWS Budgets

Plan service usage, services costs and instance reservations -> 3 type of budgets : Usage/Cost/Reservation

⌨️ (2:06:31) AWS Budgets Follow Along

⌨️ (2:10:24) TCO Calculator: Total Cost of Ownership

⌨️ (2:11:20) TCO Calculator Follow Along

⌨️ (2:14:44) AWS Landing Zone

Provides a baseline env to get started with a multi-account architecture

⌨️ (2:17:28) Resource Groups and Tagging

Help to organize and consolidate information based on project and the resources that used

⌨️ (2:18:37) Resource Groups Follow Along

⌨️ (2:23:40) AWS QuickStart

⌨️ (2:26:48) AWS Cost and Usage Report

S3/Athena/QuickSight to turn report into database and visualize it

⌨️ (2:27:32) Cost and Usage Follow Along

My Billing Dashboard -> Cost & Usage report

Report is exported to S3

☁️ Technology Overview

⌨️ (2:30:18) AWS Organizations and Accounts

Organizations

Root Account User

Organization Units : Service Control Policies

⌨️ (2:31:43) AWS Organizations Follow Along

Be able to apply policies for each account in org

⌨️ (2:44:13) AWS Networking

AWS Account -> Region -> VPC -> AZ -> Public/Private Subnet

⌨️ (2:47:27) Database Services

DynamoDB

DocumentDB

RDS, Aurora(Aurora MySQL Aurora Server-less like AWS Lambda)

Neptune – Managed Graph DB

Redshift – Columnar DB

ElastiCache (Redis or Memcached DB)

⌨️ (2:51:31) Provisioning Services

Elastic Beanstalk

OpsWorks

CloudFormation

AWS QuickStart : pre-made pkgs

AWS Marketplace

⌨️ (2:56:01) Computing Services

EC2

ECS

Fargate

EKS

Lambda

Elastic Beanstalk

AWS Batch

⌨️ (3:00:05) Storage Services

S3

S3 Glacier : low cost, long-term backup

Storage Gateway

EBS-Elastic Block Storage : SSD, IOPS SSD, Throughput HDD, Cold HDD

EFS-Elastic File Storage :

Snowball (Snowball Edge/ Snowmobile)

⌨️ (3:03:52) Business Centric Services

Amazon Connect – Call Center

Workspaces – Virtual Remote Desktop

WorkDocs – A content creation and collaboration service – AWS version of Sharepoint

Chime – AWS Platforms for online mtg, video conferencing

Work mail – business mail

Pinpoint – use for sending targeted email

SES-Simple Email Service

QuickSight – A bussiness intelligence (BI)

⌨️ (3:07:28) Enterprise Integration

Direct Connect

VPN (Site to Site / Client VPN)

Storage Gateway

Active Directory – AWS Managed Mircosoft

⌨️ (3:09:13) Logging Services

CloudTrail – API Calls Log between AWS Service

CLoudWatch (Logs/ Metrics/ Events/ Alarms/Dashboard)

⌨️ (3:12:33) Know your Initialisms (⭐️)

Must read to abbreviation keywords in AWS

☁️ Security

⌨️ (3:13:49) Shared Responsibility Model

Customers are responsible for Security IN the Cloud

AWS is responsible OF the Cloud

⌨️ (3:15:34) AWS Compliance programs

⌨️ (3:17:59) AWS Artifact

How do we prove AWS meets a compliance?

⌨️ (3:19:05) AWS Artifact Follow Along

⌨️ (3:21:35) Amazon Inspector

How do we prove an EC2 Instance is harden?

⌨️ (3:23:04) AWS WAF

Write own rules to ALLOW or DENY traffic based on the contents of an HTTP request

Or use a ruleset from AWS Trusted Partner

CloudFront+WAF/ALB+WAF

⌨️ (3:24:17) AWS Shield

Is a managed DDos (Distributed Denial of Service)

Route53 or CloudFront using AWS Shield Standard

Shield Standard vs Shield Advance (3k$ per yrs)

⌨️ (3:27:42) Penetration Testing

An authorized simulated cyberattack on a computer system

Permitted Services (8 services) vs Prohibited Activities

⌨️ (3:29:29) Guard Duty

Is a threat protection service.

Intrusion Detection System (IDS) vs Intrusion Protection System (IPS)

CloudTrail Logs/VPC FLow Logs/ DNS Logs

⌨️ (3:31:13) Key Management Service (KMS)

encryption keys used to encrypt your data

HSM/Envelope Encryption (an addition layer of security : master key)

⌨️ (3:32:50) Amazon Macie

Macie is a ML to analyze CloudTrail logs to alert securities

Monitoring S3 data access

⌨️ (3:35:06) Security Groups vs NACLs

Security Groups : instances level – default all deny, you need to create allow rules

NACLs: subnet level

Network Access Control Lists -> Create both Allow and Deny Rules

⌨️ (3:37:02) AWS VPN

☁️ Variation Study

⌨️ (3:38:10) Cloud* Service

Similar names, completely different services(CloudInformation/CloudTrait/CloudFront/CloudWatch/CloudSearch

⌨️ (3:40:14) *Connect Service

Direct Connect/Amazon Connect/Media Connect

⌨️ (3:41:28) Elastic Transcoder vs Media Convert(new)

⌨️ (3:42:50) SNS vs SQS

⌨️ (3:45:17) Inspector vs Trusted Advisor

⌨️ (3:46:41) ALB vs NLB vs CLB(oldest)

Working on different application layer

NLB: Network Load Balancer

⌨️ (3:49:07) SNS vs SES

SNS: plain text email

SES: html email

⌨️ (3:50:58) Artifact vs Inspector

☁️ Summary

⌨️ (3:51:49) Journey’s End

⌨️ (3:52:10) Booking Your Exam

⌨️ (3:57:34) Thank You and Good Luck!

Cách học và tiếp cận

  1. Việc đầu tiên các bạn nên xem qua sơ bộ breakdown list mình đã tóm tắt trước, xem thử xem có keyword nào làm bạn khó hiểu hay ko? Đối với người đã có kinh nghiệm trong ngành IT thì khi lướt qua sẽ tóm được ngay keyword không rõ, nhưng đối với những bạn mới tiếp xúc vào thế giới cloud sẽ có cảm giác ko hiểu nhưng việc này ko vẫn đề gì cả, hãy memo những mục và keyword đó lại và tiếp bước 2
  2. Xem qua video tutorial, video dài 4 tiếng, và lời khuyên của mình là ko nên xem liền 1 mạch 4 tiếng hết video, mỗi ngày 2 tiếng và review lại kiến thức liên quan keyword khó hiểu ở bước 1. Ngày kế tiếp lặp lại 1 lần nữa để hoàn thành video.
  3. Sau khi hoàn thành bước 2, bạn sẽ có những lờ ngợ về AWS có những gì và cung cấp những gì, và đây là bước bạn cần review để nhớ lại những gì mình đã hoàn thành bước 2. Hãy xem lại video 1 lần nữa, lần này bạn có thể ngồi 1 mạch 4 tiếng để nghe hoàn chỉnh video này
  4. Đăng ký thi và lụm tín chỉ AWS nhé các bạn, 100$ rất đơn giản cho 1 tín chỉ khởi đầu rất basic và nền tảng về sau.

Lời chốt

Cảm ơn bạn đọc đã ủng hộ và đọc bài, hãy để lại comment bên dưới mình sẽ trả lời các câu hỏi của các bạn.

Kinh nghiệm bản thân là sau khi học trọn vẹn nội dung AWS CCP, mình đi thẳng lên học nội dung của AWS Solutions Architect Associate (SAA), đây là 1 bước đi hoàn toàn đáng giá, để hiểu rõ hơn CCP. Sau khi hoàn thành nội dung SAA thì tín chỉ CCP chắc chắn nằm trong tầm tay của các bạn.

Và còn lời cuối nữa….

Phần kế tiếp mình sẽ thực hiện hướng dẫn học AWS Solutions Architect Associate

Nếu có thời gian rảnh thì hãy đọc thêm AWS WhitePaper nữa nhé, bước vào thế giới của AWS sẽ ko thiếu những nội dung trong whitepaper đâu đấy.

https://aws.amazon.com/whitepapers/?whitepapers-main.sort-by=item.additionalFields.sortDate&whitepapers-main.sort-order=desc&awsf.whitepapers-content-category=content-category%23well-arch-framework

Laravel & VueJS – Vạn sự khởi đầu dễ dàng

Sau bài viết căn bản về cài đặt Laravel, mình tiếp tục hướng dẫn cài VueJs vào Laravel. Sau bài đầu tiên, Vue Js vẫn chưa được cài để sử dụng nhé. Việc tìm kiếm để cài đặt sử dụng đối với các bạn dev mới thực sự mất nhiều thời gian, nên mình tổng hợp lại từ khắp nơi nhằm giúp các bạn nhanh thành pro nhất.

Cài VueJs Package

##Cài gói laravel UI
$ composer require laravel/ui

##Tạo file cần thiết dùng tạo cấu trúc VueJS
$ php artisan ui vue

##Thực hiện lệnh bên dưới để build lại các package và các dependencies
npm install && npm run dev

Sau khi thực hiện các lệnh bên trên, hãy cùng xem những gì được cài vào các file config của laravel

  • File package.json
    “vue”: “^2.5.17”, “vue-template-compiler”: “^2.6.10” đã được include vào.
  • File composer.json
    “require”: {…”laravel/ui”: “^2.2”} cũng được include vào
  • File resources/js/app.js: file này tối quan trọng khi sử dụng VueJS, sau khi chạy các câu lệnh bên trên thì file này nội dung được thêm vào khác nhiều.
    //Vue đã được khởi tạo và include vào từ đầu:
    window.Vue = require(‘vue’);

    //Các Components của Vue đã được tạo trước cũng được khai báo, cách tạo các components của Vue mình sẽ đi tiếp vào hướng dẫn bên dưới
    Vue.component(‘example-component’, require(‘./components/ExampleComponent.vue’).default);

Tạo các components của Vue

Các components của Vue được tạo ở folder “resources/js/components”
Chúng ta hãy tạo thử 1 component có tên ExampleComponent.vue

<template>
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">Example Component</div>

                    <div class="card-body">
                        I'm an example component.
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        mounted() {
            console.log('Component mounted.')
        }
    }
</script>

Sau đó là file view, tạo file view ở folder “resources/views”, thử tạo file có tên sample.blade.php các bạn nhé

<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
  <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="csrf-token" content="{{ csrf_token() }}">
  <title>Title</title>
</head>
<body>
<h1>sample</h1>
<div id="app">
    <example-component></example-component>
</div>

<script src="{{ asset('/js/app.js') }}"></script>
</body>
</html>

Cuối cùng là tạo file routes để test thành quả:

Route::get('/sample', function () {
    return view('sample');
});

Khởi động và access trên trình duyệt

php artisan serve

Giải thích thêm:
File sample.blade.php có khai báo component tag <example-component></example-component>, khi load page thì nội dung sẽ được thay thế bằng template ExampleComponent.Vue mình đã tạo trước đó, việc thay thế nội dung được điều khiển bên trong file app.js

Và cuối cùng đây là kết quả của chúng ta

Soucecode sample và bài tập bạn có thể tham khảo ở link git này: https://github.com/nguyenthehiep/laravue

Mời bạn đọc có ý kiến hay câu hỏi và đón xem bài viết kế tiếp, hãy làm quen với syntax của Vue, khi đó bạn đã tốt nghiệp Vue rồi đó.

Hướng dẫn sử dụng Laravel Framework – Căn Bản

Mình sẽ thực hiện 1 loạt bài viết hướng dẫn sử dụng Framework Laravel, loạt bài viết sẽ đề cập đến những thứ xịn xò của framework này bên ngoài tài liệu chính thức của laravel. Mục đích là hướng tới thực tiễn nhất, và giúp mọi người nắm bắt nhanh nhất framework này.

Tài liệu về Framework Laravel có thể tham khảo tại đây https://readouble.com/laravel/

Tạo project Laravel

composer create-project --prefer-dist laravel/laravel blog

#Dòng lệnh trên sẽ cho cài cho bạn gói laravel version mới nhất, trong trường hợp bạn ko muốn sử dụng version mới nhất thì sử dụng command sau:

$ composer create-project –prefer-dist laravel/laravel:^7.0 blog

Sau khi tạo project, cài đặt các module và library cần thiết

#Vào thư mực
cd blog

#Dùng lệnh npm để cài đặt nodes module
npm install

Sau khi thực hiện 2 bước trên, các bạn đã có 1 project laravel đơn giản nhất có thể. Như vậy thì project laravel sau khi được tạo có cấu trúc như thế nào? Cấu trúc cực kì đơn giản và dễ hiểu, mình sẽ giải thích bên dưới.

Đây là cấu trúc cây thư mục của 1 project Laravel.

Khởi động và Access project từ trình duyệt

#Gõ lệnh
php artisan serve

#Mở trình duyệt gõ link bên dưới
http://127.0.0.1:8000

Kết quả

Bên trên là cấu trúc đơn giản cây thư mục của một project laravel, đương nhiên là khi bạn đã pro developer thì bạn sẽ có thể tự ý thay đổi cây thư mục này hay còn gọi là customize lại theo ý thích

Hiện tại theo hình trên mình đã cho hiển thị những directory mà mình cho rằng đây là những directory theo bạn suốt hành trình sử dụng laravel, mình sẽ ko giải thích lại ý nghĩa của từng file hay ý nghĩa từng thư mục nữa , định nghĩa này bạn có thể xem trực tiếp trên trang tài liệu chính thức của laravel.

Các thư mục tối quan trọng cho người mới bắt đầu sẽ là:

  • File composer.json : file tối quan trọng định nghĩa các gói thư viện chúng ta cần sử dụng cho project, file này sẽ cập nhật thường xuyên một khi mình 1 lib bên thứ 3 nào đó.
  • File routes/web.php : file map cho ngôi nhà của bạn, file phân chia các yêu cầu của quý khách khi vào nhà muốn đi theo hướng nào.

Tới đây có vẻ các bạn đã nắm được những điều đơn giản nhất rồi nhỉ?

Mời các bạn đón đọc các phần kế tiếp nâng cao hơn

Cảm ơn các bạn đã đọc bài.