{"componentChunkName":"component---src-templates-blog-post-js","path":"/aws-training/","result":{"data":{"site":{"siteMetadata":{"title":"Nans' blogs"}},"markdownRemark":{"id":"db91becb-2893-5bd7-8e80-05a775989624","excerpt":"AWS Essentials https://learning.oreilly.com/videos/amazon-web-services/9780134702186/9780134702186-awsa_01_01  1.1 Cloud Computing On-demand\nResource pooling…","html":"<h2>AWS Essentials</h2>\n<p><a href=\"https://learning.oreilly.com/videos/amazon-web-services/9780134702186/9780134702186-awsa_01_01\">https://learning.oreilly.com/videos/amazon-web-services/9780134702186/9780134702186-awsa_01_01</a></p>\n<h3> 1.1 Cloud Computing</h3>\n<p>On-demand\nResource pooling (shared servers, shared buildings)\nRapid Elasticity => growing when we need to grow\nMeasured service => Pay as you go</p>\n<h3> 1.2 Regions</h3>\n<p>Primary building block.\nVM, Storage, … You pick a region.\nCost in AWS is determined by the region.\nYou can choose multiple regions (for multiple audiences), or also to spread risk</p>\n<h3>1.3 Availability zones</h3>\n<p>Availability zones are a collection of datacenters. Connected with private fiber.\nus-west-2a us-west-2b us-west-2c …\nThey are key to fault tolerance.\nSystem that’s resilient on the machine, but also resilient on the datacenter.\nWhat happens when a datacenter becomes unreachable.</p>\n<h3> 1.4 Edge locations</h3>\n<p>Edge location\nCaching\nAmazon route 53 => DNS query as quickly as possible.\nEdge location serve Amazon CloudFront and they serve Amazon route 53</p>\n<h3>1.5 Scope of services</h3>\n<h4>Global</h4>\n<p>AWS IAM\nAWS CloudFront\nAWS Route53</p>\n<h4> Regional</h4>\n<p>Dynamo DB …</p>\n<h4> Availability</h4>\n<p>Elastic block store\nElastic compute cloud</p>\n<h3> 1.6 Service overview</h3>\n<p>AWS console.\ntop right => choose region.</p>\n<p>Compute, Storage, Database, Networking, Analytics, Security, Management Tools, Developer tools, Internet of Things, Game development, Mobile services, …\nRich environment.</p>\n<h2> 2. Security in AWS</h2>\n<h3> 2.1 AWS Identity and Access Management</h3>\n<p>AWS IAM\nAuthent Autho Users Group, Password Policy, Multi factor authentication => Smth you know combined with smth you have (phone (have), user/password (know))\nAuthenticating and Authorizing against AWS API.</p>\n<h3>Creating a user and group</h3>\n<h4> Create a User</h4>\n<p>autogenerate a password AND require to create a new password at next sign in\ngive the password to the person over an encrypted connection of some kind.</p>\n<h4>Create a group</h4>\n<p>Create a group, create permissions, and add user to the group</p>\n<h3>2.3 access keys</h3>\n<p>jane.doe\npassword.\nShe wants sdk, CLI, … Create Access Key for Jane.doe.\nAccess ID, Secret Accesss key.</p>\n<h3> Permissions and Policies</h3>\n<p>Permissions are granted via policies\nPolicies are written in JSON</p>\n<p>We can genetare policies thanks to a tool created by Amazon.</p>\n<p>All policies start with a default implicit deny.</p>\n<p>We need an explicit allow to have permissions.\nAmazon Resource Name :\nFromat pattern to find in the docs.\narn:aws:iam:…:user/jdoe\narn:aws:s3:\narn:aws:\nsmth can be let blank :::::</p>\n<p>implicit deny => explicit deny => explicit allow</p>\n<p>Statements specify :\nPrincipal (resource based policies)\nActions</p>\n<ul>\n<li>ex2:RunInstanced\nResources</li>\n<li>EC2 instances\nConditions</li>\n<li>time of day</li>\n<li>from specific IP address</li>\n<li>resource contains particular tag</li>\n</ul>\n<h3>2.5 Creating and attaching policies</h3>\n<p>Generator creates the appropriate syntax.\nAllow\nEC2\nRunIntances, … (actions that are authorized).\nARN : * (all)</p>\n<p>And then you can attach a policy to a group.\nDevelopers => run EC2 instances.</p>\n<h3>2.6 Understanding Roles</h3>\n<p>Rotate credentials regularly.\nCredentials should never be shared, in the code or in environment variables\nRoles enable us to use temporary credentials that are cached by the cli or the sdk.\nhigh level of security</p>\n<h3>2.7 Creating roles</h3>\n<p>IAM => Role section\ncreate new role\nRole Name => Name of application. myApplication\nRole type (S3 stuff)\nattach policy</p>\n<p>every application will be able to read from S3</p>\n<h3>2.8 Federated Users</h3>\n<p>We can create Single Sign on\nLDAP, Active directory.</p>\n<p>We can federate applications so that they can all use the same S3 bucket.\nThis way we can bypass backend APIs. Allow mobile apps to access directly s3 services.</p>\n<p>User authenticate against our app\nIdentity broker will make a acall to aws security token service.\nThe service will return temporary credentials.</p>\n<p>C’est pour gérer les devs je crois (?)</p>\n<h3>2.9 managing an MFA device</h3>\n<p>Multi factor authentication\nHardware MFA device (to be ordered from Amazon :o )\nVirtual MFA device\nQR code or show secret key.\nScan.\nAdd authentication code\nwait\nadd second authentication code</p>\n<p>have jane come over to my desk.</p>\n<p>in case you can’t call jane to you desk</p>\n<h3>2.10 Resource Policies</h3>\n<p>Apply permission to aws permissions.\npolicies that are not applied to users or group, but to resources.\nMake an s3 bucket publicly readable for example.</p>\n<h3>2.11 Applying resource policy</h3>\n<p>S3 service\nadd bucket policy\nclick policy generator\nallow\ngetObject, listObjects …\narn:aws:s3:::nameofthebucket/*</p>\n<p>add statement</p>\n<h3>2.12 Using roles for cross account access</h3>\n<p>Payer Account (initial account)\n(pays the bill)</p>\n<p>Development account - Production Account</p>\n<p>you can <strong>leverage</strong> roles.\nYou can allow a user in one account to access ressources from another account.</p>\n<h3>2.13 Best Practices</h3>\n<p>Leverage groups : give only ENOUGH rights. Not more.</p>\n<ul>\n<li>Grant least privilege</li>\n<li>Strong pwd policy</li>\n<li>deny statements for added security</li>\n<li>never share credentials</li>\n<li>multiple accounts for isolation</li>\n</ul>\n<p>master account</p>\n<ul>\n<li>protect it</li>\n<li>don’t use for day-to-day</li>\n<li>delete default access keys</li>\n<li>Enable MFA with physical key, and lock in a safe.</li>\n</ul>\n<h2>Networking AWS</h2>\n<p>Amazon virtual private cloud : VPC\nSegment networks\nCreate a VPC in a particular region.\nChoose a particular address range\nWe can create subnets.</p>\n<h3>3.2 Creating a VPC</h3>\n<p>from the aws console\nVPCs are specific to a region\nWe have a default VPC from Amazon.\n10.2.0.0 => the widest range of ip addresses</p>\n<p>a vpc has a route table\nACL => Allow incoming or outcoming traffic</p>\n<h3>3.3 adding subnets</h3>\n<p>Create a subnet below a VPC, and specify an availability zone\nWe can assign a CIDR block (I really have to learn more about CIDR ranges !!)\n/24 => allows 256 IP addresses. The 1st 4, and the last one IP address are not usable (used by AWS)</p>\n<h3>3.4 Routing</h3>\n<p>ELB => load balancer\nEC2 application server\nDatabase\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/275b2fefcad7fa110ba25e3198645234/f6f78/2020-03-09-14-16-16.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.10810810810811%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACU0lEQVQoz51SS08UQRicX+rBeOSiCcSQCMsNT/4EE/HAdTXxEYMJEjEQmGXBKEqAxWFnd7vn3dPTPTO7U9aORgyJFzupdOd7VNf3cLrdLjY2nqPbfYHj4xO4vR76R0c4+gd6PYK36/awv3fQ2vr9fgvXdeGUZYm6NJjVFv99ZjdPZ9o0GCUlvNDCCzQGIkeUaVRVjbywiFUBbUokymA6nSJUFldSw48KXAwTnA1CWMZpxhXawNFFiVe7l3j5ycPbAx9bJyEmIROkIlFF1NC2/qNg/1Rgc3uAN4cjvHYFdr7EULFGLHMYEjugwiJJkRPRRPJOcPlDorQlXQ10YWBMwWDCWBRMyvMCmdJQVGXLCuNhQIWG3zVw5uWPpUScBChMCm84wtfTS8xbkWQKMhCIM0MUCEPBNmjUsxmEnCDPIhKFGHy/ajkqtsSppg3SREB6As8ev8Pe1hcGSSj2I6ZaqyJUH+/CbN9BFoXwxhGuA4WU5DufR1h66uLs3EeeBjDVb8JkTngdYPPJe5weXDBpjHM/xTeWLmRAwnswuwsIgxhXPknZ31AIfDj20dk4xHAcQrFC2xLOGgQsq7EJUEVAnbLJElOWpXWOkiWxRnDEqPII1mj2dsZeS9oy+phjY34mUNY195Dr4QvJVckx8EaQUYZxECHJNacdtfY448DStH2LKP7lY0zKgYmYAuwUfphSIQlvVrKhCK4Hh3H7zPev9d0+jFUqh019oJzMI+Gsr69jZWUFa2trLTqdTovV1dUW8/ffvtv2R8xdXrqP5cUFPFx8gJ/34mzFfZrsagAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 09 14 16 16\"\n        title=\"2020 03 09 14 16 16\"\n        src=\"/static/275b2fefcad7fa110ba25e3198645234/fcda8/2020-03-09-14-16-16.png\"\n        srcset=\"/static/275b2fefcad7fa110ba25e3198645234/12f09/2020-03-09-14-16-16.png 148w,\n/static/275b2fefcad7fa110ba25e3198645234/e4a3f/2020-03-09-14-16-16.png 295w,\n/static/275b2fefcad7fa110ba25e3198645234/fcda8/2020-03-09-14-16-16.png 590w,\n/static/275b2fefcad7fa110ba25e3198645234/efc66/2020-03-09-14-16-16.png 885w,\n/static/275b2fefcad7fa110ba25e3198645234/f6f78/2020-03-09-14-16-16.png 932w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span>\nRoute tables that enable to hide EC2 and database from the internet.\nOn premises network (what’s that ?)</p>\n<h3> 3.5 demo</h3>\n<p>Routing subnets to the internet.\nvpc dashboard => route table</p>\n<p>Route tables associated\ncreate internet gateway\nattach internet gateway to vpc</p>\n<p>auto-assign public IP\n=> do that to enable EC2 instances</p>\n<h3>3.6 public private and hybrid subnets</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/cbe0cb32e868c84f095357533261f396/cc488/2020-03-09-14-27-41.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 50%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAACFElEQVQoz1WSW2/TQBCF++956Dt/AISE1AeKQKBeCWnVNmlVShEplDRJc7Hj267XXjtOHH+MXVBgtaPdObtzds/MbN3c3HB4sMf1VZez0zYXZ6d0Ox1arRb7e3ucnLQ5Pjps7P7nD9IkIYoiYq0wsfqzapSKSK1lCxmeWTLwcyZRQd+1JPmqhsmXJcuyEr+khrJlxWrdHFGUYIuKxaqSdY1ca4YQVnR7Lh8vp3z+6vLpNiA0Cxw3IrELsYKW4O86Uz5cOtzP0iaw/c1lpz1m/3rOmwuXwdz+JZSXY0PoB7gzB6MUg8c5zixivV6jtcF3PeZzn+nEYSm/LquKKFQoP5RVo42Vu9WGMBQSHXosFglJHHF51WvIklR85eMFkp/USK5C8qIQPCUxEXkWsxBTKkAn6YYwkqAkUrzYPuTgdQffcwjijMk8ZJVpervbeOcvhSRmOPUYO36j5NnOd56/v6PKYyKtN4RKCFMBTne/cNf5xWD0yMNU0es7zGdTuH3Fsn+M60X0x76YRxCEvD0fcXQ9prTqf8JacpZqylUsJnJEAtWa3CaUuaGSfe2vCysyLZlNZV9LrAuRUWTSSnG8Iaz1J9kCXxlUmsthIu1QEkpBjM2a17X0X32v8eMnPNBClFji1GLSf3JohH00HDIcPPA4GjEZj6UIqXxKCmOMNK9uzNqnoAZPDLoupjS0leKJDJkVvwEJVu9emYJl/AAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 09 14 27 41\"\n        title=\"2020 03 09 14 27 41\"\n        src=\"/static/cbe0cb32e868c84f095357533261f396/fcda8/2020-03-09-14-27-41.png\"\n        srcset=\"/static/cbe0cb32e868c84f095357533261f396/12f09/2020-03-09-14-27-41.png 148w,\n/static/cbe0cb32e868c84f095357533261f396/e4a3f/2020-03-09-14-27-41.png 295w,\n/static/cbe0cb32e868c84f095357533261f396/fcda8/2020-03-09-14-27-41.png 590w,\n/static/cbe0cb32e868c84f095357533261f396/efc66/2020-03-09-14-27-41.png 885w,\n/static/cbe0cb32e868c84f095357533261f396/cc488/2020-03-09-14-27-41.png 928w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h3>3.7 Network Access Control Lists</h3>\n<p>tool to use within VPC that are stateless\nlike a firewall arround a subnet</p>\n<h3> 3.8 Security Groups</h3>\n<p>firewall that applies to an EC2 instance.\nit is Stateful.</p>\n<h3>3.9 creating an NACL</h3>\n<p>web traffic acl\nassociated to vpc</p>\n<p>inbound =>\nrule #100 HTTP 80 TCP 80 0.0.0.0/0 ALLOW\nrule #101 HTTPs 443 TCP 80 0.0.0.0/0 ALLOW</p>\n<p>outbound =>\nrule #100 TCP 1080-65535 ALLOW (send to the internet)</p>\n<h3>3.10 Creating a security group</h3>\n<p>web-server\nweb application security\ninbound rules accept http and https from anywhere\nNACL => subnet can receive traffic\nSecurity group => Instance can receive traffic\nso this is not double work</p>\n<h3>3.11 VPC peering</h3>\n<p>It is a way to pair 2 VPCs.\nIP ranges must not overlap\nPeering connection PCX\nrouting traffic from one range to another range</p>\n<h3> 3.15 Aws direct connect</h3>\n<p>dedicated private connection\n1Gbps or 10 Gbps options.</p>\n<h2> 4 Computing in AWS</h2>\n<h3>4.1 EC2</h3>\n<p>Elastic compute cloud (EC2)\nVirtual machine\nbased on Xen hypervisor\nVarious combinations of cpu, memory, disk, IO\none VM called an instance</p>\n<h3>4.2 AMazon Machine Image</h3>\n<p>bit for bit copy of root volume\nyou launch a machine from a machine image</p>\n<h3>4.3 Launching a linux instance</h3>\n<p>Amazon images\nAmazon Linux\n64 bits\n.ebs => Elastic block</p>\n<p>t2 micro\nauto assign public IP\ntag instance to keep your environment organized\nName : Linux-demo\nEnvironment : dev\nApplication : xxx</p>\n<p>security group !!!</p>\n<p>download a private keypair to to access the instance\npublic IP and private IP are associated to that instance\nadd security group to give shell access\ngo back to the instance, change security groups, add ssh security group\nport 22 in ssh should be opened</p>\n<p>ssh -i azez.pem ex2-user@public.ip.of.instance</p>\n<h3>4.4 Key pairs</h3>\n<p>public and private keys.\nWay of login into the operating system.\n2048 ssh2 rsa keypairs</p>\n<h3>4.5 Instance metadata service</h3>\n<p>retrieve information about an EC2 instance\nservice within an instance to get information about itself\nuse this instance with scripts to bootstrap stuff.\nThe script gets information about the instance to configure software.</p>\n<p>169,254,169,254/latest/meta-data</p>\n<h3>4.6 Demo instance Metadata Service</h3>\n<p>curl <a href=\"http://169.254.169.254/latest/meta-data\">http://169.254.169.254/latest/meta-data</a>\nget the instance id :\nexport instanceId= curl <a href=\"http://169.254.169.254/latest/meta-data/instance-id\">http://169.254.169.254/latest/meta-data/instance-id</a>\nshell scripts that could access that variable.</p>\n<h3>4.7 bootstraping with userdata</h3>\n<p>it’s the key to maintain a self healing environment</p>\n<h3>4.8 Launching a windows instance</h3>\n<p>Meh windows</p>\n<h3>4.9 Stopping and terminating instances</h3>\n<p>Stop => can restart later\nterminate => throw away</p>\n<h3>4.10 Billing options</h3>\n<p>on demand vs reserved instances\navailability is not guaranteed on reserved instances</p>\n<p>reserved instance have a commitment (1 year, 1 or 3 year)</p>\n<h3>4.11 highly available web application</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/cdc4da391de74e25f0db772e9661cd3f/efc66/2020-03-09-16-25-02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 59.45945945945946%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAAClElEQVQoz22S7WvbVhTG/cc3xEkTAvmyvDBGoC2DLoPB6IfCkhBos5LYzkhrx3HS2LEkW9LVqyXr1fr1SFtJP+zCI849V/ec53nuae3t7dHe2GB7e5udnR3W1l6wtfWSzc1N1tfX2ZCzdrvNS9nX8Xfs7u5yeHjA4cEBB4L9/f0GLd0wmEwmjMdjnqYanW6P4d2Iwe2Qfr9PfzBo9qP7e3rX/0j+ls9fvmDM5vzfatWfooJoGePYMxaBQxjYBJ7F3DIJfEdgE9aQnBv4OK6ScxNlGyhTQ9OnJFlOVVW0qtUKXS24vhnhOTY3H0b8+csF748+crx3wulxh9PfOpwdX3L2e48/fj5v8O7oE52TgdCp5N6MOM3+ZZgXJX6coc9MEt8iUgGurlCPEwbSxJ5MsafCdmzhiCVfh2Mmw6/4hrBXEWQLPGUQC8OmYJIVFCvwfJdiuaC4Oya5+ZU88tGeHqEsWGl/Efd2JY5xHRPHmrMKpqS9NqW6xXdtKZiJ5P88rJcSubkk0+FbltevJM7Rxw+UpXisn5N+/onantpn17ZYLWyy6w1W4QRPPE3l7iJdiYd1WVmO55GHJlUSU8XCVGJN04SU0zBfRgnEShgKLINq6bFYiG+JL481J5HOWZL9WNARmR5VIT+VOUUUMJ2I5Crloj9n621X0pmwE79ck7upzdqbS/wwxnh44Olex7OC54KW67AMFEUSNEhDh0eZzTyNSOIA35lTZjGmyLXtOUUWNaNVpKE8ishPSpIofy4YBAHKsjBnBjNdw1EKXST7vi/zZjIzhIE0tZWDZdtNPJ/pKCnW7V7R7fwt42PRKkV7jaIoSNOUJEka1HGR52QyXz/mcsnV+L4Pw4irizPO371GG3X5BujdbHJosQEUAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 09 16 25 02\"\n        title=\"2020 03 09 16 25 02\"\n        src=\"/static/cdc4da391de74e25f0db772e9661cd3f/fcda8/2020-03-09-16-25-02.png\"\n        srcset=\"/static/cdc4da391de74e25f0db772e9661cd3f/12f09/2020-03-09-16-25-02.png 148w,\n/static/cdc4da391de74e25f0db772e9661cd3f/e4a3f/2020-03-09-16-25-02.png 295w,\n/static/cdc4da391de74e25f0db772e9661cd3f/fcda8/2020-03-09-16-25-02.png 590w,\n/static/cdc4da391de74e25f0db772e9661cd3f/efc66/2020-03-09-16-25-02.png 885w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<p>3 tier architecture in amazon ec2</p>\n<h3>4.12 => 4.14 Introduction to AWS Lambda</h3>\n<p>Mobile Application could access Amazon Simple Storage Service.\nAmazon cognito => Federated user retrieves temporary credentials</p>\n<p>upload directly to S3.\nFire event to lambda function.\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4c21fc7038f0bd21630198ed448a7f6b/6029f/2020-03-09-16-30-02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 62.16216216216216%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACT0lEQVQoz41Ty27TQBT1pn9Av6wL1iAVlmXJArFAXRR2LEDssqnyaCs1DZEaR6QqKeqLkkLJo07UqHk1tpM4iRM/MmPncD0VoQEkGOtoPPeOz5x7fEc6OjqCLMsC6XRazMlkUrzv7u5iOx5HJpNBYmcHqVQK9XodjUYDtVoNzWYThUIBq6urWFtbQ6lUgmRbNsrlMubHFP87opEIHi8v48nKCsLhMKT19XUs3luERcQu86HqXaiqDl2jua2hY47RufiO63dvwC1LkHR0HdVqFU1SalCMUyyAORpBCoVCWFhYwMAcgZMwl3Ew5oFzHxOXiY29fBHKq5fwGROEnGaXBNjjMYzTY7T399H5lIVPa0nXNHw+PgbjHBYRMDZBq9USPrmuOyttRDmP8z/syD16iK/LD3B2f0mQSneTLinrGgN0VRUqkY6Gw1nOJzg2HTCdIniGlNOo9NreB7TkFNS0DLvdnicMRqCSc2+25qQqqEKjQzqGial/Gx8YPejtG5jWGM6d7yXTmmDrsE5EXARO9sqIvM5Ca/TFmpFfPV1Dj8gG1RyM0BJcvYLATS/w3OHIP3+G7sHHn4QuMuc3cBwG2/Mgb+Tw9mkS15ea2OB5/i+1RgOm/AKmeoWboAtIuap3UN/axKhSFu6Kkg/7Nr4NJrde0dHjPvtn/7nULg791YnjzMWlK2KOZU+QPj1H5bKEEqFcUUTXF4vF31Cgm5EXOUVRoFwqyH05Qy6bQO7gPfIX55DidKXimxvYJkSj0TuIIRb7O+b3RUUsQjcmkUjgB8vuXrNccN2mAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 09 16 30 02\"\n        title=\"2020 03 09 16 30 02\"\n        src=\"/static/4c21fc7038f0bd21630198ed448a7f6b/fcda8/2020-03-09-16-30-02.png\"\n        srcset=\"/static/4c21fc7038f0bd21630198ed448a7f6b/12f09/2020-03-09-16-30-02.png 148w,\n/static/4c21fc7038f0bd21630198ed448a7f6b/e4a3f/2020-03-09-16-30-02.png 295w,\n/static/4c21fc7038f0bd21630198ed448a7f6b/fcda8/2020-03-09-16-30-02.png 590w,\n/static/4c21fc7038f0bd21630198ed448a7f6b/efc66/2020-03-09-16-30-02.png 885w,\n/static/4c21fc7038f0bd21630198ed448a7f6b/6029f/2020-03-09-16-30-02.png 906w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<p>highly available and fault tolerant\nSpeed time to market</p>\n<h2>5. Storage options</h2>\n<h3>5.1 overview of aws storage options</h3>\n<p>EC2 => Instance store\nblock storage that are built in to the EC2 instance\nstorage there is EPHEMERAL.\ncannot take snapshots\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/368fda16749ea25265ab6ac68f393b1c/38af3/2020-03-09-16-33-07.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 61.48648648648649%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACF0lEQVQoz6VTy27aQBTl17qo1I/osovuqqhSP6KbqCtesUSloipNndQ8WlAWbVeNWEBIW0UBCRMMBoMxZvzGNqczY4zYRFl0pGP7nrlz5r6cKZfLKBTyOCkWUCqVkMvlkM1mUSwWOQRB4Fw+n4coiqjX66jVag8iY5orzOY6NH2FlbnGbDaDqk6hzecY3o8wpfZkMsF4PMY2jvHYyvCnTwBrCsTBowe2FDEVjqKIIz7gozBEJvQd+F9fgwjPQAYtvul5Pi47Ki5+KTCIx7nAcTCtSFDFM4S2tb/A6vcxEoowf3eTCGN7Af8qB1N6A3L3k5NL08GR0MHz4xZulXUiGIT4e/QKf16+wMYie8FZs4nW0ydQPn7YCTo63P4PmK0y3PFNEqG/Qa4p4+2XPlTD3R/WalVMzz/z9NJ6erS2mnRBI+0lghHdmN/fUfSwCaOkpJ4Hfa5hqS+47bouNNocg1iIDuoZBAEWyyVIkNR+u90mTVFGYwzlISdSx8FggHa7Ddt2ENJiM/um24VKO85s1hj2lil/3elQjRFvEhfUNQ233WuYhrG/SVEUyLLMnZjNxqnX63FhhmAXlUHPMN8FHbMoCpOUPZoSoaE7Fk1pNxK2bXOk48HSJoTAod1m3ymfZsVWnKb8P2u9XuP7NxHdq0s+jZlGowFJklCtVFChqFarHJUH7EOe/Wqnp59wkj3G+8I7iGen+Afj8GtJvzb2dQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 09 16 33 07\"\n        title=\"2020 03 09 16 33 07\"\n        src=\"/static/368fda16749ea25265ab6ac68f393b1c/fcda8/2020-03-09-16-33-07.png\"\n        srcset=\"/static/368fda16749ea25265ab6ac68f393b1c/12f09/2020-03-09-16-33-07.png 148w,\n/static/368fda16749ea25265ab6ac68f393b1c/e4a3f/2020-03-09-16-33-07.png 295w,\n/static/368fda16749ea25265ab6ac68f393b1c/fcda8/2020-03-09-16-33-07.png 590w,\n/static/368fda16749ea25265ab6ac68f393b1c/efc66/2020-03-09-16-33-07.png 885w,\n/static/368fda16749ea25265ab6ac68f393b1c/38af3/2020-03-09-16-33-07.png 894w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<p>EBS => not resilient to the loss of a data center.\nIndependant\nSnapshots\npay per gb per month</p>\n<p>Amazon S3\nwrite once, read many\nstorage for the internet\nfor things that need to be retrieved from users</p>\n<p>AWS Storage gateway\nvirtual machine that is designed to be run on-premises\nit exposes a device</p>\n<h3>5.2 Amazon simple storage service</h3>\n<p>object storage.\nhighly available and fault tolerant.\nno filesystem\nBucket => Object\nupload limit of 5 gb\nobjects can be multi part up to 5 TB</p>\n<p>object storage vs block storage</p>\n<h3>5.3 Demo creating buckets and object</h3>\n<p>host static website on s3 :o :o :o</p>\n<h3>5.4 Bucket Security with resource policies</h3>\n<h3>5.5 Introduction to Amazon Glacier</h3>\n<p>Write once, read rarely\nglacier is cold storage\n3-5 hours to get the files</p>\n<h3>5.7 Demo: Adding life cycle Rules</h3>\n<h3>5.8 Instance Store Volumes</h3>\n<p>they are build-in and ephemeral</p>\n<h3>5.9 Elastic block stock EBS</h3>\n<p>it is not a NAS\npay for provisioned storage\ndata is independent from instance, and is connected over network\ncan detach and attach to another</p>\n<h3>5.11 Creating an EBS volume in the aws dashboard</h3>\n<p>volume type (HDD, SSD)</p>\n<h2>6. Databases</h2>\n<h3>6.1 Options</h3>\n<p>Amazon RDS => for sql stuff, mariadb\nAmazon ElastiCache => Memcached, redis\nDynamoDB => NoSQL, Event-driven.\nRedshift => Encryption</p>\n<h3> 6.2 Amazon RDS</h3>\n<p>Snapshots, backups and patches\nRead replicas for when we have read heavy traffic</p>\n<h3> 6.3 Data Durability</h3>\n<p>Multi AZ deployments\nPrimary instance with secondary standby in a different availability zone</p>\n<h3>6.4 Launch an Amazon RDS instance</h3>\n<p>subnet group => several subnets\npublicly accessible => NO</p>\n<h3>6.5 Amazon DynamoDB</h3>\n<p>NoSQL Data store\neasy noSQL service\nPartition vs primary key</p>\n<h3>6.7 Scan and query operations</h3>\n<p>interface pour faire des query\n<a href=\"https://learning.oreilly.com/videos/amazon-web-services/9780134702186/9780134702186-awsa_06_07\">https://learning.oreilly.com/videos/amazon-web-services/9780134702186/9780134702186-awsa_06_07</a></p>\n<h3>6.8 Amazon ElastiCache</h3>\n<p>Redis => in memory database, backed to disk\nMemcached => in memory key-value store, not backed to disk</p>\n<h3>6.9 Amazon redshift</h3>\n<p>SQL compliant.\nIt is a clustered service\nparallel queries across the nodes.\nIdeal for OLAP and BI apps\npedabyte scale data wharehouse</p>\n<h3>6.10 database for e-commerce</h3>\n<p>Elastic load balancer => 3 EC 2 instances</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9cb02a036f03b45f627dc133bf4580bb/e4374/2020-03-10-09-45-14.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 65.54054054054055%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkklEQVQ4y31TaW8SQRjen+cP8B/od7+amGhMjDbRaJpUKi1Nm9SjUumRGFODWFIvoOVYWjSUAmspu8CysGXv83FmoEea1Dd5dmaed+a9l2s2BRQLJfD8PioHv1Eq8iiVymyfy+3h548MspldFPJFFIslpt8lfDa7i0wmx84nJycMvV4PXCqVQiQSQTQaxdzcHGKxGDtTLC4tYW1tDYlEgq3r6+sMicSYu4x4PI50Og1O13VIooR2uw1ZlokXmXlrtVpQlR4ui+/7QOjjf8IFQUCWAI5twDRGCEL3XPnx1yFaXfXMHFrHpDwHh6gKHcaEYQjXdSGKIupHRxiNRuC0kYGdTzV8fl/EVjyPrRUe1f0OTNfBUrIGQVKxXe5g6kMFkqxi8WsDj1bKLAgqNKCheoq+MoDneeAs08Df/HcIhT2CDJq5DKRaBV54kcabtIA7sSJqxz00WxI6A+M8QiqqOoTjOOOUbX0AM3cXBj8Nbe8xzMIUtD+vQRN3PZdEEJLaBWTvsUe2ZVJTE2MhHNdDtz+EYVqM4wLyCSaRBJOo/JB6D+CTdBx33IRtXsSDtzzuLZewsy8xri3reL5ZxcOVCpZTh8wBRxU28SIOTBz3dSiazRS44mQr38atmTxuR/JITwyWGwpuPtnBjftf8HS1ME6ZfhpdHbGkQAouYCMrwbIsSJLEuqdpGrto2i6OBBGVagNip8u4/qmF1W9NvEvXUWurFwZJiaBbITQzgEWKR43U63UIggBFUS6i9V14rg130oCrwmpIh5W2mxbdJhfpSoedDjqNkM4Z05OyeOSuPwHlHKIbDgfQ5Tr0fhOWqYNLJpOYnZ1lv9z8/DwD3S8sLDCccdfhFXkbffkCM9PPsLmxgX9XG6XUSI7QQwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 10 09 45 14\"\n        title=\"2020 03 10 09 45 14\"\n        src=\"/static/9cb02a036f03b45f627dc133bf4580bb/fcda8/2020-03-10-09-45-14.png\"\n        srcset=\"/static/9cb02a036f03b45f627dc133bf4580bb/12f09/2020-03-10-09-45-14.png 148w,\n/static/9cb02a036f03b45f627dc133bf4580bb/e4a3f/2020-03-10-09-45-14.png 295w,\n/static/9cb02a036f03b45f627dc133bf4580bb/fcda8/2020-03-10-09-45-14.png 590w,\n/static/9cb02a036f03b45f627dc133bf4580bb/efc66/2020-03-10-09-45-14.png 885w,\n/static/9cb02a036f03b45f627dc133bf4580bb/e4374/2020-03-10-09-45-14.png 927w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<p>Read replica(s)\nMulti-AZ => Amazon handles the primary and secondary thing</p>\n<p>ElastiCache => Category pages, related products</p>\n<p>copies to redshift in order to run BI stuff\nuse redshift to understand conversion rates</p>\n<h2>7 Analytics in AWS</h2>\n<h3>7.1 Real time stream processing => Amazon Kinesis</h3>\n<p>“SOAP” and old school technologies from back in the 90s.\nUse case : warn users of the lifecycle of a pizza before it is delivered to them.</p>\n<p>Kinesis</p>\n<h3>7.2 Real time stream processing</h3>\n<p>It divides large amount of data into usable shards.\n(terabytes per hour)</p>\n<p>1 shard => 1000 PUTs per second</p>\n<p>Kinesis stream should be handled by Apps that have ONE SINGLE PURPOSE\nIt can be Aggregation, Sliding Window analysis,</p>\n<h3> 7.3 Big data with amazon elastic MapReduce</h3>\n<p>yet another “amazing” service.</p>\n<p>Managed Hadoop framework (or spark, presto, hbase)\nprovision single or thousands of instance.</p>\n<p>for data intensive applications.\nData mining, log analysis, scientific simulation, genomics.\ncan read data from anywhere.</p>\n<h3>7.4 AWS Data Pipeline</h3>\n<p>Transform data from one data type to another datatype.\nHelps move data between data sources.\nIt uses EC2 or EMR to transform Data.\nCan Execute SQL queries, or custom applications.</p>\n<h3>7.5 Video Subscription Service Business Intelligence</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/b1d4c58520b508eb15a24b4a45c4fba7/3fca6/2020-03-10-10-10-08.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 62.83783783783784%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACq0lEQVQ4y22Te0/TUBjG+/n8BCYm/qUfwb/UBCHGxMRbMOBumsWBGxoYG2xGQS5jEgEl0YkOFtGMxcEu7bqua9fT/jwtqGB8kyfnvOc8fc576atMT8+QTs8ym86Qm8+TyWTJzGaZSr0glXpOJjvH3HyOwtoaq6sFisU1iSJr0l9ZWWFpaYnl5WUWFhbY3d1FCYUekUwmSSQSEk+JxWLSf8bE5ATJiQTpqSTPJxOknsaZlvtIJMLY2BjxeJx8Ph+IFwqrLEvhSqWCoqkqht6h09Ho9Uy5drAsG2HbVI7apMsHZL9WmflS5e2POo5toaoaZr/P/0zpGj22P32l0VL/HHona1k1uLNZIf7xO/c29gLx0+Z5Lq5cRXcfYRzgCCmY3axy4e47Em/2ApIQriR6mGYfP/p2u43d69HrdtE1FVPuXSGCR13XQby7yOD9Vdz6Co4zQFkq/eTaZInX27VA0HW9gGz1TfRWk66EaehoMpOmpmMYhnz0RFAMcDYuMfhwDa/1QZ57KLZlorWO6OpaEJkP32zHZWuvxXq5xWFXoO/vc7i5dZLqb56H8LOy2ri2hvwExb8YDBwZrvhD9s20BRu7KsXPTWomNF7mKA9dD2rmucdl8bMhODk2VzgofldbbRVV02R3rTOip20ga2c1m/9ECLVWj0KpzvpOXXbeQpnf+Mbl0XXir3Yk08E9Rf7bc/eM/zc6COXLnBtZ5fytRTTdQNmrNpgtltnZPwzItkzfF/hRVxlOlhiZ2mEo+YnhVIkb0m90+gFvEJTII7dV48qTbUK5siyd7LJwbExdPfX3HZtmCsILVSJvagHCiwcBLPefWoieRENuukHkyvj4ONFojEg0SiQcJnyCaDTCk9hZxB9HiMrR8+/9EQyFQjwcvc/Yg9vcuX0zmO9fSvaiFoFiNQoAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 10 10 10 08\"\n        title=\"2020 03 10 10 10 08\"\n        src=\"/static/b1d4c58520b508eb15a24b4a45c4fba7/fcda8/2020-03-10-10-10-08.png\"\n        srcset=\"/static/b1d4c58520b508eb15a24b4a45c4fba7/12f09/2020-03-10-10-10-08.png 148w,\n/static/b1d4c58520b508eb15a24b4a45c4fba7/e4a3f/2020-03-10-10-10-08.png 295w,\n/static/b1d4c58520b508eb15a24b4a45c4fba7/fcda8/2020-03-10-10-10-08.png 590w,\n/static/b1d4c58520b508eb15a24b4a45c4fba7/efc66/2020-03-10-10-10-08.png 885w,\n/static/b1d4c58520b508eb15a24b4a45c4fba7/3fca6/2020-03-10-10-10-08.png 1112w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h3>8 Developer and management tools</h3>\n<h3>8.1 CloudWatch</h3>\n<p>Collect metrics on amazon stuff.\nIt stores metrics for up to 2 weeks\neach service (EC2, ELB, EBS) will get its collection of metrics.</p>\n<p>$/metric</p>\n<p>Application-level metrics, or intance-level metrics.</p>\n<p>CPU CloudWatch Alarms.\nTriggered on breach of threshold.\nAlarm CPUUtilization is over 80% for 2 periods of 1 minute for example</p>\n<p>Doesn’t necessarily signal emergency.</p>\n<p>can publish notifications.\nUp to 5000 alarms per account.</p>\n<h3> 8.2 CloudWatch Logs</h3>\n<p>Search using specific syntax (see docs)\nCan search JSON fields\nSubscription filters</p>\n<h3> 8.3 Cloudformation Infrastructure as code</h3>\n<p>Infrastructure as code\ncloud formation templates\narchitectures are complex\nManual process => bad documentation, difficult to reproduce\nChallenges with scripts => Dependencies</p>\n<p>Solution : Automate with CloudFormation</p>\n<p>Templates are meant to be written once and be deployed many times\nParameters,</p>\n<h3>8.4 Cloudformation demo</h3>\n<p>designer within cloudformation to create templates.</p>\n<h3>Application Deployment and management</h3>\n<p>AWS Elastic BeanStalk\nApplication management platform\neasy entry\nIdeal for developers.\nSuper convenient Beanstalk handle resources automatically</p>\n<p>AWS OpsWorks\nConfiguration management platform\nsupports chef recipes (configuration as code)\nbased on chef recipes\nOpsWorks ideal for DevOps Engineers.</p>\n<h3>Launching an application on aws beanstalk</h3>\n<p>example</p>\n<h2>9. Mobile Application and services</h2>\n<h3>9.1 Amazon Simple Queue service</h3>\n<p>Highly Available and fault tolerant.\nSeems like RabbitMQ\nBuffering events to enable loose coupling and asynchronous management</p>\n<h3>9.2 Amazon Simple Notification Service SNS</h3>\n<p>publish/subscribe</p>\n<h3>9.3 Amazon simple email service SES</h3>\n<p>Sending bulk email at scale\nTransactional emails, marketing emails, social networking\nget feedback about those who have been bounced, those who are marked as spam …</p>\n<h3>9.4 Amazon Cognito</h3>\n<p>Identity\nIntegrates with major authentication providers.\nEnable SSO or login with social media\nCognito can stor app data, state, preferences.\nCan store in local with SQLite.</p>\n<h3>9.5 Amazon Mobile Analytics</h3>\n<p>Makes it easy to measure usage of application.\nWhat are the going on trends?\nintegrate AWS mobile SDK\nAlso offers REST API.</p>\n<h2>10. High availability and fault tolerence</h2>\n<h3>10.1 Elastic Load Balancing</h3>\n<p>What happens when this component fails ?\nSpread instances across availability zones</p>\n<h3>10.2 Listeners and SSL Certificates</h3>\n<p>Use the amazon certificate manager to have HTTPS !!\nFree</p>\n<p>Upload the certificate to IAM, and then choose it for HTTPs listener</p>\n<h3>10.3 Load Balancing</h3>\n<p>Maintaining balance between availability zones</p>\n<h3>10.4 Creating an ELB</h3>\n<p>EC2 => load balancers\ndefine vps and listeners\nadd security groups. The load balancer should have his own security group.\nConfigure Health Check\nadd EC2 Instances (they must be in the vpc we have chosen\n)</p>\n<h3>10.5 auto scaling</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/062bbbf1d4aa4fd2d1bfa3f2b855df0e/142fb/2020-03-10-14-00-34.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 61.48648648648649%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACxUlEQVQoz1WTy29TVxDG/Z92h4RE6iBcYltJnJIFXWRDFxVdsUFigwABpS1JHAIJBNvx247tmJCQQGLf57kv3+s4/JhrS5V6pO/eM4/zzZw5M4m1tTVyuRyrd+6wklthdXWV+eQ8yWSS5M9J5ubmSKVSZLNZspks6XSGhdsLZOQfy5lMZmbLzvaJfr/Pzs4uux/e87G0R6Ndp1QpUmtWKdfL5LfztDotlK8wbAM/9PAjD9u1sATKs9FNA90wUEqRQFasPGz2yT8t8vbFPtsvqxS2+nzY6LK3XuP9v5Up3v1dZm+zN9Xnn5XYfl4i/6RAp3wgAd2YisT4coJtDdGPv1J+XaHxpkV5s0kx36Gw0aYucuFVleI/NapbTfa3OpTyXfFpiG+TigT81j1CuYqr70I4ka+mD2BkCYYwNhh7Or5ENAcDAmNAaJ4TCdTgG45lEYjt0ot9TQg1Lt0BhmnNMpxcXaHrmnCd4L1M47bWMU0H7VzDHGpMohB/+3e8nT8IowhLdNqFgaWb+B8f4mz8hi9BLanff4SGoREOj/FepfHa6yjbxXMdPMdmEgZ4b+7hvhPCcMTIU7iOi60bjIoPcTfvyi0usGz1/wwj45Ro9x7hSYGRHPR9Tw7OCMeVR0T1x1N9IITBKMCXmo1bfwnpAwJzgGnbfI8JL+MaDqVGEkFuN12+PJLrODiS+WTkTR3jFSgTL4bYAqVNdbEtcixMy5wRxhkOtSGR9FSg5Bpxb1k6tnKkFPI4jkkgmOrNIUrIlNgc2UfSbqEgDqJb9uzKuq7TleZudTtUahUO2k16Ip+enXF0fELvsEejXqXZqNHpdvlyesbnL6fi35PmlyHYL9Jp1/h02Obi/CuJP+/f54aMzE8ySvMygr8KlpeXWVpaYjmG7HMykrG8uLhITuRkNsO1dJprcu566hdWsrdYWpjjduomPwA8Sj/n0XFOQAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 10 14 00 34\"\n        title=\"2020 03 10 14 00 34\"\n        src=\"/static/062bbbf1d4aa4fd2d1bfa3f2b855df0e/fcda8/2020-03-10-14-00-34.png\"\n        srcset=\"/static/062bbbf1d4aa4fd2d1bfa3f2b855df0e/12f09/2020-03-10-14-00-34.png 148w,\n/static/062bbbf1d4aa4fd2d1bfa3f2b855df0e/e4a3f/2020-03-10-14-00-34.png 295w,\n/static/062bbbf1d4aa4fd2d1bfa3f2b855df0e/fcda8/2020-03-10-14-00-34.png 590w,\n/static/062bbbf1d4aa4fd2d1bfa3f2b855df0e/efc66/2020-03-10-14-00-34.png 885w,\n/static/062bbbf1d4aa4fd2d1bfa3f2b855df0e/142fb/2020-03-10-14-00-34.png 907w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span>\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/44245e0c3587b30316b0d0afe7122250/65d79/2020-03-10-14-08-26.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 59.45945945945946%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACcklEQVQoz31SS08TURTuz3XhwoUbZQGolHTLBoS4kRAXgm1RIJIAUWwVR1Gw9AH0Ma0d2k5nOnced57M57mdgjEhnuTLuY8533znuye1urqKhYUFLC09x+Li0hgryytjbKxvIJ/fRC6bRy6Xp7XIOWSz2Tsh7lOcc8jtDhqNC8qXkOULdLoyTG4iiXiSo9vV/yLlBxGYpeP8ZxP5FwXsr3/H/ptj7L7+iZ1XX7CzVsT64gG+7pUw0nvQDAbm+eibNq4ICrPBuAfL9WFwFynXD6BrPVi9Ppq/WmiXWjj/VsP5iYyqVIN8Wod81sbodx/cGIDZDiwvgOa46NscXkjK40S7RVykkC61ISK1Dnv3Kdx6AYHP4VLL3Dbgqw1Y758gaBZg0ncGY3CoMIyuwUiVSWpt2gviW8LhcACYCgJpBdGgTIQOXIcKyYqIKQilZcRqhQi1sUKXyNzwGo6wi9Rafjg+EznlEevIUKG12ihLMirFKkqFMkpSE6efKjj7eIKK1ELvsgNuqmAOh01qhuSbRgp1oZKIBOxgQsjYEJ1qB/svt1HclHD49hiH737gQ05CcesEB2u7qB5ViFCnB7Rhia4mHooHugnL9/96GKs1xFv3ENb34AcufDdpORw2ge37CGs7MIcadWOA+4lvI9cj78IxxHg5ARFyz0NvQK+sdqGUj6B3G9DVPgYDFf0rBaNeG1dnn2EoDah0PjJNGERkU12XWVBodHSXPCRO8YPUjdyIXj6Ixfj+G9cEP07yXZEMjEOwk8HOZDKYmprC7MwMMvPzSKfnCGmk5yaZMD9Gsp+jc4H0BKJu+vFDTD96gGez0/gD4MZdl4cMmfEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 10 14 08 26\"\n        title=\"2020 03 10 14 08 26\"\n        src=\"/static/44245e0c3587b30316b0d0afe7122250/fcda8/2020-03-10-14-08-26.png\"\n        srcset=\"/static/44245e0c3587b30316b0d0afe7122250/12f09/2020-03-10-14-08-26.png 148w,\n/static/44245e0c3587b30316b0d0afe7122250/e4a3f/2020-03-10-14-08-26.png 295w,\n/static/44245e0c3587b30316b0d0afe7122250/fcda8/2020-03-10-14-08-26.png 590w,\n/static/44245e0c3587b30316b0d0afe7122250/efc66/2020-03-10-14-08-26.png 885w,\n/static/44245e0c3587b30316b0d0afe7122250/65d79/2020-03-10-14-08-26.png 905w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span>\nself healing services</p>\n<h3> 10.6 Demand based Scaling</h3>\n<p>Scale to meet the demand.\nAutoScaling groups along with Amazon CloudWatch alarms.\nScale down when CPU is low.\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6a30db2a9a33581ce56b91bc6e7ef760/078fe/2020-03-10-14-14-43.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 62.83783783783784%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACx0lEQVQ4y4WTXW/TWBCG80fR/gMk7vZqtTf8AJA2StKm4YIsmzQVKrCFIihCTVBLV102oaSUJP2I29SxHdtxHH/n2bGTRdztSK/meOZ49M47c3L1+ibFYolyuSy+yPraOoVCkVJp7TsKhQL5fJ78b3kqlQobG2XKG+vfkX6X1ko0Gg1y7Xabvb09Wq0W+/tNms0mHz60sliKfr/PbDbDsixM02QyMcRbOJbH1JoL3OxsmU6Wzy0WC8a6hqqOUMcjNEMnjBO8MOJ2rGIYmlw0cD2P/8zxxxyel/lnWKOjbHE4WOPSaGW53DzwGXz9xk6lyc6jFs8rLV7Xjnn1+zHPN/bZLr6n0zzBsjWiJMl+UvQT6gc/sX18l2d/3+PJ4R0OeoVlQWc+xzTGzHRpQ7MYnl0xujJQh6acLyRm45pWxjJZLBnO/SmK+pHr6yaKdsSV9heGc7Eq6IoG9gRCh3A6wZYW4yiARYJxOyKaWQIDXaRI66USpRYIWcsNsPwYNwJxuGG4LKhfX+G+/BX71X2mIro9VAiElXHZw9m6i/nuISNVJZZasdBMS2runAvTRrGm3DoyNN/H9HxyUylojm9YKJ+Ih5+Yqjc4ExmM42ANz0kujwiGbQwZXBKFxI7GwnexRSp9JnLJBhhzn1kY4wTC0A8CDHPCjSZtmTNs28WXFgKhM1JvGemSG2tMLDPtlyTwMpDES0FTv4izXCpHtja+0PWF7kj/xlD7zNg6I4x8giDCk5znB0SySpmGK6QDikOf2DWJvCmx70jtmBw/WKv3gDenv/Dy888488Eqmq5KtELM/1lOURR6vR7ngwv2j57y9uAxe4dVvnSP6Z926XVP6H3pZOh/7WYvpz8YMBCk506nzcnRG7ofdzg77ZDb3d2lWq1Sq9VobD5lq7GdIX3jtXp9hc0lavXs3o+oS/4PiT+uPuHFiz/5F8PEpnDVs/NzAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 10 14 14 43\"\n        title=\"2020 03 10 14 14 43\"\n        src=\"/static/6a30db2a9a33581ce56b91bc6e7ef760/fcda8/2020-03-10-14-14-43.png\"\n        srcset=\"/static/6a30db2a9a33581ce56b91bc6e7ef760/12f09/2020-03-10-14-14-43.png 148w,\n/static/6a30db2a9a33581ce56b91bc6e7ef760/e4a3f/2020-03-10-14-14-43.png 295w,\n/static/6a30db2a9a33581ce56b91bc6e7ef760/fcda8/2020-03-10-14-14-43.png 590w,\n/static/6a30db2a9a33581ce56b91bc6e7ef760/efc66/2020-03-10-14-14-43.png 885w,\n/static/6a30db2a9a33581ce56b91bc6e7ef760/078fe/2020-03-10-14-14-43.png 934w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h3>10.7 Creating an auto scaling group</h3>\n<ol>\n<li>create a launch configuration\nyum install -y httpd\nto be added in create launch configuration</li>\n<li>Create auto scaling group\nselect the right vpc\nconfigure scaling policies</li>\n</ol>\n<h2>11 Course Wrap up</h2>\n<h3>11.1 The ideal</h3>\n<ul>\n<li>Highly available\nit is up a great majority of the time\nAMI, EC2, S3, Auto Scaling</li>\n<li>fault-tolerant\nAplpication continues to operate through fault\nAMI (?), EC2, Elastic Load Balancing</li>\n<li>Secure\nAWS CLI/Console</li>\n<li>Durable\nData survives loss of infrastructure\nEBS, Snapshots, S3, Glacier</li>\n</ul>\n<h3> 11.2 Best Practices</h3>\n<ul>\n<li>\n<p>Design for Failure</p>\n<ul>\n<li>Everything will fail eventually</li>\n<li>any component can fail at any time</li>\n<li>“What happens when ”____” ?</li>\n</ul>\n</li>\n<li>\n<p>Scale Horizontally</p>\n<ul>\n<li>Stateless Applications/Components (state should not be stored locally)</li>\n<li>ElastiCache, DynamoDB</li>\n<li>Distributed processsing :</li>\n<li>parallelize and batch</li>\n<li>Kinesis, Elastic Map Reduce</li>\n</ul>\n</li>\n<li>Disposable resources over fixed servers</li>\n<li>\n<p>Automate, automate, automate !</p>\n<ul>\n<li>CloudFormation</li>\n<li>Elastic Beanstalk</li>\n<li>AutoScaling</li>\n<li>CloudWatch</li>\n<li>Third Party Tools</li>\n<li>Ansible, chef, puppet as ways to automate environment</li>\n</ul>\n</li>\n<li>\n<p>Security in Layers</p>\n<ul>\n<li>VPS, Routes, NACLs, Security groups</li>\n<li>IAM: Users, groups (least rights possible), roles, keys</li>\n<li>Leverage multiple accounts</li>\n<li>Protect Master credentials</li>\n</ul>\n</li>\n<li>\n<p>Loose Coupling</p>\n<ul>\n<li>Microservices</li>\n<li>Failures should not cascade</li>\n<li>ELB, Amazon SQS, Kinesis …</li>\n</ul>\n</li>\n<li>Optimize for cost</li>\n</ul>\n<h3>11.3 The exam</h3>\n<p>80 minutes\n55 questions\nArchitect a solution that is technically appropriate, and cost effective.\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/87e3c9a6f67e7e4c7242704035ede4b0/41be6/2020-03-10-14-41-30.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 96.62162162162163%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB2klEQVQ4y52UyY7CMBBE/f9fgwQnDpy4gIQEiH3f4cC+7z16LTUyEMLMRHJiO0m5qnpxuVxOotGoZDIZSSQSkkqlJJlMSqFQkFarJY1G40/DbTYbiUQikk6nFSgWi0k8HpfZbCb/uZxN7vf70wvWl8tFrternM9nfbL2B/s2v91uOtzxeJTlcilI73Q6Ui6XpVKpSL1e13W321UpvV5PBoOB2lCtVmU0Guk3+XxeJpPJg4Szyel0Upl4B0ixWJT9fq/vGJxuT9jaPnNflbMX0AawVqsps36/r2wA/XYZxsNDTj0cDgpYKpUUCHnIxw7/p08jUPJisVBf2u22etRsNnU/KGihUfYlYzgMh8OhMoT5K8OwA54kz+dzBYEhgUF+kIdhbN+iDCABITCkD9J3u52O7Xb7O4a+ZNKFgAAKIBZQluQinqLmNbKBgGT9arXSn2BHsgKKfEDZh+FXyVYyVmZ2GZNX7/z9QIZ4BzPkTafTByvWlBtrUoknfiKd9PoIyG29XmtN8qOVHhWDVMCRy5yoj8fjNw99YAUkgtYMjJWxsG6CEjzE67AUchYQPgaY7kNOkn9+i/Jrnj1raW8MOZl6RSL+wNS6L3u0NaQiGTuy2aymFnNLeh/wBzVlrJ3taGLfAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2020 03 10 14 41 30\"\n        title=\"2020 03 10 14 41 30\"\n        src=\"/static/87e3c9a6f67e7e4c7242704035ede4b0/fcda8/2020-03-10-14-41-30.png\"\n        srcset=\"/static/87e3c9a6f67e7e4c7242704035ede4b0/12f09/2020-03-10-14-41-30.png 148w,\n/static/87e3c9a6f67e7e4c7242704035ede4b0/e4a3f/2020-03-10-14-41-30.png 295w,\n/static/87e3c9a6f67e7e4c7242704035ede4b0/fcda8/2020-03-10-14-41-30.png 590w,\n/static/87e3c9a6f67e7e4c7242704035ede4b0/41be6/2020-03-10-14-41-30.png 638w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>","frontmatter":{"title":"Formation AWS 09-10/03/2020","date":"March 10, 2020","description":"Notes taken during AWS training"}}},"pageContext":{"slug":"/aws-training/","previous":{"fields":{"slug":"/beyond-asset/beyond-asset/"},"frontmatter":{"title":"Beyond Asset","tags":["article","react"]}},"next":{"fields":{"slug":"/lambda-training/"},"frontmatter":{"title":"Lambda training","tags":["training","AWS"]}}}},"staticQueryHashes":["2841359383","3145232782"]}