Concepts
- Understanding the Cloud Computing Stack: SaaS, PaaS, IaaS
- Top 9 rules for cloud applications (April 09, 2014)
- Don't code your application directly to a specific topology
- Don't assume the local file system is permanent
- Don't keep session state in your application
- Don't log to the file system
- Don't assume any specific infrastructure dependency
- Don't use infrastructure APIs from within your application
- Don't use obscure protocols
- Don't rely on OS-specific features
- Don't manually install your application
- The Twelve-Factor App
Codebase | One codebase tracked in revision control, many deploys |
Dependencies | Explicitly declare and isolate dependencies |
Config | Store config in the environment |
Backing services | Treat backing services as attached resources |
Build, release, run | Strictly separate build and run stages |
Processes | Execute the app as one or more stateless processes |
Port binding | Export services via port binding |
Concurrency | Scale out via the process model |
Disposability | Maximize robustness with fast startup and graceful shutdown |
Dev/prod parity | Keep development, staging, and production as similar as possible |
Logs | Treat logs as event streams |
Admin processes | Run admin/management tasks as one-off processes |
PaaS
a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.
Constitution
- Sample PaaS Offerings
- https://books.google.co.kr/books?id=yyiPyIXgbxMC&pg=PA55&redir_esc=y#v=onepage&q&f=false
- BPM
- Business framework
- Workflow mangement
- Site hosting
- Web analytics
- App/Web server
- Portal server
- Web services/SOA tools
- Mobile application delivery
- UI framework
- Content management
- Billing, payment and metering
- Telephone
- Development tool
- Testing tool
- Testing environment
- Deployment tool
- Application scripting
- NEW developer sandbox
- Code performance analytics
- Application versioning
- Team collaboration and developer community facilitation
- Message queue
- Security tool
- Security portal
- Data stores
- Database
- Data synchronization
- Database integration
- Frameworks
- DNS services
- Security/Identity management
- OS
- Application integration
- Application/middleware provisioning
- Sample PaaS Offerings 2
- https://support.rackspace.com/white-paper/understanding-the-cloud-computing-stack-saas-paas-iaas/
- Services to develop, test, deploy, host and maintain applications in the same integrated development environment. All the varying services needed to fulfil the application development process
- Web based user interface creation tools help to create, modify, test and deploy different UI scenarios
- Multi-tenant architecture where multiple concurrent users utilize the same development application
- Built in scalability of deployed software including load balancing and failover
- Integration with web services and databases via common standards
- Support for development team collaboration – some PaaS solutions include project planning and communication tools
- Tools to handle billing and subscription management
Solutions
Cloud Foundry
Buildpack
- Custom Buildpacks
- Using community buildpacks
- Creating a Custom Cloud Foundry Buildpack from Scratch: What’s Under the Hood (12 Dec 2014)
- Jenkins buildpack for Cloud Foundry
- Writing Build Packs for CloudFoundry (November 05, 2013)
- Java Buildpack
misc
- cloud foundry intra-application communication (Apr 3 '13)
- Communication between instances in Cloud Foundry (Aug 19 '15)
- Scala on Cloud Foundry
- Scala application on CF (Feb 3 2016)
- Deployment
Heroku
Buildpack
Bluemix
- Bluemix fundamentals: Deploy a sample Java application to the cloud (December 07, 2015)
- Bluemix fundamentals: Add an SQL database to your Java app (05 October 2015)
- Bluemix Spring Integration sample featuring MySQL service (February 13, 2015)
- Communicating between application instances directly via TCP in BlueMix
CLI
OpenShift Origin
References
- OpenShift Origin Documentation Site
- OpenShift Online Documentations
- OpenShift Online User Guide
- JBoss OpenShift Tools User's Guide
- Cartridge development
- Cartridges
- OpenShift Mock Cartridge
- OpenShift JBossAS Cartridge
- has a directory structure to accommodate multiple versions of JBossAS with respective templates for each version.
- OpenShift Cartridge for Jetty WebSocket
Readings
- Remote Access to Your Application
- Install and Setup PuTTY SSH Client for Windows
- Getting started with PaaS Eclipse integration
- Jetty on OpenShift - Lightweight Java Web Serving for the Cloud (Jun. 2012)
AWS
Products
Component | Category | Description | Remarks |
---|---|---|---|
Amazon ECS | Compute | a highly scalable, high performance container management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances. | ECS = EC2 Container Service |
AWS Elastic Beanstalk | Compute | an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS | - |
Amazon S3 | Storage | provides developers and IT teams with secure, durable, highly-scalable cloud storage | S3 = Simple Storage Service |
Amazon VPC | Networking | lets you provision a logically isolated section of the AWS cloud where you can launch AWS resources in a virtual network that you define | VPC = Virtual Private Cloud |
AWS CloudHSM | Security | control the encryption keys and cryptographic operations performed by the HSM(Hardware Security Module) | - |
AWS WAF | Security | a web application firewall that helps protect your web applications from common web exploits that could affect application availability, compromise security, or consume excessive resources | Web Application Firewall |
Amazon Inspector | Security | an automated security assessment service that helps improve the security and compliance of applications deployed on AWS | - |
AWS IAM | Security | enables you to securely control access to AWS services and resources for your users. | IAM = Identity and Access Management |
Amazon Cognito | Security | lets you have the options to authenticate users through social identity providers such as Facebook, Twitter, or Amazon, with SAML identity solutions, or by using your own identity system | - |
Amazon EMR | Analytics | providing a managed Hadoop framework that makes it easy, fast, and cost-effective for you to distribute and process vast amounts of your data across dynamically scalable Amazon EC2 instances | EMR = Elastic MapReduce |
Amazon Redshift | Analytics | a fast, fully managed, petabyte-scale data warehouse that makes it simple and cost-effective to analyze all your data using your existing business intelligence tools | - |
Amazon Kinesis | Analytics | offering powerful services to make it easy to load and analyze streaming data, and also providing the ability for you to build custom streaming data applications for specialized needs | - |
Amazon Machine Learning | Analytics | a service that makes it easy for developers of all skill levels to use machine learning technology | - |
Amazon QuickSight | Analytics | a very fast, cloud-powered business intelligence (BI) service that makes it easy for all employees to build visualizations, perform ad-hoc analysis, and quickly get business insights from their data | - |
AWS Config | Management Tools | a fully managed service that provides you with an AWS resource inventory, configuration history, and configuration change notifications to enable security and governance | - |
AWS CloudTrail | Management Tools | a web service that records AWS API calls for your account and delivers log files to you which enables security analysis, resource change tracking, and compliance auditing | - |
Amazon CloudWatch | Management Tools | monitoring service for AWS cloud resources and the applications you run on AWS | resources : Amazon EC2 instances, Amazon DynamoDB tables, and Amazon RDS DB instances |
AWS CloudFormation | Management Tools | - | |
AWS OpsWorks | Management Tool | a configuration management service that helps you configure and operate applications of all shapes and sizes using Chef | - |
AWS CodeCommit | Developer Tools | a fully-managed source control service that makes it easy for companies to host secure and highly scalable private Git repositories | - |
AWS CodePipeline | Developer Tools | a continuous delivery service to build, test, and deploy your code every time there is a code change, based on the release process models you define | - |
AWS CodeDeploy | Developer Tools | a service that automates code deployments to any instance, including Amazon EC2 instances and instances running on-premises | - |
Amazon Simple Email Service | Customer Engagement | a cloud-based email sending service designed to help digital marketers and application developers send marketing, notification, and transactional emails. |
Amazon SES(Simple Email Service)
- Amazon SES Developer Guide
- Getting Started Sending Email with Amazon SES
- Amazon SES Email-Sending Concepts
- Connecting to the Amazon SES SMTP Endpoint
- Send an Email by Accessing the Amazon SES SMTP Interface Programmatically
- Send an Email through Amazon SES Programmatically using an AWS SDK
- Amazon SES Notifications Through Email
- Amazon SES Notifications Through Amazon SNS
Misc
- How do I upload a file to a pre-signed URL in AWS using java? (Oct 11 '18)
- org.apache.http.impl.client.HttpClient, org.apache.http.client.methods.HttpPut, application/octet-stream
IBM Cloud
Soft Layer
- Readings
API
- SoftLayer API
- Account
- Account_Address
- Account_Contact
- Account_Note
- Account_Shipmemt
- Billing_Invoice
- Billing_Item
- Billing_Order
- Brand
- Configuration_Template
- Event_Log
- Hardware
- Location
- Monitoring_Agent
- Network
- Network_Backbone
- Network_Coponent
- Network_Gateway
- Network_Storage
- Network_Vlan
- Notification
- Product_Order
- Product_Package
- Product_Package_Server
- Scale_Asset
- Scale_Group
- Scale_Member
- Scale_Policy
- Software_Component
- Ticket
- User_Customer
- Virtual_Guest
- Virtual_Host
- Object Storage API
- Search API
- CDN API
- Message Queue API
- Queue
- Topic
- Account
Network Products
IBM Cloud Load Balancer Service
- IBM Cloud Load Balancer Service Documentation
- Advanced Traffic Management with IBM Cloud Load Balancer
IBM Local Load Balancer
Services
Authentication & Authorization
- GameSparks/NoSQL REST API/Authentication
- All REST API methods require the use of HTTP Basic Authentication to authenticate with the service