Clearing up misconceptions about amazon(EC2) and rackspace [closed] - amazon-ec2

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm friends with an owner of a small creative business (with multiple departments) and until now they have been using a dedicated server (via a 3rd party) for a lot of internal projects and they've been known to iframe a few small dev projects (like photo galleries, one page sites etc...) off and on for some of their clients (some with hi traffic sites).
They're looking to switch from the dedicated server to a cloud environment. The owner is enamored with amazon's cloud services, but still wanted some alternative options they also want the new environment to mirror the current one as much as possible (linux/centOS, PHP 5.3, mysql databases) but with the ability to scale when desired.
So the misconceptions I need cleared up and questions I have are:
1) I always assumed amazon's cloud service was more suitable for high end high traffic complex web application (Netflix, pinterest, instagram etc...) rather than the typical server use listed above. Is this correct?
2) Is it possible to mirror their current setup on amazon?
3) If number 1 is not true, but they instead chose rackspace, could they run heavy web apps like Netflix, pinterest, instagram on a rackspace cloud server if they ever decided to do something that advanced (is rackspace scaleable in the same way ec2 is)?

1) Amazon AWS is also suitable for this environment, or even smaller ones (they offer instances as small as "Micro", which are far less capable than what you are describing all the way up to GPU compute clusters).
2) Yes. That is a very common setup for an AWS-based solution. In fact, I recently migrated something similar from Rackspace to AWS.
3) #1 is true. However, you can certainly mix what runs on Rackspace and in the AWS cloud. Keep in mind latency and security issues if the two component solutions need to communicate with each other. Rackspace also has a cloud offering, but it is not as mature as Amazons.

Related

Migrate from monolith to Micro service architecture [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 3 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Improve this question
We are on the initial stages of designing a micro service for my client from their standard monolith app that is sitting on 4 JBOSS servers in their own data center. Is micro service architecture target at only cloud based deployment? Can i deploy a micro service on premise production ready tomcat /JBOSS? Is that a good fit?
Sure you can.
Microservice architecture is a concept of having many small interracting components, where each of them performing well defined part of work, but good.
It's extention of the Linux way and the concept of decoupling components.
In your case you can split your service to several smaller services. Each one with own development and deployment cycles, each one with well defined API.
Is micro service architecture target at only cloud based deployment?
no it's is an architecture for application development. basic idea of micro services is separate complex application function to small functions to reduce complexity and get high performance.
there are few reasons you need to consider before moving micro services.
1.scale of you application.
if your application contain high number of complex functions its better go with micro services. and separate them and deploy separate, then easy to do changes and maintains.
2.performance of application
if some application function need high computing power. you can allocate separate hardware resources. if you implement it as micro services.
3.deploy and maintain
if you use micro services you can deploy and maintain service separate without effect other services.
4.data migration
if your databases contain high data table relation it will little bit difficult remove for function databases(each micro services need each DB) so as a first step keep DB as monolithic and separate function to services. then start to reactor DB
5.call each services
fronted end application keep clean and logic free. and wrap your micro services using API gate way and publish all the services as one service.
6.application security
each and every services running in separate no need to session tracking use JWT (oAuth2) API security.
7.multiple services & transnational
if you need to handle one business function but with more than one service you need to check each and every services function work correctly**(ex db operations ,rollbacks)** so need to developed transnational handler
implementing micro services
there is no specific technology stack for it but there are free more technology available
ex :
java spring boot for micro services (with inbuilt tom cat server )
zuul , eureka for API gate way
oAuth 2 and JWT for security
*Note
there is not fix way to implementation for micro services , use correct technology stack to get performance and implement small business function. and doesn't matter hosting in cloud or local servers.
strong text
There is definitely no limitations whether you deploy your microservices on local, physical servers or in the cloud. Both approaches are valid, but they impose different advantages and disadvantages.
With local/physical servers, you will have:
bigger operations overhead (it is better you have good DevOps in your team)
manual scaling (when you experience bigger traffic, you need to manually fire up new instances, or use some management tool for this)
manual fault detection - if a server goes down (this depends on your/company's server enviorenment) someone will need to fix this "manually"
it is cheaper (a friend is buying old server instances on Amazon and running their semi-microservice architecture on them, he calculated they achieve quite big savings this way)
With cloud infrastructure, you get some of the below advantages (in contrary to above disadvantages):
less operations overhead (the cloud will take care of most of operations)
flexible scaling (when your traffic goes up, cloud can automatically fire up new instances, when it goes down, it will shutdown instances)
error/fault handling - if there occurs a problem in the cloud, you do not need to worry
I did not mention all the advantages and disadvantages of given approaches, as it also depends on the project (will it receive different traffic on different times of day, does it need to keep data locally or can it be in a foreign country in a cloud, ...).

Will it be fast if I use amazon web services for India? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
My portal will be mainly accessed in India and it involves uploading/viewing of images which means good data transfer will be involved.
If I host my portal on servers located in India; surely it will be faster to access the pages. But I want to personally use Amazon web services. Do we have option in Amazon so that we can host our tomcat server and save images on some servers located in India ; or at max. in Singapore so that access is fairly faster.
Amazon Web Services offers several AWS datacenter Regions for most of their Products & Services within their steadily expanding global infrastructure, amongst those the Asia Pacific (Singapore) Region (usually referred to as ap-southeast-1).
Furthermore they do offer even more so called edge locations for Amazon CloudFront, which is their Content delivery network (CDN) alike web service for content delivery.
You can see an overview of the current regions and edge locations on their Global Infrastructure map.
There is an API oriented Regions and Endpoints listing as well, see e.g. those for the Amazon Elastic Compute Cloud (EC2) (please note that not every region does necessarily support every single available product, especially beta offerings are usually available in us-east-1 only initially).
Consequently you should be fine using ap-southeast-1 for your use case, though as usual you might want to give it a try before settling on this, which is fairly easy to do by means of the AWS Free Usage Tier offering.

Amazon version of Rackspace's cloud sites? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I was wondering if any of you know an Amazon version of cloud sites from rackspace. I know they have services similar to cloud servers and files but not this?
Basically, I'm looking for a scalable web server managed by them, *** but (this is what cloud sites can't do) I want to still be able to do things in the backend and install other apps etc.. (like my own server)?
thanks
Amazon does not offer any managed hosting services. What they provide is infrastructure-as-a-service, the barebones level services for building on top of. They offer no management services. This stuff is meant for low level developers / system administrators to build the higher level systems on, not your average web hosting customer.
Amazon's new Elastic Beanstalk offers something closer to Rackspace Cloud Sites, but is currently limited to Java sites.
I have a new Platform as a Service (SaaS) in the works to offer multiple languages/frameworks on top of AWS to the general public. Check it out...
http://www.mojoengine.com

what is grid hosting [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I went to GoDaddy.com for hosting. They have menus like
1)website hosting
2)grid hosting
what is the difference between the two. I am new to this hosting and webapps stuff..
Grid hosting usually means that the web space you rent is not located on one (potentially shared) machine, but is more like a "virtual machine" (think VMware) which is hosted on a cluster of servers (a grid).
While resources on a single machine are limited and might run out, especially if it's a shared host and you have to share your resources (memory, bandwidth) with potentially hundreds or thousands of other users who are hosted on the same machine as you, grid hosting is more flexible, as your virtual website could leverage resources from more machines in the cluster if necessary. This of course also increases reliability of the website, as the failure of one grid node doesn't matter, another server takes over, while the failure of your dedicated or shared host takes your website offline.
I would assume that they refer to the single machine as "website hosting".
Update
GoDaddy has an FAQ about their grid hosting, which should answer all additional questions you might have.
A reply from Godaddy Support:
Please be advised while there is unlimited compute cycles for site server and not for database.
From wikipedia: Grid Computing | Cloud Computing. I haven't seen 'grid hosting' as a common phrase, but it could be taken to mean using one of the earlier two concepts to host a website in a scalable manner.
However, if godaddy is offering 'grid hosting' I suspect they're offering to grid computing to you in such a way that has nothing to do with hosting a website. They're offering to sell you large amounts of processor power with low communication requirements, as opposed to selling you web hosting which is typically high communication requirements with low processing requirements (relative to one another of course)
Grid computing is a collection of computing resources from multiple locations to reach in a common location. Grid is also called distributed system.it is similar to a VPS but generally has more storage then VPS Servers.
Grid Hosting is a form of distributed hosting is when a server cluster acts like a grid and is composed of multiple nodes.
Currently, various hosting service types are available..you can find details for them from here..
From above these, you can select your desired hosting provider and type.

