390 likes | 501 Views
Intro to Cloud Computing. Who am I?. Sergejus Barinovas Software Architect at Adform Email : sergejus.barinovas @[ adform|gmail ].com Blog : http://sergejus.blogas.lt Twitter : @ sergejusb. Disclaimer.
E N D
Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: http://sergejus.blogas.lt Twitter: @sergejusb
Disclaimer We do use Cloud Computing internally and we want to share our experience with you!
“The global cloud computing market to reach $241B in 2020 compared to $40.7Bin 2010” Forrester Research
Gartner top 10 strategic technologies for 2012: Media Tablets and Beyond, Mobile-Centric Applications and Interfaces, Contextual and Social User Experience, Internet of Things, App Stores and Marketplaces, Next-Generation Analytics, Big Data, In-Memory Computing, Extreme Low-Energy Servers, Cloud Computing
“Cloud computing is the provision of dynamically scalable and often virtualized resources as a service over the Internet on a utility basis”
Cloud is scalable, elastic (dynamic resources), available as-a-service, based on utility billing (pay for what you use)
So, basically Cloud is … … elastic scalable compute resources on demand
But more important … … Cloud is not a technology, it is a way of THINKING
Cloud as a way of thinking Existing technologies adopted in a new way ex. virtualization Utility model is welcomed by everyone startups and enterprises DevOps are everywhere developers spin 100’s of servers in minutes IT operations write automation scripts
Cloud types Public publicly available Private built for / available inside enterprise only Hybrid on-premise with extension to public Cloud
Cloud offerings Infrastructure-as-a-Service or IaaS host applications Platform-as-a-Service or PaaS build applications Software-as-a-Service or SaaS consume applications
Infrastructure-as-a-Service Virtual machines and infrastructure on demand OS, CPU / RAM, storage, load balancer, VPN Web portal for controlling and managing servers Remote desktop / shell
IaaS players Amazon Microsoft RackSpace Google Terremark others
Platform-as-a-Service Working not with the virtual machines per se, but with the abstraction Rich set of APIs and client libraries / frameworks Automatic high-availability and load balancing Hardware and / or OS agnostic
PaaS players Microsoft Google Amazon SalesForce others
Software-as-a-Service Available for more than 10 years Hotmail, Yahoo! Mail Usually implemented as a Web application with optional on-premises extensions You don’t need to use Cloud to run SaaS
Sounds cool? In real-world this not always a case…
Infrastructure-as-a-Service No or limited options to choose hardware from HDD speed, network throughput Variant performance due to resource sharing Limited options to configure TCP ports Limited options for load balancing
Platform-as-a-Service No or limited options to choose hardware from HDD speed, network throughput No or very limited access to the OS internals Very restrictive firewalls / load balancers Dynamic IP addresses
Want to migrate to the Cloud? First change you DC oriented mindset…
Changes in mindset #1 Before: we have enough hardware resources powerful servers, fast hard drives, 10 Gb network After: only mid-range hardware is available no topnotch servers, little chance to get SSD
Changes in mindset #2 Before: number of servers is more or less fixed failures are very unlike, all maintenance and new hardware is planned in advance After: number of servers is dynamic (unknown) failures are OK, no hardware maintenance implies scale-out resilient architecture
Changes in mindset #3 Before: We have reliable network connection connection time-out is a BUG, not a FEATURE After: Network connection can always FAIL every operation should have retries
So, is Cloud cheaper? NO, unless you’ve applied one of the Cloud usage patterns
On and off Inactivity Period Compute Usage Average Time On and off workloads (e.g. batch job) Over provisioned capacity is wasted
Growing fast Compute Average Usage Time Successful services needs to grow/scale Keeping up with growth is big IT challenge
Unpredictable bursting Compute Average Usage Time Unexpected/unplanned peak in demand Sudden spike impacts performance
Predictable bursting Compute Average Usage Time Peaks due to periodic increased demand IT complexity and wasted capacity
Cloud @ Adform Amazon EC2 used for test campaigns, stress testing and research Amazon S3 storage used for raw data 300+ GB of uncompressed raw transactions daily
Cloud @ Adform Amazon S3 storage used for RTB logs 1+ TB of uncompressed logs daily Amazon Elastic MapReduce used by RTB Research team 2+ TB of data on 30+ EC2 instances daily
Cloud Computing is elastic scalable compute resources on demand offered as public or private IaaS, PaaS or SaaS requires to change mindset and adapt patterns available from Amazon, Microsoft, Google, etc.
Don’t forget: Cloud is not for everyone, but it makes impossible possible!