Final Reflection

You have finished developing a full stack web application in the cloud. In the final iteration, you completed the API and tested the project, then you documented the process using a presentation. In this assignment, you will summarize the specific skills you learned in CS 470 and apply this to a description of your strengths as a developer, based on your qualities, skills, and experiences. Additionally, you will synthesize your knowledge about cloud service concepts to describe how you would plan for the future growth of your web application. The “Planning for Growth” section will highlight your ability to think ahead, and to apply complex concepts to planning for scale and elasticity in the cloud. This section is weighted more heavily than the other two criteria.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Specifically, you must address the following rubric criteria:

Experiences and Strengths: Explain how this course will help you in reaching your professional goals.

What skills have you learned, developed, or mastered in this course to help you become a more marketable candidate in your career field?

  • Describe your strengths as a software developer.
  • Identify the types of roles you are prepared to assume in a new job.

    Save Time On Research and Writing
    Hire a Pro to Write You a 100% Plagiarism-Free Paper.
    Get My Paper

    Planning for Growth: Synthesize the knowledge you have gathered about cloud services.

  • Identify various ways that microservices or serverless may be used to produce efficiencies of management and scale in your web application in the future. Consider the following:
  • How would you handle scale and error handling?
  • How would you predict the cost?
  • What is more cost predictable, containers or serverless?
  • Explain several pros and cons that would be deciding factors in plans for expansion.

    What roles do elasticity and pay-for-service play in decision making for planned future growth?

    Competency
    In this project, you will demonstrate your mastery of the following
    competencies:


    Apply cloud-based development principles and best practices in
    application development
    Develop applications that run on cloud-based frameworks
    Scenario
    You are a developer for QnA, a startup company. You just completed the
    development of a full stack web application and watched app usage take off
    after the implementation of in-house servers. It’s an exciting time for the
    company. The company is growing, and you can feel the growing pains. The
    company is expecting a drastic increase in customers. You notice that the
    once-fluid office environment that allowed customers to choose their favorite
    devices and platforms has led to major limitations in collaboration.
    Development has become siloed, and sometimes only one key person can
    manage certain aspects of the application. To continue to allow your
    application to expand with the growing company, you need a solution for
    moving the application to a cloud-based framework.
    In this project, you will explore cloud development frameworks for leveraging
    cloud infrastructure to support your application. This project will allow you to
    migrate your web application from the desktop to a cloud-based environment.
    All of these iterations will show you how the cloud is designed to make scaling
    up and growing your business more efficient. The IT team has determined that
    Amazon Web Services (AWS) provides a Platform as a Service capability that
    allows you to minimize system management and efficiently run services by
    dynamically scaling an application’s capacity to run up and down. You will be
    leveraging the principle of elasticity.
    Directions
    Specifically, your web application must demonstrate your ability to do the
    following:
    Frontend: Establish an S3 server to host a static Angular website.

    Prepare the client-side and web server setup, and apply the principles of
    serverless web hosting by moving frontend-Angular to the cloud.

    Prepare S3 storage buckets and objects and IAM security settings.
    Now that you have created your containers, you can see there are benefits and
    pitfalls to this approach. Your director wants to ensure that your site is elastic,
    is secure, can process data quickly, and can keep up with the amount of traffic
    and transactions as the number of customers increases. Her thought is to
    utilize more AWS products and move the frontend to S3, a serverless solution.
    You will be running your application in a serverless environment using a cloudbased database solution and detaching the Angular frontend and running it in
    the cloud, removing the need for the original server.
    Backend and API: Migrate all of the server-side business logic.




    Demonstrate how Lambda containers can be used to distribute
    functionality in a serverless environment.
    Migrate all of the server-side business logic; apply principles of
    serverless API by writing code.
    Establish IAM security policy updates to protect the website and
    database.
    Change the API Gateway to connect the Lambdas.
    As you explore native cloud services you will discover best practices that
    simplify the work of a developer, leaving them focused on developing rather
    than continuously working on maintaining the existing infrastructure.
    In the final phase, you will deconstruct the full stack application APIs and turn
    them into microservices, making them fully cloud-native applications. This
    involves adding CRUD functionality and API Gateway using Lambdas to
    eliminate the need for the original MEAN server.

    Still stressed from student homework?
    Get quality assistance from academic writers!

    Order your essay today and save 25% with the discount code LAVENDER