================== Elastic Beanstack ================== => End to end web application management service. => It provides platform as a service (PaaS). => AWS will provide ready made platform to run our application when we go for Beanstack. Note: Upload your code and run your application, aws will take care of infrastructure and platform to run your application. ================== Web Application ================== => The application which runs in the server is called as web application. => Web application works based on client-server architecture. => Server is a software which is used to run our application. Ex: httpd, tomcat, weblogic, web sphere, jboss, IIS... => Client is a software which is used to send the request to server and get response from server. Ex: browsers (chrome, firefox....) ====================== Web application types ====================== 1) Static web applications 2) Dynamic web application ======================= Static website hosting ======================= => We can deploy static website very easily with below options 1) Using httpd server 2) Using s3 bucket ======================================= Dynamic Web App - Deployment process ======================================= => To develop dynamic web applications we will use below technologies Ex: Java, Python, Dot Net, Node JS, PHP etc... => We need to perform below tasks to deploy one dynamic web application in aws cloud. Step-1) Create Network (VPC, Subnets, RT, IGW, NATGW) Step-2) Create EC2 Instances Step-3) Install Required softwares to run application Ex: Java, Tomcat... Step-4) Create Target Group and Load Balancer Step-5) Setup Auto Scaling Group Step-6) Deploy our application code Note: We are responsible for "infra setup + platform setup + app deployment" ### Note: When we use AWS Elastic Beanstack service then AWS will take care of first 5 steps, we just need to upload our code. ================================ Elastic Beanstack Pricing Model ================================ => No additional charges for elastic bean stack. => We need to pay the amount for the resources which are created by bean stack. Ex: EC2 instances, S3 buckets, LBR, ASG etc... ================================ Lab Task on Elastic Beanstack ================================ Step-1) Create IAM Role with below 3 policies - AWSElasticBeanstalkMulticontainerDocker - AWSElasticBeanstalkWebTier - AWSElasticBeanstalkWorkerTier Ex : Role Name : ashokit_beanstack_role Step-2) Create Application using Beanstack Step-3) Create Environment for the application by choosing required Runtime. Ex: Java or Python or Dot Net Note: Once environment is created it will generate DNS to access our application. ==================================== Uploading Java SpringBoot Web App ==================================== => Take jar file of java springboot web app => Go to Elastic Beanstack environment and upload your jar and give version number for your application Ex: v1.0 => Go To enviornment Properties and set SERVER_PORT as 5000 Ex : SERVER_PORT = 5000 - Select Environment - Go to Configuration - Edit "Updates, monitoring, and logging" option - Set Environment Property and apply => After environment got re-started, we can access our application by using DNS url.