Chinese Internet vigorous development for more than ten years, we see the world's largest Internet user, saw hundreds of Internet companies to do small business web giant listed on nasdaq, has seen countless Internet related start-ups bamboo burst, like a piece of sunrise scene.Opened the home page of each big tech, almost all hold title also is "big data", "start-up" and "rapid growth" word.
However, many problems behind these keywords also arises at the historic moment.When big data speed coming towards us, manual type to analytical processing is too unrealistic;Start-up, early staffing nervous, also does not have redundant technology and manpower to solve site maintenance problems;Server traffic scale high labor costs rise, to speed up, the enterprise has put forward high quality low price fast iteration of the devil, bad programmers.Combine all of these, that is why we are trying to find a automation operations as excellent solutions for the most direct cause.
From the point of operation to achieve the purpose of automated operations, enabling the conversation in the AWS can be realized through the following aspects: automated deployment, automatically the architecture service platform (Chef), and automatic monitoring (CloudWatch, Auto Scaling and other technical services).
Generally have this a few applications in the AWS environment management services can use, operation application ease by the shallow and deep, respectively is: Elastic Beanstalk < < Cloudformation OpsWorks < build a script.
Elastic Beanstalk is in PHP, Java, Docker, Node. Js, Python environment hosting container to deploy, manage, Web applications and services, only need to upload code, you can automatically from capacity preconfigured, automatic load balancing, extend to the deployment of applications running status monitoring.The architecture diagram below.
AWS OpsWorks is an application management service, easy deployment and
operational applications of different shape and size.Function is based on the time or the load application automation extension, and extension and change as the environment of dynamic configuration.The architecture diagram below.
CloudForamtion, is to use the AWS sample template or create a template, and to introduce the AWS resources and any relevant application runtime dependencies or run-time parameters.You don't need to make clear preconfigured AWS service order or to perform the subtleties of these dependencies work.CloudFormation will properly handle for you.After the deployment of AWS resources, you can use controllable and predictable ways to modify and update these resources.As shown in the figure below.
Chef is a good thing, that is to say, when you after the server, automatic generation Chef will help you automatically put your architecture, and can be used as version control, but open source sharing.
Chef's three large pieces of architecture as shown in the figure below, divided into the Chef Server, Nodes and WorkStation, they work, through the WorkStation resources or uploaded to the Chef - Server command, through Chef - Server Nodes automatically get their own execution to the local task execution, so, still can even polished rod commander at the head of the hammering.
Chef chef - server - client mode/chef - solo mode two kinds big.
Combined with VPC + Auto scaling the architecture of the like this
In the development process, we have the opportunity to think in the configuration of
local simulation AWS, then can use the Chef on the vagrant package the same set of
cookbook, such as this.
AWS Auto Scaling service with Chef conversation is I think the best tools industry, its maximum defines the operation mode of the industry, including the hour fee, information distribution, information diversity, etc., and has the industry's leading cloud computing technology, so that most of the new cloud computing services are on the market with AWS service model reference to like.The Chef is a configuration management system (configuration management systems), is in itself of AWS internal to configure resource tool, through the implementation of Ruby code, the application configuration required to establish and maintain its performance and function, maintain the stability and consistency.
AWS Auto Scaling in use process, CloudWatch provide the required performance data, complete the expansion service.Every five minutes, CloudWatch are from the server and other AWS resources, free to collect performance statistics, including CPU utilization, disk usage and data transmission, etc.Start an additional virtual instance, a new instance first through Cloudformation first install the required basic procedures and encapsulation, to become the Auto Scaling in architecture Chef Client, and then to the Chef server to obtain the new instance should be an instance of the role needs to execute script, installation of encapsulation, think that each specific encapsulation relative to the application and system resources needed to perform the configuration.