Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

เมื่อ ElastiCache ไม่ตอบโจทย์แล้ว: ระบุสัญญาณเตือนด้านประสิทธิภาพ ความสามารถในการขยาย และต้นทุน

ElastiCache เป็น managed Redis service ยอดนิยมของ Amazon มันได้รับการ採用 (adoption) กว้างขวางตลอดทศวรรษที่ผ่านมา เมื่อธุรกิจตระหนักถึง potential (ศักยภาพ) ที่น่าทึ่งของสอง emerging technologies: AWS (Amazon Web Service) สำหรับ cloud computing และ Redis เป็น in-memory data store ทั้ง AWS และ Redis ได้ transform (เปลี่ยนแปลง) วิธีที่เราใช้เทคโนโลยี ทำให้ faster, more scalable, และ more resilient digital experiences กลายเป็น norm (มาตรฐาน)

Organizations ที่ย้ายไป cloud พร้อมกันกับการหา ways เร่งแอปพลิเคชันของพวกเขา โดยธรรมชาติหันไปใช้ AWS ElastiCache service เมื่อพวกเขาเติบโตเกิน open source Redis และมองหา managed service ElastiCache ยังคงเป็น solid choice (ตัวเลือกที่มั่นคง) สำหรับ smaller startups ที่สร้างจากศูนย์บน AWS และมองหา benefits ของ Redis โดยไม่มี expense (ค่าใช้จ่าย) หรือ hassle (ความยุ่งยาก) ของการจัดการมันเอง

แต่ successful businesses เติบโต และทศวรรษที่ผ่านมาเผยให้เห็นว่าเมื่อ businesses scale พวกเขาในที่สุดจะ outgrow (เติบโตเกิน) ElastiCache's abilities AWS ElastiCache เป็น managed service ที่สร้างบน open source Redis และขาด enterprise-grade functionality หลายอย่างที่จำเป็นสำหรับ businesses ที่ดำเนินการในระยะ scale

ลองดูว่าคุณรู้ได้อย่างไรว่าคุณอาจจะ outgrow ElastiCache แล้ว นี่คือ key signs (สัญญาณหลัก) หลายอย่าง:

  1. Cache ของคุณจำกัดอยู่ใน AWS แต่ applications และ technology stack ของคุณ deployed on-premises และใน multiple clouds
    a) Hybrid และ multicloud เป็น new norms (มาตรฐานใหม่) โดยเฉพาะ larger businesses จริงๆ แล้ว 92% ของ enterprises มี multicloud และ 80% มี hybrid cloud strategy นี่เป็นเพราะ enterprises เผชิญ regulatory requirements และมี large complex technology stacks Enterprises ยัง reluctant (ลังเล) ที่จะ accept business และ technology risk ของ locking into (ถูกล็อกใน) single cloud provider Cache ของคุณควร flexible พอที่จะ deploy ตาม business needs โดยไม่จำกัดคุณใน single cloud

  2. คุณ implement AWS ElastiCache สำหรับ sub-millisecond speed แต่ตอนนี้ applications ของคุณ lag (ช้า) เมื่อคุณ scale globally
    a) เมื่อ businesses scale พวกเขาต้อง cache data ใน multiple regions เพื่อ support new business units หรือ customers ทั่วโลก ElastiCache ไม่มีความสามารถ read และ write data simultaneously (พร้อมกัน) ไปยัง multiple Redis instances – หมายความว่าคุณไม่สามารถเก็บ active cache instance ใกล้ users ทั้งหมดได้ ซึ่งนำไปสู่ latency (เวลาล่าช้า) ขณะ data travels นี่เป็น huge problem (ปัญหาใหญ่) สำหรับ businesses ที่ scaling geographically และ enterprises ที่มี large global userbases

  3. เมื่อข้อมูลของคุณเติบโต ElastiCache cost เพิ่มขึ้นอย่างรวดเร็ว (skyrocketed)
    a) การเก็บข้อมูลในหน่วยความจำ (in-memory) เร็วมาก แต่ก็ expensive (แพง) มากเช่นกัน สิ่งที่เริ่มต้นเป็น acceptable cost สำหรับ smaller company อาจกลายเป็น astronomical (สวรรค์สูง/แพงมาก) รวดเร็วเมื่อ company scale และ data เติบโตแบบ exponential ElastiCache ไม่ offer multi-tenancy หมายความว่าคุณไม่ utilize ทั้งหมดของ caching infrastructure ของคุณ นอกจากนี้ data tiering ใน ElastiCache ไม่ provide resilience หรือ performance ที่ enterprises ที่ cache large และ crucial data sets ต้องการ

