Python app serverless deployment

Overviews of best solution for serverless deployment: Amazon Web Services and Slam
25 August 2017   1321

What is Slam?

Slam is a serverless deployment tool that allows you to deploy your Python functions or web applications to AWS Lambda, API Gateway and DynamoDB. It does so by generating a Cloudformation template that describes the deployment in its entirety. If you are deploying a web application, the Lambda function is deployed using the techniques described above to adapt API Gateway invocations to the WSGI format.

The package is called Slam, and can be installed like this:

$ pip install slam

Also, check small video tutorial:

Learn more at GitHub.

What is AWS?

Amazon Web Services (AWS) is a subsidiary of Amazon.com that provides on-demand cloud computing platforms to individuals, companies and governments, on a paid subscription basis with a free-tier option available for 12 months.

In AWS, Lambda is the function as a service offering. With this service, you can upload your Python, Node.js, Java or C# code and Lambda will store it and run it for you. To work with the Lambda service you upload your project packaged as a zip file, containing your own code plus any dependencies that are needed. You have to designate a function in your code as the entry point, and this function will be called by AWS when a client "invokes" your Lambda function.

The API Gateway service allows you to construct API endpoints, and configure what actions these endpoints trigger when a client sends requests to them. The service takes care of scaling, rate limiting, and even authenticating your clients if you wish to go that far. An API Gateway endpoint can be configured to invoke a Lambda function, so you can create endpoints in API Gateway that match the endpoints in your API, and connect each of them to a Lambda function, and with this combination of API Gateway and Lambda your clients can work with your API in the normal way, by sending HTTP requests.

The serverless platform for AWS is often described as having three main services. DynamoDB is a simple NoSQL database service. Why is a NoSQL database so popular in the serverless world? Well, serverless applications tend to be built as a collection of small and independent pieces (the so called microservices), so while you can use a relational database, that is sometimes overkill. DynamoDB tables do not need a schema, are very easy to setup and use, and follow the "only pay for what you use" model present in many AWS services.

Python to be Language of 2018 According to TIOBE

According to experts, Python has become an integral part of many IT-spheres, including AI
09 January 2019   325

TIOBE experts called Python the programming language of 2018 - according to them, Python has become an integral part of many IT-spheres. It is leader of use at statistics, artificial intelligence systems development, scripts and system tests, and is still widely used in web development and scientific computing.

By the way, Python reached this peak for the third time - none of the languages ​​showed this result.

TIOBE Languages of the Year List
TIOBE Languages of the Year List

TIOBE experts summed up not only the whole year, but also the month. Returning to the top three in December, in January, Python continued to push C ++, although the last time it lost ground fairly quickly.

MATLAB changed places with Ruby: the first one rose to the 11th line, the second one dropped to 18. TypeScript took off as much as 118 points and took the 49th place. F # lost two dozen points, and Alice lost all four.

Tiobe Index Jan 2019 to Jan 2018 Compare
Tiobe Index Jan 2019 to Jan 2018 Compare

Kotlin started the year with a positive. The language has risen to 31st place, and experts believe that in 2019 it will enter the top 20.