My investigation into API’s and Server Side Development

First of all, an API is an Application Programming Interface. Basically, when you type in the url to go to a website such as www.twitter.com a request is sent to twitter’s remote server and it is returned to your browser to display the website. Your browser thinks that twitter’s server is an API.

What all of this means is that whenever you go to a large website you are interacting with some sort of API. An API isn’t the same as the remote server, it is actually a part of the server that receives requests and sends responses.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

An open API, also known as a public API, allows the owner of a network-accessible service to give universal access to consumers of that service, such as developers.

Examples:

Amazon API Gateway

Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. With a few clicks in the AWS Management Console, you can create an API that acts as a “front door” for applications to access data, business logic, or functionality from your back-end services, such as workloads running on Amazon Elastic Compute Cloud (Amazon EC2), code running on AWS Lambda, or any Web application.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Amazon Athena

Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is server-less, so there is no infrastructure to manage, and you pay only for the queries that you run. Athena is easy to use. Simply point to your data in Amazon S 3, define the schema, and start querying using standard SQL. Most results are delivered within seconds. With Athena, there’s no need for complex ETL jobs to prepare your data for analysis. This makes it easy for anyone with SQL skills to quickly analyze large-scale datasets.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Application Auto Scaling

Auto Scaling helps you maintain application availability and allows you to dynamically scale your Amazon EC2 capacity up or down automatically according to conditions you define. You can use Auto Scaling for Fleet Management of EC2 instances to help maintain the health and availability of your fleet and ensure that you are running your desired number of Amazon EC2 instances. You can also use Auto Scaling for Dynamic Scaling of EC2 instances in order to automatically increase the number of Amazon EC2 instances during demand spikes to maintain performance and decrease capacity during lulls to reduce costs. Auto Scaling is well suited both to applications that have stable demand patterns or that experience hourly, daily, or weekly variability in usage.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

In simple terms, these API’s allow developers to give consumers access to services from other websites all while being able to stay on one website. The developer can also use these services to manage their application remotely.

Website scripts run in one of two places — the client side, also called the front-end, or the server side, also called the back-end. Basically the client is the browser on your computer, and the server is where the website is stored. Most coding languages are designed to run on either the server side or the client side.

Client Side Languages

Some client side languages are HTML, CSS, and JavaScript. Basically, these languages are called client side because they run code on your computer after you’ve loaded a website. Client side development is mostly done in JavaScript.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —-

Server Side Languages

A server side or back-end language runs its scripts before the HTML is loaded, not after. What this means is that the code isn’t run on your computer, it is run inside of the server that is sending information to your computer. Once the code is run, the server sends the down the resulting HTML code. Some server side languages are PHP and Ruby on Rails.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Client side code like JavaScript can be accessed after it is run on your computer and you can view the original code before it was altered. On the other hand, the PHP code that was run on the server side will be nowhere to be seen. This is because the server will have already taken care of the PHP, and what gets sent to your computer is the resulting HTML.

Resources: