Designing Scalable Private and Hybrid Cloud Architectures: Key Strategies and Technologies
This article explains how to build private and hybrid cloud solutions, outlines essential technology stacks, discusses scalability, resource management, and storage options, and provides practical guidance on improving availability and handling errors in cloud systems.
Cloud computing reference architecture:
The diagram illustrates how to create private and hybrid clouds, allowing end users to provide their own compute, storage, and networking resources. Many large organizations are building internal private clouds to strengthen their data‑center strategies.
58.com cloud architecture :
Baidu community cloud architecture:
Understanding elastic services, the first point is auto‑scaling: the system automatically adjusts resources according to performance, traffic, and business changes. The second point is automatic fault isolation: when a machine fails, the impact on the business is transparent and zero.
Youdao Note cloud architecture :
Open‑source technologies commonly used in cloud storage systems include languages such as C, PHP, Erlang, Python, and products like Nginx, GraphicsMagick, MySQL, Memcached, Hadoop, Redis, Squid, Heartbeat, IPVS, and BIND.
Key technology platforms:
Java platform – Grails (Rails‑like), standard Java web applications, Lift (Scale‑based), Spring (popular framework).
Ruby platform – Rack (minimalist), Rails 3 (full‑stack), Sinatra (minimalist).
Python platform – Django (most popular), WSGI (Python CGI).
Other platforms – static pages, Node.js (asynchronous), Erlang, PHP, standalone programs.
Storage options:
Databases – MongoDB (popular NoSQL), MySQL (traditional relational), Neo4j (graph), PostgreSQL (MySQL competitor), Redis (fast in‑memory KV store).
Storage systems – Atmos (EMC), FileSystem (remote NFS), Vblob (Amazon S3 support).
Other services – RabbitMQ (robust Erlang queue system).
Four impact areas of cloud system architecture :
Scalability: Can resources be added to handle increased demand?
Availability: Can the application tolerate short‑term and long‑term failures?
Manageability: Is there a way to monitor system health and performance?
Feasibility: Can the system be built and maintained within time and budget constraints?
Scalability
Scalability comes from two aspects: resources and density. Resources refer to adding extra hardware, which can be trivial (adding a server behind a load balancer) or difficult (adding a secondary database server). Density refers to how efficiently existing capacity is used; traditional performance tuning can greatly increase density.
Measurable resources
Measurable resources are items that require careful monitoring, such as database connections. Overusing these limited resources can drastically reduce density. Other examples include authentication servers and third‑party network services, often called “invisible resources” because developers may overlook them when designing architecture.
Load balancing with queues
Peak upload loads can cause problems, especially for systems optimized for heavy read workloads. One way to smooth peaks is to use a queue that buffers incoming data. In this approach, new data is not written synchronously to the database; instead, it is placed in a queue monitored by a background process, which smooths the load and keeps the database consistently utilized. Batching writes via the queue is also much faster than inserting records one by one, and it adds a decoupling point—if the backend process or database fails, the front‑end can still accept new data.
Improving queue availability
If too many messages arrive simultaneously, auxiliary queues can be used to store the excess. Designing the application to support multiple queues from the start helps handle such scenarios, even if initially only one queue is deployed.
Recording erroneous data
Developers know they must validate data, but when validation fails they often do not know what to do. Simply discarding the data and throwing an error is insufficient. The erroneous data should be recorded in its original format so developers can determine why the request failed.
Source: http://www.cnblogs.com/wintersun/p/4183516.html
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITFLY8 Architecture Home
ITFLY8 Architecture Home - focused on architecture knowledge sharing and exchange, covering project management and product design. Includes large-scale distributed website architecture (high performance, high availability, caching, message queues...), design patterns, architecture patterns, big data, project management (SCRUM, PMP, Prince2), product design, and more.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