Deployment Flexibility (ความยืดหยุ่นในการปรับใช้)

Amazon ElastiCache Redis Enterprise
เมื่อ ElastiCache ไม่ตอบโจทย์แล้ว: ระบุสัญญาณเตือนด้านประสิทธิภาพ ความสามารถในการขยาย และต้นทุน เมื่อ ElastiCache ไม่ตอบโจทย์แล้ว: ระบุสัญญาณเตือนด้านประสิทธิภาพ ความสามารถในการขยาย และต้นทุน

พร้อมใช้งานเป็น fully managed cache ใน AWS เท่านั้น
พร้อมใช้งานเป็น fully managed database และ cache ใน AWS, Azure, และ Google Cloud

รองรับ modern technology stacks ด้วยความสามารถ deploy cache ที่นำ real-time performance ไปยัง on-prem, hybrid, และ multicloud applications

Global Scale และ High Availability

ElastiCache Redis Enterprise
Active-Passive Active-Active Geo Distribution
ElastiCache ให้ความสามารถ unidirectionally replicate (จำลองข้อมูลแบบหนึ่งทาง) data จาก source cache cluster ไป destination clusters ใน regions อื่นๆ (ใน AWS เท่านั้น) ด้วย active-passive (replica-of) replication นอกจากการให้ Active-Passive replication แล้ว Redis Enterprise customers ยังสามารถ setup highly resilient และ scalable distributed caches ด้วย bidirectional replication (จำลองข้อมูลแบบสองทาง) ใช้ Active-Active Geo Distribution Active-Active เปิดโอกาสให้ Redis Enterprise customers deploy unified cache ข้าม regions, clouds, หรือ on-prem infrastructure
เมื่อ ElastiCache ไม่ตอบโจทย์แล้ว: ระบุสัญญาณเตือนด้านประสิทธิภาพ ความสามารถในการขยาย และต้นทุน เมื่อ ElastiCache ไม่ตอบโจทย์แล้ว: ระบุสัญญาณเตือนด้านประสิทธิภาพ ความสามารถในการขยาย และต้นทุน
ข้อจำกัดของแนวทางนี้คือ มัน scale แค่ read volume ในขณะที่ writes ยังต้องทำไปที่ primary cluster นี่หมายความว่า write latency สามารถสะสมได้เมื่อ writes travel ไป source cluster มันยังหมายความว่า write-heavy applications จะ struggle (ต่อสู้/ยาก) ในการ scale

ElastiCache's approach ยังไม่ provide added resilience (ความทนทานเพิ่มเติม) ของการจำลองข้อมูลข้าม multiple clouds และ on-premises ElastiCache's approach to replication ให้ SLA สำหรับ 99.9% availability
Active-Active ให้ local latency ไม่ว่าจะมี geo-replicated regions กี่แห่ง (หรือระยะทางไกลแค่ไหน) พร้อม seamless conflict resolution (การแก้ไขข้อขัดแย้งแบบราบรื่น) ที่เปิดใช้ reads และ writes ไปยัง multiple cache nodes simultaneously (พร้อมกัน)

Redis Enterprises' Active-Active Geo Distribution นำเสนอ industry-leading SLA สำหรับ 99.999% availability หลีกเลี่ยง downtime มากกว่า 40 นาทีต่อเดือนเหนือกว่า ElastiCache

Cost-Effectiveness (คุ้มค่าด้านต้นทุน)

ElastiCache Redis Enterprise
Data Tiering Redis on Flash
ElastiCache เพิ่ง introduce service ให้ tiered storage เก็บ frequently accessed data ใน RAM ขณะย้าย less-frequently accessed data ไป SSD

