This document discusses building cloud applications faster using Platform as a Service (PaaS). It defines characteristics of cloud-optimized applications like multi-tenancy and elastic resource consumption. RESTful APIs are identified as the language of the cloud for loosely coupling services. Benefits of using PaaS over Infrastructure as a Service (IaaS) are lower development and deployment costs as well as application portability. The document provides examples of PaaS and SaaS services and recommends focusing on unique functionality rather than rebuilding existing services. It outlines considerations for evaluating PaaS options like supported services, deployment preferences, and application strategy fit.
Software as a Service (SaaS), on demand software, is a software delivery model in which software and its associated data are hosted centrally and accessed using a thin-client, usually a web browser over the internet.
Slides from AIS and Microsoft's half-day session on the recently-announced Windows Azure Infrastructure as a Service (IaaS) offering. After a brief overview of the Azure Platform as a Service (PaaS) model, we will focus on key IaaS concepts. Additionally, we will walk you through a number of scenarios enabled by Azure IaaS and several demonstrations.
Agenda:
Overview of Windows Azure Platform
Azure IaaS
Why IaaS?
IaaS Core Concepts
Supported Applications
Azure Virtual Machines
Disk Mobility
VM export / Import
Availability
Azure Virtual Network
Software as a Service (SaaS), on demand software, is a software delivery model in which software and its associated data are hosted centrally and accessed using a thin-client, usually a web browser over the internet.
Slides from AIS and Microsoft's half-day session on the recently-announced Windows Azure Infrastructure as a Service (IaaS) offering. After a brief overview of the Azure Platform as a Service (PaaS) model, we will focus on key IaaS concepts. Additionally, we will walk you through a number of scenarios enabled by Azure IaaS and several demonstrations.
Agenda:
Overview of Windows Azure Platform
Azure IaaS
Why IaaS?
IaaS Core Concepts
Supported Applications
Azure Virtual Machines
Disk Mobility
VM export / Import
Availability
Azure Virtual Network
Techdays Berlin - Deliver Your Cloud Like A HosterDamian Flynn
Taking SCVMM 2012 R2 to the next level, Understanding the architecture which powers the Windowss Azure Pack, Including Web Sites, Service Bus, Databases and of Course IaaS
Cloud elements Building Cloud Applications FasterCloud Elements
Building cloud SaaS applications faster and at 1/3 the cost! Spend more time developing your unique SaaS functionality & less time integrating common services.
There is a lot of talk now around the term Service Mesh. The hype is high and the promise is real. The problem is that there is not really a good definition of what service mesh really is. In this talk we are going to review the problem service meshes are trying to solve, name the core components that make up a service mesh, and discuss the benefits an organization can receive by implementing this new technology.
Integration architecture for the hybrid and multi-cloud enterprise
It is a given that most enterprises are now spread between on-premise and cloud resulting in a need to perform integration across this hybrid architecture. Furthermore, most customers are seeing, or at least predicting a multi-cloud architecture. Multiple clouds from multiple vendors, providing a variety of different platforms, which brings a whole new set of integration challenges.
We will look at how integration architecture has evolved from service oriented architecture to take advantage of cloud native technologies and microservices principles. We will also discuss how integration is affected by multi-cloud issues, what the typical resolutions are. Also available as webinar: http://ibm.biz/MultiCloudIntegrationArchitectureWebinar
Open Architecture for Developing Multitenant Software-as-a-Service ApplicationsJavier Mijail Espadas Pech
As cloud computing infrastructures are growing, in terms of usage, its requirements about software design, management and deployment are increasing as well. Software-as-a-Service (SaaS) platforms play a key role within this cloud environment. SaaS, as a part of the cloud offer, allows to the software providers to deploy and manage their own applications in the clouds in a subscription basis. The problem with the current SaaS offers is the lack of openness of in their platforms and the need for learning a whole new paradigm when trying to initiate in the SaaS market. Big players, such as: Amazon, Google or Microsoft, offer their proprietary SaaS solutions. Another consideration is the amount of current Web applications that need to be re-engineered into this cloud paradigm. This research work aims to reduce the effort required to enter into the SaaS market by presenting an architecture based on open source components for developing, deploying and managing SaaS applications.
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012Kai Wähner
Shows the elegance of Apache Camel to integrate different cloud providers such as Amazon Web Services (IaaS), Google App Engine (PaaS), or Salesforce (SaaS).
Types of Cloud services: Software as a Service, Platform as a Service – Infrastructure as a Service, Database as a Service, Monitoring as a Service, Communication as services. Service providers- Google App Engine, Amazon EC2, Microsoft Azure, Sales force
Techdays Berlin - Deliver Your Cloud Like A HosterDamian Flynn
Taking SCVMM 2012 R2 to the next level, Understanding the architecture which powers the Windowss Azure Pack, Including Web Sites, Service Bus, Databases and of Course IaaS
Cloud elements Building Cloud Applications FasterCloud Elements
Building cloud SaaS applications faster and at 1/3 the cost! Spend more time developing your unique SaaS functionality & less time integrating common services.
There is a lot of talk now around the term Service Mesh. The hype is high and the promise is real. The problem is that there is not really a good definition of what service mesh really is. In this talk we are going to review the problem service meshes are trying to solve, name the core components that make up a service mesh, and discuss the benefits an organization can receive by implementing this new technology.
Integration architecture for the hybrid and multi-cloud enterprise
It is a given that most enterprises are now spread between on-premise and cloud resulting in a need to perform integration across this hybrid architecture. Furthermore, most customers are seeing, or at least predicting a multi-cloud architecture. Multiple clouds from multiple vendors, providing a variety of different platforms, which brings a whole new set of integration challenges.
We will look at how integration architecture has evolved from service oriented architecture to take advantage of cloud native technologies and microservices principles. We will also discuss how integration is affected by multi-cloud issues, what the typical resolutions are. Also available as webinar: http://ibm.biz/MultiCloudIntegrationArchitectureWebinar
Open Architecture for Developing Multitenant Software-as-a-Service ApplicationsJavier Mijail Espadas Pech
As cloud computing infrastructures are growing, in terms of usage, its requirements about software design, management and deployment are increasing as well. Software-as-a-Service (SaaS) platforms play a key role within this cloud environment. SaaS, as a part of the cloud offer, allows to the software providers to deploy and manage their own applications in the clouds in a subscription basis. The problem with the current SaaS offers is the lack of openness of in their platforms and the need for learning a whole new paradigm when trying to initiate in the SaaS market. Big players, such as: Amazon, Google or Microsoft, offer their proprietary SaaS solutions. Another consideration is the amount of current Web applications that need to be re-engineered into this cloud paradigm. This research work aims to reduce the effort required to enter into the SaaS market by presenting an architecture based on open source components for developing, deploying and managing SaaS applications.
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012Kai Wähner
Shows the elegance of Apache Camel to integrate different cloud providers such as Amazon Web Services (IaaS), Google App Engine (PaaS), or Salesforce (SaaS).
Types of Cloud services: Software as a Service, Platform as a Service – Infrastructure as a Service, Database as a Service, Monitoring as a Service, Communication as services. Service providers- Google App Engine, Amazon EC2, Microsoft Azure, Sales force
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...Srini Karlekar
In this presentation, I walk-through the process of building, deploying & orchestrating Microservices across cloud providers. Specifically, I demonstrate building an intelligent Slackbot using AWS StepFunctions, AWS Rekognition and Google Vision that will recognize celebrities, landmarks and extract text from images using 100% Serverless architecture. Code is at: http://bit.ly/chehara
Comparison of Several PaaS Cloud Computing Platformsijsrd.com
Today, the question is less about whether or not to use Platform as a Services (PaaS), but rather which providers to use. PaaS is a computing platform that abstracts the infrastructure, OS, and middleware to drive developer productivity. PaaS offerings are "polyglot" and "polyhost". Selection of Platform as a Service provider is an important process because an ideal vendor will be able to continue to partner with company as company grows. There are many components to be consider while selecting PaaS vendor like Scalability, Availability, Manageability, Performance, Security, Accessibility, Billing At a high-level a PaaS helps organizations, specifically by providing a fast and scalable way to host applications in the cloud.
Comprehensive Information on Platform as a ServiceHTS Hosting
Platform as a service (PaaS) is a type of cloud service model. In PaaS a platform is delivered by a service provider to its clients for the purpose of developing, running and managing applications without having to build and maintain the necessary infrastructure.
By now, enterprises understand the value of Software as a Service (SaaS) and Infrastructure as a Service (IaaS), but there still is much confusion about Platform as a Service (PaaS). This confusion is one reason why enterprises have been slow to adopt PaaS. Why is there so much confusion? This presentation will help clear up the confusion of all the different types of PaaS offerings in the marketplace.
Though service-oriented architecture advocates "everything as a service" (with the acronyms EaaS or XaaS,[62] or simply aas), cloud-computing providers offer their "services" according to different models, of which the three standard models per NIST are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).[61] These models offer increasing abstraction; they are thus often portrayed as a layers in a stack: infrastructure-, platform- and software-as-a-service, but these need not be related.
Co-Presenter: Linda Nichols
Description:
The current state of cloud design and what it takes for an organization to become cloud native. A look ahead at technologies changing the way cloud software is delivered.
Comprehensive Information on Software as a ServiceHTS Hosting
Software as a service (SaaS) is a delivery model of cloud computing that is used by many business applications. It entails licensing software, which is centrally hosted, on a subscription basis.
Building Serverless Microservices Using Serverless Framework on the CloudSrini Karlekar
Presentation that provides an overview of Serverless computing model, differentiates between Serverless Architectures, FaaS, PaaS and the Serverless Framework. It drills down the idea by helping you build a compelling example of 'Shazam for Celebrities' using the Serverless Framework, AWS Lambda, AWS Rekognition, Twilio and IMDb. It uses the user's mobile SMS/MMS for the presentation tier, Twilio in the middle-tier to bridge the SMS world and AWS Gateway and a set of AWS Lambda functions written in Python making use of AWS Rekognition for image processing. The code is at http://bit.ly/FaCeS-Sls
Oracle Cloud Platform Update, showing Cloud in Action from an Oracle IAAS, PAAS Perspective, including Mobile and Application Development Perspectives.
For Video Snippets
https://www.youtube.com/watch?v=qBZX7v5X2aM&list=PL4kFVH3YjCInfgFAlT9gvPKatpC4Xjm5D
For Event Details
https://solutionsanz.blog/2017/02/28/speed-2-value-cloud-in-action-workshop/
Similar to Building Cloud Apps Faster with PaaS (20)
Product owners and app developers are frequently tasked with designing API integrations between their apps with the cloud services used by their customers, partners or employees. Follow this 10-step guide, reflecting a common pattern for interactive integrations between your app and other cloud services
Learn why (and how) leading SaaS providers are turning their products into platforms with the power of API integration. Innovative companies, such as PactSafe, Slack and Intercom, are making integration easier and accessible by shifting the burden of integration off of their customers.
The State of API Integration Report 2017 helps to address the proliferation challenge by providing trends, insights on ease of integration, data on where the industry is strong, and where it is going next. The data presented here comes from the Cloud Elements platform of API integrations with research provided by ProgrammableWeb and Datanyze, as well as industry experts. It will help all developers navigate the recent explosion of APIs and the implications of API integrations to work more efficiently in 2017 and beyond.
Cloud Elements | State of API Integration Report 2018Cloud Elements
The State of API Integration 2018 Report contains a full breakdown on the current state of the API industry, a look at what’s trending and why, and a look ahead to where we believe API integration is headed. This year’s report builds on observations from 2017, with the help of over 400 API enthusiasts who took the State of API Integration Survey at the end of last year.
Building Event Driven API Services Using WebhooksCloud Elements
Presented at 'All Things API' in Denver, CO by Travis McChesney, Director of Engineering at Cloud Elements.
How do you build and use user defined callback URLs (known as Webhooks) to notify your users of events that occurred on your system? Or use those URLs to get remote notification from API connected systems you use?
Using Webhooks is becoming more common as APIs become essential to all programming models. We will cover four common usage models: API capture, TCP Tunneling, Dynamic DNS and Remote Development.
Mark Geene, CEO/Co-founder of Cloud Elements, presented "Lean Product Development" at Fort Collins Startup Week 2014. Check out the presentation for information on how to build a Lean startup. Based on principles from 'Lean Startup' by Eric Ries, 'Running Lean' by Ash Maurya and '500 Startups' by Dave McClure.
'Scalable Logging and Analytics with LogStash'Cloud Elements
Rich Viet, Principal Engineer at Cloud Elements presents 'Scalable Logging and Analytics with LogStash' at All Things API meetup in Denver, CO.
Learn more about scalable logging and analytics using LogStash. This will be an overview of logstash components, including getting started, indexing, storing and getting information from logs.
Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching).
The Entrepreneurial Methodology: How engineers can harness the madness in a n...Cloud Elements
All Things API meetup @ Galvanize, Denver CO
The Entrepreneurial Methodology:
How engineers can harness the madness in a non-technical start-up
Speaker: Brandon Vogt: VP Enterprise Architecture, Inspirato
• How to be proud of your code today, and into the future
• Getting 80% of the core technology right with 20% of the requirements
• Luck vs. strategy
• Iterative development and constant communication
• Pride – It commeth before a fall; It’s not personal – it’s business
• Requirements – Change daily; thoughts while shaving; Founder’s prerogative
• People – Experienced in the Business Concept or Industry; learn from previous failures or successes
• Quick Turns – Fail Fast
• Communication – Daily, Hourly – Sit close together; know each other
• Priorities – Strategic, Weekly, Daily
• User design first vs. A perfect database design
• MINDCRAFT and CODERCRAFT - how do you get a team of master carpenter’s to build an outhouse
• We live in a distributed world with niche software options; “The Daddy of Them All” and “This isn’t your daddy’s rodeo”.
The Cloud Elements Documents Hub is the first API that unifies Document Management across the industry’s leading cloud document and file storage services.
When provisioned via Cloud Elements, Box, Dropbox, Google Drive, Microsoft SharePoint and SkyDrive automatically plug in with our enterprise-class monitoring and logging console - providing real-time visibility into the performance and availability of these services.
Cloud Elements’ “one-to-many” approach allows you write to one API and connect to all the leading services in the Documents Hub. A uniform API provides the ability to search, store, retrieve and manage documents and files across leading services.
Our Elements support your multi-tenant application. One Element manages connections with an unlimited number of “instances” of each service. So you can have thousands of Google Drive or Box accounts connecting with your application.
Data normalization across API interactionsCloud Elements
With Vineet Joshi, CTO and Co-founder of Cloud Elements
Vineet discusses the normalization of data and similar domain models so it can uniformly act with end points that consume data of the same types.
Doing this declaratively instead of programmatically, the benefit is that once you have declared the transformation configuration of a given type of data, interaction between different endpoints is possible for the same type of data in endpoint specific formats.
Filtering From the Firehose: Real Time Social Media StreamingCloud Elements
All Things Cloud Developer Meetup.
Filtering From the Firehose: Real Time Social Media Streaming with Jim Moffitt from Gnip. Gnip is the world's largest and most trusted provider of social data.
Learn about collecting and filtering social media data with streaming APIs. Jim will cover best practices, use case examples and live demos of filtering data from Twitter.
Lean Product Development for Startups- Denver Startup Week Cloud Elements
Mark Geene, CEO/Co-founder of Cloud Elements presented "Lean Product Development for Startups" at Denver Startup Week 2013. Check out the presentation for information on how to build a Lean startup. Based on principles from 'Lean Startup' by Eric Ries, 'Running Lean' by Ash Maurya and '500 Startups' by Dave McClure.
All Things Cloud Meetup with John Henning, Technical Evangelist at Salesforce.com
"AppExchange for Developers: Monetizing Enterprise Apps on the Salesforce.com Platform"
Learn about the huge opportunity for creating a software business building and selling business apps using the Salesforce.com platform as a service. Includes Force.com technology, platform for business apps and the ISV program.
Cloud Elements CEO, Mark Geene's presentation for Startup Founder 101 event. July 9, 2013 at Galvanize Denver, CO. Lean product management principles, Startup Metrics for Pirates, Agile MVP planning and using Pivotal Tracker.
Money & Bitcoin & the Cloud: It's all just data streams, anyway!Cloud Elements
Michael Schonfeld, developer evangelist at Dwolla. Money and the Cloud: It's all just data streams, anyway. Moving money should be just as easy as moving bytes. So why do we keep struggling with 40 year old COBOL-written financial systems? Could this be why Bitcoins have picked up all this momentum? Come take an inside look at how Dwolla is changing a long-stagnated banking industry that is governed by ancient misguided notions of profit.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
5. RESTful APIs are the language of the Cloud
Representational State Transfer (REST) APIs loosely
couple IaaS, PaaS and SaaS services
Participate in the “API Economy”
Use the same service calls internally as externally
Low friction access; well documented API calls
Build applications faster by connecting services
Cloud Elements Confidential 5
6. THE AMAZON MANDATE (PER JEFF BEZOS)
− All teams will henceforth expose their data and functionality
through (API) service interfaces.
− Teams must communicate with each other through these (API)
interfaces.
− There will be no other form of inter-process communication
allowed
− The only communication allowed is via service interface calls
over the network.
− All service interfaces, without exception, must be designed from
the ground up to be externalizable.
No exceptions. Anyone who doesn’t do this will be
fired. Thank you; have a nice day!
Cloud Elements Confidential 6
8. WHAT IS PLATFORM-AS-A-SERVICE (PaaS)?
A “cloud-aware” application
development and deployment
environment
An abstraction layer between your
cloud application and your
Infrastructure-as-a-Service (IaaS)
provider
Fundamentally provides elastic
scaling of your application
Deployments include public,
private and hybrid cloud
configurations
Cloud Elements Confidential 8
9. EXAMPLE: PaaS & IaaS SERVICES
With the right PaaS, you also gain the freedom to change cloud
infrastructure providers over-time and avoid infrastructure vendor
lock-in by making your application portable to any IaaS provider.
Cloud Elements Confidential 9
10. EXAMPLE: PaaS SERVICES
Services: Heroku, AppFog, CloudBees, Standing Cloud, Eucalyptus,
Force.com, Azure, Tier 3, Cloud Foundry, Apprenda …
Open Source: Cloud Foundry (VMware), OpenShift (RedHat) and
Eucalyptus
Amazon Web Services (AWS) offers many PaaS-like services
− No abstraction layer between these services and their IaaS platform
− 3rd party PaaS providers such as AppFog and Eucalyptus provide deployment
options to AWS
Note: OpenStack & CloudStack are primarily IaaS platforms; not PaaS
Cloud Elements Confidential 10
11. PRIMARY BENEFITS of PAAS
Lower Development Costs
(30%+)
Lower Deployment and
DevOps Costs (Nearly
Eliminate)
Application Portability
(depending on the PaaS)
Cloud Elements Confidential 11
12. THERE’S A “SERVICE” FOR THAT!
Find SaaS services you can leverage in building
your app
Glue them together through REST APIs
− Evaluate the API when evaluating vendors
Focus your resources on your unique functionality;
not on building services that already exist
Case Study: SaaS Distribution Application
− Customer Management: SugarCRM (salesforce.com)
− Billing: jBilling (Zuora)
− Payments: Authorize.net
− Email Messaging: SendGrid
− SMS Messaging: Twilio
− Customer Service: ZenDesk (GetSatisfaction)
− Custom: User Interface, Order Entry, Quoting
Cloud Elements Confidential 12
13. CLOUD APPLICATION ARCHITECTURE WITH PAAS
Consider the implications to portability on your application. Will it be more
difficult to migrate from the IaaS vendor if you utilize their other
application services versus 3rd party application services that work on
any cloud?
Cloud Elements Confidential 13
14. 5 EVALUATION CONSIDERATIONS
1. Does the PaaS support my preferred list of services?
− Application runtimes
− Development frameworks
− Database services
2. Does the PaaS support my deployment preferences?
− Public, Private and Hybrid
3. Is application portability important?
− Multi-cloud or single-cloud?
− Open source available?
4. What are the value-add services?
− Marketplaces
− Partner ecosystem
− SaaS-type services
5. Does it fit my application strategy?
− e.g., developing on services such as Azure (Microsoft) and Force.com
(salesforce.com) can drive strategic relationships these vendors
− e.g., you want to deploy your application to private clouds and open
source provides that alternative
Cloud Elements Confidential 14
15. CLOSING THOUGHTS
Don’t just virtualize; optimize
Develop on a PaaS Platform not an IaaS
Platform
Architect before you build ... not after
“Integrate First” ... Build Second
Service based design; Same APIs
internally as externally
Cloud Elements Confidential 15
There is a big difference between moving a legacy app and virtualizing it… that is not a true cloud application, it Is not optimized for the cloud.Critical characteristic that companies missed is being able to monitor and scale the application. <take a piece from Steve’s preso – ability to manage>. Just building it on Amazon or Rackspace doesn’t mean that it is monitored and scalable (can through hardware at it on Amazon). Gartner, Forrester are the two main sources for this.
The whole point is to connect together the services from the various layers and loosely couple them. Well designed application use APIs for both internal and external.Key goals of REST include:Scalability of component interactionsGenerality of interfacesIndependent deployment of componentsIntermediary components to reduce latency, enforce security and encapsulate legacy systems
Platform as a Service is the most misunderstood layer in the cloud – everyone knows the IaaS and SaaS layers – PaaS is the emerging layer of the cloud. Why is it important? Because if you are building it on Cloud-Foundry – based on the Java Spring Framework. RedHat with openShift build on Jboss framework. All originally built for traditional Frame and service – takes those environments and makes them scalable.Mail Services, Messaging Services…. Application run time, database run time, messaging and queuing capabilities.
Use the IaaS for what it is meant to be. Networking, computer, and storage. Eg. ViaWest.Figure 1 – The PaaS Tier of Our Cloud Application Architecture ModelThe services provided by Cloud Foundry define the PaaS tier of our model:Application runtime services including Java on Spring, Ruby on Rails and node.jsApplication management services including application health monitoring and alerting, application resource management and application scaling and deployment management.Data services including PostgreSQL, MySQL, MongoDB and Redis. By persisting application data within data services offered by the PaaS, you increase the portability of your application data vs. persisting data directly to the infrastructure level data service, e.g., Rackspace Cloudfiles or AWS relational Data Service (RDS).Messaging & Queuing services including RabbitMQ. Multiple cloud applications deployed within the same environment often need to communicate with each other. The mechanism for communication between applications should leverage the PaaS Messaging and Queuing services, which again eliminates dependencies on the infrastructure. For example, multiple applications should never use environment variables to communicate with each other, as extra effort is required to migrate such configuration from one IaaS provider to another. Use these services at the PaaS level instead of at the Infrastructure level and each of these services will be portable. Every Cloud Foundry Core instance includes the same release version of these services. If you stick with “Core” services your application will be certain to have portability among all Cloud Foundry Core compatible providers.igure 2 – The IaaS Tier Follows Our Selected PaaS Services Based on some prototyping and performance testing, we were able to convince one of our customers to leverage a PaaS for the data and storage services. This also served to validate our application architecture model. Within a year this client decided to migrate to a different public cloud infrastructure provider to lower their costs. This layered architecture saved this customer a substantial amount of money by maintaining the architectural separation between the PaaS and IaaS providers for the data and storage services. The only activity we had to perform with the client was to install Cloud Foundry and replicate the application data to the new IaaS provider. This allowed us to migrate the application, services, and data (using Cloud Foundry Tunneling) to the new cloud infrastructure provider in a matter of days, which otherwise could have taken months.
What you should expect from a PaaS provider.MongoDB, Hadoop, - noSQL databases – big data environments – great for analyitics.Structured data – using PosGress or mysql.Application Runtime – Java, Ruby, Node.js - .Net environments.Messaging and Queue.RabbitMQ, Application Management – inherent to the PaaS – some have integrating newrelicSteal something from CloudFoundry.org – put in an example.
Reduced Operations Cost – we generally find that 30% or greater of development time can be consumed in DevOps functions. A PaaS will nearly eliminate the DevOps function and reduce it to simple user administration and resource allocation functions. AppFog, a leading PaaS provider, has a greatinfographic on this topic and our experience validates their claim that almost all DevOps functions can be eliminated by developing and deploying cloud applications using a PaaS.Reduced Development Cost – An IaaS provides network, compute and storage scalability; but it doesn’t automatically provide application scalability. Application scalability is not only an operations issue but it is a development issue as well. A significant amount of development time is spent repeatedly building such functions as application health checks and reporting, but a PaaS provides these functions out of the box. A PaaS provides application runtimes, data and messaging services that are cloud aware. As adoption of the PaaS layer increases, the leading providers are investing time and energy, in providing tools to increase development productivity and the development productivity gains of using a PaaS will continue to increase.Application Portability- It is a bad idea to develop on-premise applications specific to a hardware vendor, so why would it be a good idea to write cloud applications specific to the hardware vendors of the cloud, i.e., IaaS providers? Your PaaS offers developers a set of services that are independent of the infrastructure, ensuring that the application and operational tools you integrate into your application are agnostic of any cloud infrastructure. By leveraging application development runtime environments, data and application management services within an open PaaS you can deploy to your application to any IaaS, without changing a line of code.More Deployment Alternatives – Open and portable PaaS offerings, like Cloud Foundry, can be deployed to public or private cloud configurations giving you the most flexible deployment alternatives. For instance, the Cloud Foundry ecosystem includes multiple public cloud providers including AppFog and Cloudfoundry.com. Additionally, the PaaS bundle is available from CloudFoundry.org for private cloud deployments to your data center, or public clouds such as Amazon Web Services, Rackspace and Hosting.com.More Development Services – We find that a PaaS such as Cloud Foundry has a wider range of run time and data services available than do most IaaS providers. Cloud Foundry for example supports Java, Ruby and Node.js application run-times, as well as PostgreSQL and MongoDB data services. Also, a vibrant ecosystem of partners have extended the available runtimes to include PHP, .Net, and added data services for MySQL, Microsoft SQLServer and Hadoop. Improving speed, flexibility, and agilityPaaS can provide greater speed, flexibility, and agility to the development process. By providing a predictable, heterogeneous application infrastructure, organizations don’t get bogged down with enabling applications and can quickly meet the needs of customers.PaaS helps to do the following:Enable faster time to market by allowing development teams to focus on the applicationEnhance ability to react to changes and opportunities because the organization doesn’t have large up-front costs associated with typical application development and deploymentSpread capital investments further, which allows a company to be more competitive
Social Networking App on AWS Demonstrates Service IntegrationWe recently designed a social networking application for a startup customer that required the following application layer services: Payments, SMS Messaging, Email and Facebook/Twitter Integration. The application was to be deployed using Cloud Foundry on Amazon EC2. For each of these services Amazon offered alternatives as did third party SaaS providers. We evaluated these application level services, regardless if they’re offered from the IaaS or PaaS provider, like we would services from any third party SaaS provider based on functionality, price, performance and integration capabilities. Consider the implications to portability on your application. Will it be more difficult to migrate from the IaaS vendor if you utilize their other application services versus 3rd party application services that work on any cloud? Consider portability implications across technical, business and contract considerations.