Hosting, deploying and running web applications in the cloud [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
So far I've read some blog articles about cloud computing and services for hosting applications in the grid.
If I'd wanted to have a web application running in the cloud for as little cost as possible, what would be the best solution?
Let's assume the following configuration:
J2EE web application
Any free database (MySQL, PostgreSQL)
Any web container to deploy the web application to
What application stack would you suggest to be the best combination of services to
host
deploy
run
web applications?
As an additional requirement, the services chosen shouldn't require a lot about server management like firewall settings etc.
This space is changing very quickly right now so I think you will find a lot of different good answers. If I where to do something on the cheap right now I would probably pick the following stack:
Web server: apache
App server: tomcat - use the clustering support if you need to grow or split at the apache level or even introduce a load balancer box at the very front
DB server: MySql - mainly because it is easy to cluster
Platform: scalr - The cloud setup is simple and cheap. It uses Amazon's cloud on the backend and that gets you a lot of extras like putting servers in different datacenters for redundancy.
Now you can add in or remove parts of this. You may not need a web tier out there and can just expose tomcat directly. You may need EJBs and in that case you can just fire up more nodes for that and create another tier. You may want to add a tier for load balancing in front of apache. You may want to use the Amazon cloudfront service to push static files to their edge network.
I have investigated Amazon's ec2 solution recently. It is quite good and there are many pre-built boxes that you can use if you find one that suits your need. I think there will still be some server management involved...you cannot get away from that. But the pre built boxes will make it easier.
The cost is reasonable as you only pay for what you use.
[EDIT] The pre-built boxes are called Amazon Machine Images (AMIs).
I think you can get no where closer to Jelastic. It has all the stuffs that #carson mentioned. Specially I will mention their unique web console and they do not have any dependency for any API or console to be installed. I use their platform for many of the clients for my startup. Also additionally you get a nginx support for load balancing and configuring it right away from the console.

Resources