Data tiering ทั่วไปจำเป็นสำหรับ large และ expensive datasets datasets เหล่านี้ critical (สำคัญ) ต่อ business และต้องการ data persistence ซึ่ง ElastiCache's data tiering ไม่ support
ElastiCache's data tiering ไม่ support all use-cases รองรับแค่ eviction policies สำหรับ volatile-least recently used, all keys-least recently used, และ no eviction max memory policies
Redis Enterprise ให้ mature tiering product ที่ทนทานต่อการทดสอบใน production environments ที่ demanding ที่สุดมานานกว่า 5 ปี Redis on Flash เป็น original Redis service สำหรับ data tiering ที่รักษา application performance ในขณะที่ย้าย less-frequently accessed data ไป less expensive SSD

Redis on Flash ให้ cost savings ของ data tiering พร้อมปกป้อง customer data ด้วย built-in data persistence มันยังให้ faster replication times โดย split datasets เป็น multiple small shards และรันพวกเขาแบบ parallel ช่วยลด risk ของ data loss ในอีกมือหนึ่ง ElastiCache เก็บ data ใน single large shard

Redis on Flash ยัง enable additional use-cases รองรับ eviction policies มากกว่า
เมื่อ ElastiCache ไม่ตอบโจทย์แล้ว: ระบุสัญญาณเตือนด้านประสิทธิภาพ ความสามารถในการขยาย และต้นทุน
ElastiCache เป็น purely single-tenant system มันปฏิบัติตาม method ที่ Redis ถูก deploy เป็น container หรือ virtual appliance และอนุญาตให้ underlying management solution spawn new Redis instance Multi-tenancy บรรลุที่ server/infrastructure layer โซลูชันเหล่านี้ priced per Redis instance ผลของ scale และ scope economies ให้ประโยชน์ service providers มากกว่าคุณ เรียนรู้เพิ่มเติม

เมื่อ ElastiCache ไม่ตอบโจทย์แล้ว: ระบุสัญญาณเตือนด้านประสิทธิภาพ ความสามารถในการขยาย และต้นทุน
Redis Enterprise Cloud ให้ multi-tenancy ที่ single subscription ของ Redis Enterprise Cloud ให้บริการ hundreds of tenants แต่ละ tenant มี Redis database endpoint ของตัวเอง ซึ่ง isolated completely จาก Redis databases อื่นๆ คุณสามารถ host multiple dedicated databases ใน single plan ได้ แต่ละอันรันใน dedicated process และ non-blocking manner เมื่อคุณ deploy Redis Enterprise ใน data center, private cloud, หรือ virtual private cloud ของคุณ คุณได้ประโยชน์จาก scope economies ของ multi-tenant architecture เรียนรู้เพิ่มเติม

Additional Cost Savings (การประหยัดต้นทุนเพิ่มเติม)

Redis อยู่ที่หัวใจของ business ของเรา – มันคือเราคือใคร และมันคือสิ่งที่เราทำ ดังนั้นไม่แปลกใจที่เราอยู่ far ahead (นำหน้ามาก) ของ Redis services อื่นๆ ในการให้ innovative ways เพื่อเก็บต้นทุนต่ำขณะรักษา performance และ resilience หนึ่งในวิธีคือ quorum concept (แนวคิดควอรัม) Most NoSQL databases ใช้ three replicas เพื่อ ensure high availability ตัวแรกใช้ store data ตัวที่สองเป็น failover และตัวที่สามเป็น tiebreaker เพื่อ decide 哪个ถูกต้อง ถ้า primary และ replica มี inconsistent data แต่ DRAM แพง และ maintain three replicas ของ dataset แพงมาก Redis Enterprise สามารถให้ highly available system ด้วยเพียง two replicas ที่ tiebreaker ของคุณถูกกำหนดที่ node level โดยใช้ uneven number (จำนวนคี่) ของ cache nodes ใน cluster ช่วยประหยัดเกือบ 33% out of the box เรียนรู้เพิ่มเติม

Want to Learn More? (อยากเรียนรู้เพิ่มเติม?)

ดู Redis Enterprise vs. ElastiCache Datasheet พร้อม full feature-by-feature technical comparison และดูว่าถึงเวลา upgrade ไป Redis Enterprise หรือยัง