简体   繁体   中英

Is it hard to deploy a cloud server?

Sorry I'm new to web server. I want to deploy a cloud server for user data:

  1. User can login using web, with verification code sent to user's phone.
  2. User can manipulate his data (add/modify/remove) when login.
  3. Android/iPhone client can manipulate user data when login.
  4. Server should have a database for storage, SQLLite or others.

It would be good to use Amazon/Ali-cloud cloud service, provided it can speed up my deployment. I'm not sure if I need run into blobs such as H5, PHP/JSP, node.js or others. Can you provide a guide for me, web link or book?

And, what's the most popular programming interface between Android/IOS app and cloud server? http post/get or other wrapper ?

Surely you can speed up your deployment using Amazon Web Services. This is my recommendation:

  1. For Webserver,

Amazon EC2: Launch an instance where you can install Apache/Nginx here. You will need a RDS instance running parallel with your server which will lower your need on server CPU/Mem, but will cost also.

  1. For Database, you can have many approach ways here:

Amazon RDS: Launch an instance where you host your Database (mysql/...). This one will provide you with Database Name, Hostname, Users, ... which you can use to connect with your webserver in EC2. Your Android/IOS application can use RDS information for the database connection.

Amazon DynamoDB: Fast, Flexible for NoSQL (wonder if you want to use traditional database or NoSQL?): https://aws.amazon.com/amplify/

  1. For Mobile/Website access control,

AWS Cognito: Great for user-accounts, designed for real-time data model: https://aws.amazon.com/cognito/?nc1=f_ls

  1. For serverless if you want to GET/PUT API on your webserver for easier,

AWS Lambda: https://aws.amazon.com/lambda/?nc1=f_ls

Taking into account that you are just starting with your application, I would suggest going with serverless architecture with AWS Lambda running your business logic.

Key benefits:

  • No server management = spend time on building your application vs on maintaining infrastructure
  • Flexible scaling = scale based on what you really need
  • Pay for value = don't pay for resources that you don't need
  • Automated high availability = serverless provides built-in availability and fault tolerance

To learn more on serverless, you may want to check Building Serverless Web Applications - 2017 AWS Online Tech Talks .

Now when it comes to going deep, I would suggest checking online trainings available from acloud.guru, cloud academy, udemy or linuxacademy for serverless and also for the development language you want to use (Node.js is often used for such scenarios).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM