SlideShare a Scribd company logo
1 of 43
http://www.gomegam.com
Megam : Under the Hood
From IaaS to PaaS ? Are you ready ?
© 2014 Megam Systems
Why PaaS ?
What Are My Options ?
How You Can Build One.
Architecture/Know How of Megam
Our Working Prototype – Screencast #1
© 2014 Megam Systems
Why PaaS
Business needs agility with faster time to market
Cycle time to build apps can be shortened ?
Cloud Apps on Hybrid cloud
Apps on single cloud are fragile
Businesses need 24 x 7 uptime
Hybrid Scaling, DR of Cloud Apps is a pain
© 2014 Megam Systems
Enterprise IT Migration cycle
SaaS
PaaS
IaaS
Rehost
Refactor
Revise
Rebuild
Replace
© 2014 Megam Systems
The market will experience consistent growth with
worldwide PaaS revenue totaling 1.5 billion in 2013, and
growing to $2.9 billion in 2016
The SaaS-based cloud market will grow from $12.1B in
2013 to $21.3B in 2015, with the primary growth factors
being ease of customization and speed of deployment.
Gartner
© 2014 Megam Systems
What Are My Options ?
© 2014 Megam Systems
Megam
© 2014 Megam Systems
Megam - Features
➔
Write Once, Run on Any Cloud.
➔
Apps Marketplace – Easy to consume canned apps.
➔
Cloud in a box for Bare metal
➔
Log Analytics, Server/Application Monitoring
➔
For more info: visit http://www.gomegam.com
Target Market
Data centers, Enterprise, SMBs, DR vendors, SCM vendors, Developers, Training,
Software makers
© 2014 Megam Systems
Definition driven architecture
➔
describe dependencies to move to cloud.
© 2014 Megam Systems
What to describe ?
Describe the VM which stands up an App/DB (or) Scaling,
Loadbalancing, DR
© 2014 Megam Systems
For simplicity assume a
Ruby on Rails App
© 2014 Megam Systems
We need a Medium to describe
➔
WebApp, CLI, Mob
© 2014 Megam Systems
In the Medium We describe a
Cloud named sandbox_default
© 2014 Megam Systems
We created a cloud named
sandy_default
Let us use it
© 2014 Megam Systems
In the Medium we describe a
app by choosing a framework
© 2014 Megam Systems
To stand that app
in cloud : sandbox_default
© 2014 Megam Systems
You Can Watch
Logs real time/ off-line
© 2014 Megam Systems
Manage from a Dashboard
© 2014 Megam Systems
Enough of Talking
Show me the Use case
© 2014 Megam Systems
On board
www.megam.co
Start
Create App
Choose
Java App
Point Git
or WAR
Choose
Cloud
Launch App
Select
Logs
Watch
Real-time Log
Select
Monitor App
Monitor/
Watch App Metric
..API
Server
Herk
© 2014 Megam Systems
What more can I do ?
Contact Us : gomegam@megam.co.in
Phone: +613-834-4518
Guide: http://www.gomegam.com/docs
Open source Apache V2.
© 2014 Megam Systems
What happens Internally ?
Sure
(Rest of the slides has in depth design)
© 2014 Megam Systems
What happens during description of an app
A node is a top level description of a cloud resource (app,
services).
<_>Defns
Canhave
© 2014 Megam Systems
A <_>Defn is a description of a cloud resource by specifying its
constraints and characteristics.
© 2014 Megam Systems
App Defn:
A Web App or mob HTML5
or API Service
Nut Defn
A Group composed of Appn
+
Wrenchn
+ Boltn
Wrench Defn
Composes App Defns (eg:
HA Proxy)
Bolt Defn
Service: Attaches to an App
(eg: DB, Queue
SSL..)
4 types of Defn
© 2014 Megam Systems
Scaling app is easy.
app can be combined with bolt and viceversa.
If more than one app is requested, then you need a wrench to compose them.
||
=
=
+
In this case 2 independent apps will be
created
© 2014 Megam Systems
node =>
➔ Has a type, name, domain
➔ With predef (flavor of framework : java, scala, go, <?>...)
➔ Has required runtime dependencies: scm
➔ Has an exec context
➔ Can have many requests based on req_type
© 2014 Megam Systems
node Has
Sub group
Termed Predef
Sub category
Termed Requests
RoR
Ruby
Go
Erlang
Scala
Play
Java
Riak
PostgreSQL
RabbitMQ
Akka
...
CREATE
NUKE
STOP
NSTOP
NSTART
NRESTART
App
Bolt
Wrench
Nut
© 2014 Megam Systems
Watch our screencast #1
© 2014 Megam Systems
Data structure
Orgs
Users
Cloud
Apps
Products
prod_id
cloud_identity_id
users_id
org_id
api_key
accounts nodes predefs
Predef
clouds
/1(org_id)
/2(org_id)
Cloud Books
Histories
Cloud Statistics
Cloud Books
requests
Dashboards
Widgets
© 2014 Megam Systems
Decomposing● Web App
– nilavu
● API Server
– megam_play
● Cloud Herk
– megam_akka
● Gulp
– gulp
● Cloud Tool
– megam_chef
● Common libs
– megam_common
● Ruby API
– megam_api
● Cloud Real time
– tap
● CLI
– meggy
Web App CLI
API Server
Herk Common libs
Ruby APICloud Real time
Cloud Tool
Mob
Gulp
© 2014 Megam Systems
WebApp
● Ruby on Rails
● Customers will login to https://www.megam.co
●
Create an account
– Generate a a shared api_key.
● Create Apps for free
●
Use default in built cloud settings (EC2).
● Metrics
– Meter and Monitor cloud books
– Off-line/Real time log
● Dash – Built using AngularJS
●
https://github.com/megamsys/nilavu.git
● Status : 0.3 – beta
© 2014 Megam Systems
API Server
● Stateless RESTful API Server
● Functional Programming (Scala), Scalaz 7
● HMAC based Auth.
● Protected resources
● https://api.megam.co
● https://github.com/megamsys/megam_play.git
● Status : 0.1 – beta
© 2014 Megam Systems
Gateway
© 2014 Megam Systems
Command Line(CLI)
● CLI built using mixlib::cli (ruby), follows the
chef cli style.
● Commands
– account
– nodes (CRUD)
– logs
● Status : 0.1 – alpha
● https://github.com/indykish/meggy
© 2014 Megam Systems
Cloud Real-Time Streamer
● Real-time streaming server
● Clustered to the number of cores, restarts itself on
failure.
● Connects to Redis
● Uses express/socket.io
● Stream content based on URL /streams/:id {where
id = a node}
● https://github.com/megamsys/tap.git
● Status : 0.3 beta
© 2014 Megam Systems
Redis
Tap Monitor
Tap Cluster
Tap 0
Tap 1
Tap n
Redis
Tap Cluster
Cluster current If fail over
n based on core
Current If Fail Over
Beaver
Agent
Beaver
Agent
Beaver
Agent
Beaver
Agent
v1/nodes/logs/:id
/node0
User clicks on an
URL
/node1
/noden
(or) requests log
from pug
n1
nn
n2
© 2014 Megam Systems
Cloud Provisioner
● A facade provisioner which calls a cloud
management tool. Supported (Chef11)
● Support for hosted and private chef.
● Instrumented from Herk – Cloud Bridge
● https://github.com/megamsys/megam_chef.git
● Status : 0.3 beta
© 2014 Megam Systems
Cloud ProvisionerJSON
JSON
Validated
Async Future
Init
~/.megam/megam_chef.yaml
{
"systemprovider": {
"provider": {
"prov": "chef"
}
},
"compute": {
"ec2": {
"groups": "megam",
"image": "ami-56e6a404",
"flavor": "m1.small"
},
"access": {
"ssh-key": "megam_ec2",
"identity-file":
"~/.ssh/megam_ec2.pem",
"ssh-user": "ubuntu"
}
},
"chefservice": {
"chef": {
"command": "knife",
"plugin": "ec2 server create",
"run-list": "'role[opendj]'",
"name": "-N TestOverAll"
}
}
}
chef_repo
tested
cookbooks
knife-1
knife-2
knife-n
.
.
.
.
.
.
© 2014 Megam Systems
Herk – Cloud Bridge
● Main Clustered Akka
– Master which manages several slaves of cloud
node
– pubsub to RabbitMQ
● https://github.com/megamsys/megam_akka.git
● Status : 0.3 beta
© 2014 Megam Systems
Gulpd - Native
● Golang based native bridge
– Slave that is responsible to mutate a node
– pubsub to RabbitMQ
● https://github.com/megamsys/gulp.git
● Status : 0.3 beta
© 2014 Megam Systems
Router
Seed#1
Zk
/machines
/instances
/nodes
/pogo
...
vhost 'megam'
/megam_conf
/pogo(node#1)
…
/rogo(node#2)
Seed#2
Clo#1
Clo#2
Master
Worker#1
Master
Worker#2
Request
Dispatcher#1
Request
Dispatcher#3
Request
Dispatcher#2
Slave #1 Slave #3Slave #2
CloudProvisioner
Gulp
#1
Gulp
#1
© 2014 Megam Systems
How to contribute...
Step 1 : Sign our contributor's agreement:
Email: gomegam@megam.co.in
Step 2: We use Github https://github.com/megamsys
Step 3: Setup Dev Environment.
Step 4: Contact : gomegam@megam.co.in for our wishlist or
better yet suggest one.
Step 5. Join our forum
https://groups.google.com/forum/?fromgroups#!forum/megamlive

More Related Content

What's hot

Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud VMware Tanzu
 
Fabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | PresentationFabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | PresentationFabio Ferrari
 
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesVMware Tanzu
 
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019VMware Tanzu
 
Giles sirett welcome and cloud stack news
Giles sirett   welcome and cloud stack newsGiles sirett   welcome and cloud stack news
Giles sirett welcome and cloud stack newsShapeBlue
 
VMware Tanzu Introduction- June 11, 2020
VMware Tanzu Introduction- June 11, 2020VMware Tanzu Introduction- June 11, 2020
VMware Tanzu Introduction- June 11, 2020VMware Tanzu
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real EventsVMware Tanzu
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu
 
Automating cloud security - Jonny Griffin
Automating cloud security - Jonny GriffinAutomating cloud security - Jonny Griffin
Automating cloud security - Jonny GriffinJonnathan Griffin
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...VMware Tanzu
 
Accelerating and Securing your Applications in AWS. In-depth look at Solving ...
Accelerating and Securing your Applications in AWS. In-depth look at Solving ...Accelerating and Securing your Applications in AWS. In-depth look at Solving ...
Accelerating and Securing your Applications in AWS. In-depth look at Solving ...Amazon Web Services
 
Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020VMware Tanzu
 
Microservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMicroservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMaarten Smeets
 
Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020Matt Raible
 
Keynote - Cloudy Vision: How Cloud Integration Complicates Security
Keynote - Cloudy Vision: How Cloud Integration Complicates SecurityKeynote - Cloudy Vision: How Cloud Integration Complicates Security
Keynote - Cloudy Vision: How Cloud Integration Complicates SecurityCloudVillage
 
Connect Your Functions with RSocket
Connect Your Functions with RSocketConnect Your Functions with RSocket
Connect Your Functions with RSocketVMware Tanzu
 
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017Amazon Web Services
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceVMware Tanzu
 
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014Amazon Web Services
 

What's hot (20)

Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud
 
Fabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | PresentationFabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | Presentation
 
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
 
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
 
Giles sirett welcome and cloud stack news
Giles sirett   welcome and cloud stack newsGiles sirett   welcome and cloud stack news
Giles sirett welcome and cloud stack news
 
VMware Tanzu Introduction- June 11, 2020
VMware Tanzu Introduction- June 11, 2020VMware Tanzu Introduction- June 11, 2020
VMware Tanzu Introduction- June 11, 2020
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu Introduction
 
Automating cloud security - Jonny Griffin
Automating cloud security - Jonny GriffinAutomating cloud security - Jonny Griffin
Automating cloud security - Jonny Griffin
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
 
Accelerating and Securing your Applications in AWS. In-depth look at Solving ...
Accelerating and Securing your Applications in AWS. In-depth look at Solving ...Accelerating and Securing your Applications in AWS. In-depth look at Solving ...
Accelerating and Securing your Applications in AWS. In-depth look at Solving ...
 
Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020
 
Microservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMicroservices on Application Container Cloud Service
Microservices on Application Container Cloud Service
 
Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020
 
Keynote - Cloudy Vision: How Cloud Integration Complicates Security
Keynote - Cloudy Vision: How Cloud Integration Complicates SecurityKeynote - Cloudy Vision: How Cloud Integration Complicates Security
Keynote - Cloudy Vision: How Cloud Integration Complicates Security
 
Connect Your Functions with RSocket
Connect Your Functions with RSocketConnect Your Functions with RSocket
Connect Your Functions with RSocket
 
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
 
AWS VPC Fundamentals- Webinar
AWS VPC Fundamentals- WebinarAWS VPC Fundamentals- Webinar
AWS VPC Fundamentals- Webinar
 
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
 

Similar to Open source Cloud Automation Platform

Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Akamai Developers & Admins
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapShay Hassidim
 
The Many Faces of PaaS
The Many Faces of PaaSThe Many Faces of PaaS
The Many Faces of PaaSMike Kavis
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshopShubhra Kar
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the MonolithVMware Tanzu
 
Redefining Perspectives edition 12 and 13 session 2
Redefining Perspectives edition 12 and 13 session 2Redefining Perspectives edition 12 and 13 session 2
Redefining Perspectives edition 12 and 13 session 2sapientindia
 
Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...
Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...
Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...Impetus Technologies
 
Integrating Security into DevOps
Integrating Security into DevOpsIntegrating Security into DevOps
Integrating Security into DevOpsCloudPassage
 
Cloud Foundry a Developer's Perspective
Cloud Foundry a Developer's PerspectiveCloud Foundry a Developer's Perspective
Cloud Foundry a Developer's PerspectiveDave McCrory
 
App-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai EasyApp-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai EasyAkamai Developers & Admins
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Amazon Web Services
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Amazon Web Services
 
Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Young Suk Ahn Park
 
JNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution ServerJNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution ServerBryson Tyrrell
 
2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublinAlex Heneveld
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudVelocidex Enterprises
 

Similar to Open source Cloud Automation Platform (20)

Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 Xap
 
The Many Faces of PaaS
The Many Faces of PaaSThe Many Faces of PaaS
The Many Faces of PaaS
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshop
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
 
Redefining Perspectives edition 12 and 13 session 2
Redefining Perspectives edition 12 and 13 session 2Redefining Perspectives edition 12 and 13 session 2
Redefining Perspectives edition 12 and 13 session 2
 
Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...
Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...
Real-time Streaming Analytics for Enterprises based on Apache Storm - Impetus...
 
Integrating Security into DevOps
Integrating Security into DevOpsIntegrating Security into DevOps
Integrating Security into DevOps
 
Cloud Foundry a Developer's Perspective
Cloud Foundry a Developer's PerspectiveCloud Foundry a Developer's Perspective
Cloud Foundry a Developer's Perspective
 
App-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai EasyApp-solute Testing: Making App Testing with Akamai Easy
App-solute Testing: Making App Testing with Akamai Easy
 
The rise of microservices
The rise of microservicesThe rise of microservices
The rise of microservices
 
Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
 
Docker Orchestrators
Docker OrchestratorsDocker Orchestrators
Docker Orchestrators
 
Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)
 
JNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution ServerJNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution Server
 
2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
 

Recently uploaded

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Open source Cloud Automation Platform

  • 1. http://www.gomegam.com Megam : Under the Hood From IaaS to PaaS ? Are you ready ?
  • 2. © 2014 Megam Systems Why PaaS ? What Are My Options ? How You Can Build One. Architecture/Know How of Megam Our Working Prototype – Screencast #1
  • 3. © 2014 Megam Systems Why PaaS Business needs agility with faster time to market Cycle time to build apps can be shortened ? Cloud Apps on Hybrid cloud Apps on single cloud are fragile Businesses need 24 x 7 uptime Hybrid Scaling, DR of Cloud Apps is a pain
  • 4. © 2014 Megam Systems Enterprise IT Migration cycle SaaS PaaS IaaS Rehost Refactor Revise Rebuild Replace
  • 5. © 2014 Megam Systems The market will experience consistent growth with worldwide PaaS revenue totaling 1.5 billion in 2013, and growing to $2.9 billion in 2016 The SaaS-based cloud market will grow from $12.1B in 2013 to $21.3B in 2015, with the primary growth factors being ease of customization and speed of deployment. Gartner
  • 6. © 2014 Megam Systems What Are My Options ?
  • 7. © 2014 Megam Systems Megam
  • 8. © 2014 Megam Systems Megam - Features ➔ Write Once, Run on Any Cloud. ➔ Apps Marketplace – Easy to consume canned apps. ➔ Cloud in a box for Bare metal ➔ Log Analytics, Server/Application Monitoring ➔ For more info: visit http://www.gomegam.com Target Market Data centers, Enterprise, SMBs, DR vendors, SCM vendors, Developers, Training, Software makers
  • 9. © 2014 Megam Systems Definition driven architecture ➔ describe dependencies to move to cloud.
  • 10. © 2014 Megam Systems What to describe ? Describe the VM which stands up an App/DB (or) Scaling, Loadbalancing, DR
  • 11. © 2014 Megam Systems For simplicity assume a Ruby on Rails App
  • 12. © 2014 Megam Systems We need a Medium to describe ➔ WebApp, CLI, Mob
  • 13. © 2014 Megam Systems In the Medium We describe a Cloud named sandbox_default
  • 14. © 2014 Megam Systems We created a cloud named sandy_default Let us use it
  • 15. © 2014 Megam Systems In the Medium we describe a app by choosing a framework
  • 16. © 2014 Megam Systems To stand that app in cloud : sandbox_default
  • 17. © 2014 Megam Systems You Can Watch Logs real time/ off-line
  • 18. © 2014 Megam Systems Manage from a Dashboard
  • 19. © 2014 Megam Systems Enough of Talking Show me the Use case
  • 20. © 2014 Megam Systems On board www.megam.co Start Create App Choose Java App Point Git or WAR Choose Cloud Launch App Select Logs Watch Real-time Log Select Monitor App Monitor/ Watch App Metric ..API Server Herk
  • 21. © 2014 Megam Systems What more can I do ? Contact Us : gomegam@megam.co.in Phone: +613-834-4518 Guide: http://www.gomegam.com/docs Open source Apache V2.
  • 22. © 2014 Megam Systems What happens Internally ? Sure (Rest of the slides has in depth design)
  • 23. © 2014 Megam Systems What happens during description of an app A node is a top level description of a cloud resource (app, services). <_>Defns Canhave
  • 24. © 2014 Megam Systems A <_>Defn is a description of a cloud resource by specifying its constraints and characteristics.
  • 25. © 2014 Megam Systems App Defn: A Web App or mob HTML5 or API Service Nut Defn A Group composed of Appn + Wrenchn + Boltn Wrench Defn Composes App Defns (eg: HA Proxy) Bolt Defn Service: Attaches to an App (eg: DB, Queue SSL..) 4 types of Defn
  • 26. © 2014 Megam Systems Scaling app is easy. app can be combined with bolt and viceversa. If more than one app is requested, then you need a wrench to compose them. || = = + In this case 2 independent apps will be created
  • 27. © 2014 Megam Systems node => ➔ Has a type, name, domain ➔ With predef (flavor of framework : java, scala, go, <?>...) ➔ Has required runtime dependencies: scm ➔ Has an exec context ➔ Can have many requests based on req_type
  • 28. © 2014 Megam Systems node Has Sub group Termed Predef Sub category Termed Requests RoR Ruby Go Erlang Scala Play Java Riak PostgreSQL RabbitMQ Akka ... CREATE NUKE STOP NSTOP NSTART NRESTART App Bolt Wrench Nut
  • 29. © 2014 Megam Systems Watch our screencast #1
  • 30. © 2014 Megam Systems Data structure Orgs Users Cloud Apps Products prod_id cloud_identity_id users_id org_id api_key accounts nodes predefs Predef clouds /1(org_id) /2(org_id) Cloud Books Histories Cloud Statistics Cloud Books requests Dashboards Widgets
  • 31. © 2014 Megam Systems Decomposing● Web App – nilavu ● API Server – megam_play ● Cloud Herk – megam_akka ● Gulp – gulp ● Cloud Tool – megam_chef ● Common libs – megam_common ● Ruby API – megam_api ● Cloud Real time – tap ● CLI – meggy Web App CLI API Server Herk Common libs Ruby APICloud Real time Cloud Tool Mob Gulp
  • 32. © 2014 Megam Systems WebApp ● Ruby on Rails ● Customers will login to https://www.megam.co ● Create an account – Generate a a shared api_key. ● Create Apps for free ● Use default in built cloud settings (EC2). ● Metrics – Meter and Monitor cloud books – Off-line/Real time log ● Dash – Built using AngularJS ● https://github.com/megamsys/nilavu.git ● Status : 0.3 – beta
  • 33. © 2014 Megam Systems API Server ● Stateless RESTful API Server ● Functional Programming (Scala), Scalaz 7 ● HMAC based Auth. ● Protected resources ● https://api.megam.co ● https://github.com/megamsys/megam_play.git ● Status : 0.1 – beta
  • 34. © 2014 Megam Systems Gateway
  • 35. © 2014 Megam Systems Command Line(CLI) ● CLI built using mixlib::cli (ruby), follows the chef cli style. ● Commands – account – nodes (CRUD) – logs ● Status : 0.1 – alpha ● https://github.com/indykish/meggy
  • 36. © 2014 Megam Systems Cloud Real-Time Streamer ● Real-time streaming server ● Clustered to the number of cores, restarts itself on failure. ● Connects to Redis ● Uses express/socket.io ● Stream content based on URL /streams/:id {where id = a node} ● https://github.com/megamsys/tap.git ● Status : 0.3 beta
  • 37. © 2014 Megam Systems Redis Tap Monitor Tap Cluster Tap 0 Tap 1 Tap n Redis Tap Cluster Cluster current If fail over n based on core Current If Fail Over Beaver Agent Beaver Agent Beaver Agent Beaver Agent v1/nodes/logs/:id /node0 User clicks on an URL /node1 /noden (or) requests log from pug n1 nn n2
  • 38. © 2014 Megam Systems Cloud Provisioner ● A facade provisioner which calls a cloud management tool. Supported (Chef11) ● Support for hosted and private chef. ● Instrumented from Herk – Cloud Bridge ● https://github.com/megamsys/megam_chef.git ● Status : 0.3 beta
  • 39. © 2014 Megam Systems Cloud ProvisionerJSON JSON Validated Async Future Init ~/.megam/megam_chef.yaml { "systemprovider": { "provider": { "prov": "chef" } }, "compute": { "ec2": { "groups": "megam", "image": "ami-56e6a404", "flavor": "m1.small" }, "access": { "ssh-key": "megam_ec2", "identity-file": "~/.ssh/megam_ec2.pem", "ssh-user": "ubuntu" } }, "chefservice": { "chef": { "command": "knife", "plugin": "ec2 server create", "run-list": "'role[opendj]'", "name": "-N TestOverAll" } } } chef_repo tested cookbooks knife-1 knife-2 knife-n . . . . . .
  • 40. © 2014 Megam Systems Herk – Cloud Bridge ● Main Clustered Akka – Master which manages several slaves of cloud node – pubsub to RabbitMQ ● https://github.com/megamsys/megam_akka.git ● Status : 0.3 beta
  • 41. © 2014 Megam Systems Gulpd - Native ● Golang based native bridge – Slave that is responsible to mutate a node – pubsub to RabbitMQ ● https://github.com/megamsys/gulp.git ● Status : 0.3 beta
  • 42. © 2014 Megam Systems Router Seed#1 Zk /machines /instances /nodes /pogo ... vhost 'megam' /megam_conf /pogo(node#1) … /rogo(node#2) Seed#2 Clo#1 Clo#2 Master Worker#1 Master Worker#2 Request Dispatcher#1 Request Dispatcher#3 Request Dispatcher#2 Slave #1 Slave #3Slave #2 CloudProvisioner Gulp #1 Gulp #1
  • 43. © 2014 Megam Systems How to contribute... Step 1 : Sign our contributor's agreement: Email: gomegam@megam.co.in Step 2: We use Github https://github.com/megamsys Step 3: Setup Dev Environment. Step 4: Contact : gomegam@megam.co.in for our wishlist or better yet suggest one. Step 5. Join our forum https://groups.google.com/forum/?fromgroups#!forum/megamlive