Everything you need to know before starting the development
List and descriptions of concepts that are beneficial to understand before starting the development:
Linux - very popular OS (Operating System).
Apache – the most popular web server on Linux systems.
PHP – an open-source server-side scripting language that can be embedded into HTML.
MySQL – an open-source relational database management system. It allows us to create
and use databases.
phpMyAdmin – a software tool that allows us to administrate MySQL over the
web.
AWS - Amazon Web Services provides
on-demand cloud computing platforms and APIs to individuals and companies. These cloud computing
web services provide distributed computing processing capacity and
software tools via AWS server farms. Some of the most popular Amazon services are EC2, S3 and RDS.
Amazon EC2 (Elastic Compute Cloud) - makes it easy for to obtain virtual servers, also known as compute instances in the cloud, quickly and inexpensively. With Amazon EC2 we pay only for what we use so when we're done using our instances we simply stop them and stop paying for them. Amazon EC2 provides a range of instance types designed for different use cases. These range from small and economical instances that are a great choice for low volume applications, all the way up to cluster compute instances designed for high performance computing workloads, and could-based supercomputing on demand.
Amazon EC2 provides instances optimized for compute, memory, storage and GPU processing to enable us to find the right price and performance combination for whatever workloads we want to run. It's also really easy to resize your instances
if our business or application requirements change. Amazon EC2 provides a number of built-in security features. The instances are located in a Virtual Private Cloud or VPC that is a logically isolated network that we control. Amazon VPC provides us with a number of network security tools we can use to control who can access our instances. Amazon EC2 instances provide us with various amounts of directly attached temporary storage. It also provides auto-scaling to help ensure that our applications demands are met. Auto-scaling lets us define metrics to increase or decrease the number of instances that we are running.
Amazon RDS (relational database service) - simplifies database management by automating time-consuming administration tasks. Amazon RDS gives us the freedom to use our relational database of choice including the most popular open source and commercial engines, and Amazon's relational database built for the cloud Amazon - Aurora. Aurora offers the performance and availability of traditional commercial databases at a fraction of the cost.
RDS allows us to scale across a global footprint of data centers with enterprise high availability and disaster recovery. RDS automates many tasks, such as: automatic failover, backups in point in time restore, disaster recovery, access management, encryption secure, networking monitoring and performance optimization.

Amazon s3 (simple storage service) - provides developers with safe secure object
storage. It's easy to use with a simple web services interface that can be used to store and retrieve any amount of data at any time from Amazon ec2 or from anywhere on the web.
After choosing the region where you want your data stored and creating a bucket,
we can begin storing data in s3. With Amazon s3 we can store as much data as we want and access it when we need it. Amazon s3 helps make sure that we don't lose any data by automatically making copies of our objects on multiple devices across multiple facilities. Amazon s3 also lets us preserve retrieve and restore every version of every object in an Amazon s3 bucket so we can easily recover if something is accidentally deleted by
users or application failures. Amazon s3 offers a range of storage classes designed for
different use cases including:
- s3 standard for general purpose storage of
active data
- s3 standard infrequent access for
long lived but less active data
- Amazon glacier for long term archived data
Amazon s3 also offers configurable lifecycle policies for managing our data throughout its lifecycle. Once a policy is set our data will automatically migrate to the most appropriate storage class without any changes to the applications. Securing data is very important and Amazon s3 gives us flexibility to control who can access our data with: Identity and Access Management policies, access control lists, bucket policies, and query string authentication. S3 also helps us securely upload and download our data with SSL encrypted endpoints and
provides multiple options for encrypting data at REST.
HTTP - Hypertext Transfer Protocol is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. It is the foundation of data communication for the WWW, where hypertext documents include hyperlinks to other resources that the user can easily access.
HTTPS –its a secured version of HTTP. In order to have it on our website we first need to get SSL
certificate.
SSL certificate - data file hosted in our website’s origin server. It contains website’s public key and
its identity. It also makes encryption-based security protocols possible.
Laravel - free and open-source PHP web framework, intended for the development of web applications following the MVC architectural pattern and based on Symfony.
Artisan - the name of the command-line interface included with Laravel.
It provides a number of helpful commands while developing the application. It is driven by Symfony Console
component.
Symfony - set of reusable PHP components and a PHP framework to build web applications, APIs, microservices and web services.
Blade - templating engine included with Laravel doesn't restrict us from using plain PHP code in our templates.
MVC - The Model-View-Controller framework is an architectural pattern that separates an application into three main logical components: Model, View, and Controller. Each component is built to handle specific development aspects of an application.
RDBMS - Relational Database Management System provides an interface between users and applications and the database, as well as administrative functions for managing data storage, access, and performance.
RDBMS - Relational Database Management System provides an interface between users and applications and the database, as well as administrative functions for managing data storage, access, and performance.
CRUD - an acronym of 4 essential operations for creating and managing persistent data elements which are: CREATE, READ, UPDATE and DELETE.
Encryption - way of scrambling data so that only authorized parties can understand the information.It is the process of converting human-readable
plaintext to incomprehensible text, also known as ciphertext. Commonly used for safely storing passwords in database.
Authorization - process of verifying what specific applications, files, and data a user has access to.


















Komentarze
Prześlij komentarz